OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序
OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制节点的安装
OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(二)——网络节点的安装
OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
OpenStack接触半年有余了,现在 I 版也要马上发布了,现在也是时候要好好写一下 Havana 的安装、部署过程了。首先,还是向Awy同学致敬,当时正是参考他的H版部署博文,并综合了OpenStack的Ubuntu官方部署文档,终于完成了OpenStack多节点的部署(OVS+GRE)。要知道刚入门时,图简单,一直用Devstack来安装,由于git源、pipy的源、以及ubuntu的软件源没有配好,导致一直没装成功(现在改了一下脚本和localrc文件以及源,可以做测试用)。后来又试了什么Onestack,以及其他人写的一些手动部署的文章,但都因为版本差异太大,和一些没有及时纠正的错误,最终还是以失败告终。直到最后,认真看了官方文档以后,才慢慢有了起色,所以还是贤哥说得对啊,学好英文,才能随时拿得到第一手的技术精品资料啊!
现在先引用awy的原文:Ubuntu 12.04 Server OpenStack Havana多节点(OVS+GRE)安装
老实说,当时看这篇博文还是有不少小错误,比如:keystone的创建脚本有些小问题,变量名前后不一致,例如ceilometer的服务ip变量应为CEILOMETER_IP,而不是CEILOMETER;创建数据库的时候,每个库都有所对应的用户名和密码,而后面的配置文件里头没有与之对应;同样配置文件里头的,对应keystone服务的password也没有与keystone创建时的对应;计算节点部署neutron的时候,忘了创建br-int的网桥········
可能,这些是有意预留下来“坑”,如果没有认真对比OpenStack的官方文档来看,完全依葫芦画瓢,没有注意到这些细节,照样还是不能配成功。作为“过来人”,我就不在这里预设“包袱”,尽量把这些坑一一排除吧。接下来,分三篇博文的内容,大部分引用Awy同学的OVS+GRE的部署方案,安装Nova 、Glance、Keystone、Neutron、Cinder、Horizon、Ceilometer服务,来完成这次简单多节点部署。
部署前须知:
1.确定你的系统是ubuntu 12.04 LTS版本,目前的我部署的环境为ubuntu server 12.04.3/Linux 3.8.0-36-generic
2.替换源为163的源,同时也要加入ubuntu官方的Havana的源,使用 add-apt-repository cloud-archive:havana 添加之
3.各个节点之间一定要使用ntp来同步时间,时区最好设置成一样,免得出现服务“假死”
网络服务架构:

OVS+GRE的网络流:

实际的网络配置:
由于没有太多可用的物理机,于是在一块刀片上(真的是高性能),通过libvirt起三个KVM的虚拟机,来做为要部署的场景。注意:KVM虚拟机里面再起虚拟机,只能指定QEMU来完成,所以OpenStack计算节点的配置的虚拟化类型应为qemu!同时需要配置三个网段:外网,管理网,数据网,虽然libvirt里面的xml增加虚拟网卡很简单,但是这里,还是使用eth0:1,eth0:2这样的网络别名设备,在一个网卡上配置多个IP,来完成多个网段的配置,在实际的物理主机中同样可以。总之,实际网络部署就是,这三个节点虽然有不同的网段,但终究只连了一个“交换机”(如果要在libvirt的虚拟环境中不同网段连接不同的“交换机”,实现二层的隔离,即将其连接不同的网桥即可)。因为每个节点都要apt-get来从源中下载包来安装,所以实际上,每个节点都部署了外网IP。
| 节点 | 外网IP | 内网IP | 数据网IP |
| 控制节点(Controller) | 192.168.122.2 | 10.10.10.2 | —— |
| 网络节点(Network) | 192.168.122.3 | 10.10.10.3 | 10.20.20.3 |
| 计算节点(Computer) | 192.168.122.4 | 10.10.10.4 | 10.20.20.4 |
同时可以参考一下,用作控制节点的KVM虚拟机的libvirt xml(其他节点也都一样):
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit win7
or other application using the libvirt API.
--> <domain type='kvm'>
<name>controller</name>
<memory>4096000</memory>
<vcpu>4</vcpu>
<!--cpu>
<topology sockets='1' cores='24' threads='24'/>
</cpu-->
<!--cpu mode='host-model'>
<model fallback='allow'/>
<topology sockets='1' cores='24' threads='1'/>
</cpu-->
<!--hostdev>
<rom bar='on' file='/usr/share/kvm/pxe-rtl8139.rom'/>
</hostdev-->
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<!--boot dev='network'/-->
<boot dev='hd'/>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/home/fbw/Good-OpenStack/controller.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/home/fbw/Good-OpenStack/cinder.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/fbw/ubuntu-12.04.3-server-amd64.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
</disk>
<interface type='network'>
<mac address='52:54:00:32:71:12'/>
<source network='default'/>
<!--virtualport type='openvswitch'>
</virtualport-->
<model type='virtio'/>
</interface>
<!--serial type='pty'>
<target port='0'/>
</serial-->
<!--console type='pty'>
<target type='serial' port='0'/>
</console-->
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<!--graphics type='spice' autoport='yes' listen='0.0.0.0'>
</graphics-->
<graphics type='vnc' autoport='yes' listen='0.0.0.0'>
</graphics>
<!--channel type='pty'>
<target type='virtio' name='virtio-serial-port-0'/>
<address type='virtio-serial' controller='1' bus='0' port='1'/>
</channel-->
<sound model='ich6'>
<!--address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/-->
</sound>
<video>
<!--model type='qxl' vram='65536' heads='1'/-->
<!--address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/-->
</video>
<memballoon model='virtio'>
<!--address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/-->
</memballoon>
<!--controller type='usb' index='0' model='ich9-ehci1'>
</controller>
<controller type='usb' index='0' model='ich9-uhci1' multifunction='on'>
<master startport='0'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci2'>
<master startport='2'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci3'>
<master startport='4'/>
</controller-->
<!--redirdev bus='usb' type='spicevmc'>
</redirdev>
<redirdev bus='usb' type='spicevmc'>
</redirdev>
<redirdev bus='usb' type='spicevmc'>
</redirdev>
<redirdev bus='usb' type='spicevmc'>
</redirdev-->
</devices>
<!--qemu:commandline>
<qemu:arg value='-bios'/>
<qemu:arg value='/usr/share/qemu-kvm/pxe-rtl8139.rom'/>
</qemu:commandline>
<qemu:commandline>
<qemu:arg value='-option-rom'/>
<qemu:arg value='/usr/share/qemu-kvm/sgabios.bin'/>
</qemu:commandline-->
</domain>
OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序的更多相关文章
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(二)——网络节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 网络节点: 1.安装前更新系统 安装好ubuntu 12.04 Server 64bits后,进 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 控制节点: 1.准备Ubuntu 安装好Ubuntu12.04 server 64bits后 ...
- Ubuntu 12.04 Server OpenStack Havana多节点(OVS+GRE)安装
1.需求 节点角色 NICs 控制节点 eth0(10.10.10.51)eth1(192.168.100.51) 网络节点 eth0(10.10.10.52)eth1(10.20.20.52)eth ...
- dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法
dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法 grub 启动菜单后加入 rootdelay=90, 如下:/boot/vmlinuz-2.6.3 ...
- windows7环境下 硬盘安装ubuntu 12.04 server版
之前一直用windows7环境下的虚拟机装的操作系统,但有时候在切换系统时老是死机,还是装一个硬盘版的ubuntu 12.04 server吧 先说一下本人的环境吧:windows 7 32位专业版+ ...
- 安装Redmine 2.3.0(Ubuntu 12.04 Server)
怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ 安装Redmine 2.3.0(Ubuntu 12.04 Server) 翻译源\参考源 ...
- u盘安装ubuntu 12.04 server问题解决
问题: 使用UltraISO 9.5.3制作U盘启动盘,ISO文件使用ubuntu-12.04.2-server-i386.iso,ISO文件经过MD5验证是正确的. 将U盘查到计算机上,进bios选 ...
- Ubuntu 12.04 server 如何安装 OpenERP 7(转)
不经意的一次看到OpenERP这个开源ERP,就被其丰富的功能,简洁的画面,熟悉的语言所吸引.迫不及待的多方查询资料,自己架设一个测试环境来进行了解.以下为测试安装时候的步骤说明,以备查询,并供有需要 ...
随机推荐
- oracle的学习 第二节:创建数据表
学习内容: A.创建数据库和表空间 B.创建用户和分配权限 C.创建数据表 一.创建数据库和表空间 (一)SQL语言的基本概念 1.概念 高级的结构化查询语言:沟通数据库服务器和客户的重要桥梁. PL ...
- 判断ios是app第一次启动
首次运行的应用程序加入一些help 或者 宣传动画 现在变的很重要了. 一个有用的例子是发送一个分析实例.这可能是一个很好的方法来确定有多少人下载实用应用程序.有人会说:“但是,嘿,苹果AppStor ...
- UIScrollView -2(UIScrollView 与 UIPageControl的使用): 分页查看图片
1.初始化UIScrollView 2.设置初始化出来的UIScrollView的contentSize: myscrollview.contentSize =CGSizeMake(CGRectGet ...
- Objective-C发展历史
Objective-C发展历史 苹果图标由来: 被咬了一口苹果的LOGO是为了纪念计算机科学的创始人阿兰· 麦席森· 图灵.当年图灵由于身为同性恋者,被强行 "治疗",在被迫注射大 ...
- [Introduction to programming in Java 笔记] 1.3.8 Gambler's ruin simulation 赌徒破产模拟
赌徒赢得机会有多大? public class Gambler { public static void main(String[] args) { // Run T experiments that ...
- c、c++混编实现查询本地IP地址
一.思路 1.要想得到本地IP地址,可以通过本机名来查询,所以首先得得到本机名. 2.牵涉到IP地址,首先想到牵涉到网络协议,因此得加载套接字协议,所以先使用WSAStartup函数完成对Winsoc ...
- LINUX 添加定时任务
LINUX 添加定时任务 crontab - l按 i:x 先按 esc然后 敲入 命令 :x*/5 3 * * 0 /root/ v.sh ..重启服务 service crond restart
- 算法专题训练 搜索a-T3 Ni骑士(ni)
搞了半天八数码弄不出来就只好来打题解 这道题是在搜索a碰到的(链接: http://pan.baidu.com/s/1jG9rQsQ ) 感觉题目最大亮点就是这英文简写"ni", ...
- Javascript 中 call 的两种用法
用法一(常见用法): 表现形式为:一个对象.方法.call(另一个对象),意义是用另一个对象代替当前对象,执行当前对象的方法.先看示例: function Class1(){ this.name = ...
- php截取字符串,无乱码
今天面试,有一道题,要求截取中文字符无乱码. 当时因为要赶去另一家去面试,没有仔细分析. 虽然现在供职的这家公司b2c项目正在用,因为当时赶项目,是网上拿来直接用的. 回来以后再重新整理了一下. 代码 ...