centos 7.0下openstack-juno版本实例热迁移(通过nfs,共享池)

来源:互联网 发布:音频矩阵品牌 编辑:程序博客网 时间:2024/06/06 01:23
一 环境架构
控制节点:192.168.87.11
计算节点1:192.168.87.13 
计算节点2:192.168.87.15 
网络节点:192.168.87.12 
本文将网络节点做为nfs服务器,两个计算做为nfs客户端
二安装配置nfs
1.下载安装nfs包
计算节点和网络节点都需要安装nfs的包 
#yum -y install nfs-utils-*
2.配置nfs服务器
(1)创建需要共享的磁盘(用linux的lv) 
#pvcreate /dev/sdb #vgcreate nfs /dev/sdb 
#lvcreate -L 15G nfs 
(2)创建共享目录挂载 
#mkdir -p /var/lib/nova/instances 
#mkfs /dev/mapper/nfs-lvol0 
#mount /dev/mapper/nfs-lvol0 /var/lib/nova/instances 
(3)编辑export文件 

#vi /etc/exports  加入

/var/lib/nova/instances *(insecure,rw,sync,no_root_squash) 

(4)启动nfs服务 

#service rpcbind start 

#service nfs start 

#chkconfig nfs on 

#chkconfig rpcbind on
3.检查修改nova用户的一致性(笔者跳过了这一步)
要保持计算节点,控制节点,nfs节点上的nova的用户组号等一致,在控制节点使用 
#id nova uid=162(nova) gid=162(nova) groups=162(nova),0(root) 
然后在其他节点使用usermod和groupmod进行修改 
#usermod -u 162 #groupmod -g 162 
注意: 本文实在网络节点搭建nfs服务器,所以在网络节点是不存在nova用户,所以网络节点也需要创建nova用户,并保持和其他节点的用户属性一致
4.修改共享目录的属组
nfs节点修改后,重启nfs就会保持其他节点的共享目录 

#chown -R nova:nova /var/lib/nova/instances 

#service nfs restart

5.配置客户端(两个计算节点)
(1)启动nfs服务 

#service rpcbind start 

#service nfs start 

#chkconfig nfs on 

#chkconfig rpcbind on 

(2)查看共享目录是否存在 
#showmount -e 192.168.87.12 
Export list for 
192.168.87.12: /var/lib/nova/instances * 
(3)挂载 

在计算节点的/etc/fstab的目录中加入

192.168.87.12:/var/lib/nova/instances /var/lib/nova/instances nfs  defaults        0 0

挂载目录执行:

mount –a -v

检查目录是否挂载成功。

df -k

三 修改nova和libvirtd文件
1.修改nova.conf文件
vncserver_listen = 0.0.0.0 
vncserver_proxyclient_address = 192.168.87.15
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER
注意: vncserver_proxyclient_address地址为计算节点的管理地址,两个计算节点都需要修改。live_migration_flag参数默认是关闭,只要把注释去掉就行
2.修改libvirtd.conf文件 
# vi /etc/libvirt/libvirtd.conf 
listen_tls = 0 listen_tcp = 1 auth_tcp="none" 
#vi /etc/sysconfig/libvirtd 
LIBVIRTD_ARGS="--listen"
3.重启openstack-nova-compute和libvirtd 
#service libvirtd restart 
#service openstack-nova-compute restart
4.检查验证迁移配置已经正常
热迁移是使用16509端口,所以在两个计算节点查看这个端口是否监听,同时如果配置了防火墙,请将这个端口放开。最后还得检查两个计算可以通过域名解析到对方,具体就是配置在/etc/hosts的文件 
#netstat -an|grep 16509 
tcp 0 0 0.0.0.0:16509 0.0.0.0:* LISTEN 
tcp 0 0 :::16509 :::* LISTEN 
#service iptables status|grep 16509 
49 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:16509 
#cat /etc/hosts 
127.0.0.1 localhost localhost.localdomain 
localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 
#con 
192.168.87.11 controller 
#net 
192.168.87.12 network 
#compute 
192.168.87.13 compute 
#compute2
192.168.87.15 compute2
四 迁移
1命令行热迁移
在计算节点查看下正在运行的instance在哪个计算节点下,然后通过instance的id进行迁移 
# nova-manage vm list
instance node type state launched image kernel ramdisk project user zone index 
test compute test active 2014-09-16 08:43:01 34e6efbe-dcdb-4eaf-b281-72cd8b2957d7 668b23f5a33a45d3a71d9186ab3b92bc 0918c83e87e14269b672b4f610d92bde nova 
# nova live-migration 4fff0f6d-9b33-417c-934a-58b699bdb96e compute2 
# nova-manage vm list 
instance node type state launched image kernel ramdisk project user zone index 
test compute2 test active 2014-09-16 08:43:01 34e6efbe-dcdb-4eaf-b281-72cd8b2957d7 668b23f5a33a45d3a71d9186ab3b92bc 0918c83e87e14269b672b4f610d92bde nova 0
2.界面迁移
登陆界面,进入到管理员》》系统面板》实例下,选择热迁移,迁移成功后就会显示迁移成功
五 问题日志查看定位 
迁移的日志查看主要查看的有: 
控制节点下
/var/log/nova/日志 
计算节点下 
/var/log/nova/compute.log
/var/log/libvirt/libvirtd.log
0 0