当时因为Quantum 还有很多BUG 网络服务仍使用nova-network
整体规划
各个主机都要有不同的主机名,openstack使用hostname区别内部的各个主机。
三台主机:
control.test.com 控制节点
compute-01.test.com 计算节点
compute-02.test.com 计算节点
主机ip地址:
Control.test.com:
eth0: 192.168.3.164 /24(公网) eht1: 192.168.4.164/24(私网)
compute-01.test.com:
eth0: 192.168.3.165/24(公网) eth1: 192.168.4.165/24(私网)
compute-02.test.com:
eth0: 192.168.3.166/24(公网) eth1: 192.168.4.166/24(私网)
………….
计算节点 保留eth1网口给虚拟机用
其中 192.168.3.0/24 作为物理机IP段(可认为是公网IP,)
192.168. 4.0/24 作为物理机服务之间的通讯
192.168.3.168---192.168.3.190 作为虚拟机 Floating_ip 段(分配给虚拟机,从外部可以直接访问的,可以认为是公网IP地址)
虚拟机网段规划:
本次采用的是vlan模式,并且是多nova-network服务模式
虚拟机内整体网段:
10.100.0.0/24 , 再在此段上划分出vlan段
划分的三个vlan段:
10.100.0.0/24 vlan_id 2
虚拟机迁移:
配置nfs ,来做迁移
由于程序中会对共享目录中的uid进行操作,所以需要nfs server 和client端的uid是一致的,至少必须不同主机之间nova用户的uid是一致的,libvirt-bin用户也要一致
所以用存储服务器(192.168.3.166) 作为nfs server
别的计算节点 作为 client端
两个计算节点之间测试迁移
虚拟机挂载额外磁盘:
openstack使用LVM来划分磁盘,利用tgt + open_iscsi来实现局域网内磁盘设备的利用
现在我们提供磁盘的主机是存储服务器(192.168.3.166),同时也是一个nfs server节点。
当要给虚拟机划分磁盘时,首先利用lvm在Ubuntu2划分指定大小的一块磁盘,然后利用tgt 服务,把磁盘声明出去,运行目标虚拟机的物理主机会去找到这个盘,并登陆使用,分配给其上的虚拟机使用。
源
目前Folsom进入ubuntu 12.04的官方的源,不过需要你手工添加。
cat <<EOF>>/etc/apt/sources.list
deb precise-proposed/folsom main
deb precise-updates/folsom main
EOF
运行下面命令
apt-get install ubuntu-cloud-keyring
apt-get update
Hostname设置
cat /etc/hostname
control
cat /etc/hosts
127.0.0.1 localhost
192.168.4.165 compute-01.test.com compute-01
192.168.4.166 compute-02.test.com compute-02
hostname
control
hostname -f
control.test.com
网络
直接设置 /etc/network/interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.3.164
netmask 255.255.255.0
gateway 192.168.3.1
auto eth1
iface eth1 inet static
address 192.168.4.164
netmask 255.255.255.0
重启服务
/etc/init.d/networking restart
设置IP转发
sed -i -r 's/^\s*#(net\.ipv4\.ip_forward=1.*)/\1/' /etc/sysctl.conf
sysctl -p