openstack在线迁移配置live-migration

来源:互联网 发布:日军第四师团 知乎 编辑:程序博客网 时间:2024/05/22 07:45

原文地址:http://blog.csdn.net/zhu_liangwei/article/details/7814181


说明:在配置迁移之前请确保openstack平台已经可以正常使用。本为是对kvm平台进行测试的。


1.机器:

node1是控制节点  10.214.0.57

node2是计算节点 10.214.0.58

node3是计算节点 10.214.0.60 

实验阶段,为了避免不必要的麻烦,请关闭各个节点的防火墙。

[html] view plaincopyprint?
  1. service ufw stop  

查看防火墙状态

[html] view plaincopyprint?
  1. service ufw status   
  2. ufw stop/waiting  

确定节点之间能互相ping通。

在每个节点进行ping测试。

ping node1

ping node2

ping node3

2.修改各个节点的nova.conf

[html] view plaincopyprint?
  1. vim /etc/nova/nova.conf  

--vncserver_proxyclient_address=127.0.0.1

--vncserver_listen=0.0.0.0

3.配置nfs

在node1上:

apt-get install nfs-kernel-server

可以参考链接:https://help.ubuntu.com/community/SettingUpNFSHowTo

在/etc/exports中加入

/var/lib/nova/instances *(rw,sync,fsid=0,no_root_squash)

重新启动nfs服务:

/etc/init.d/nfs-kernel-server restart

/etc/init.d/idmapd restart

在计算节点node2、node3上:

建议在配置之前先删除计算节点的所有实例,不然会造成僵尸实例的产生。

确保计算节点有执行和查找目录的权限。

chmod o+x /var/lib/nova/instances

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

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

挂载目录执行:

mount –a -v

检查目录是否挂载成功。

df -k

[html] view plaincopyprint?
  1. 10.214.0.57:/var/lib/nova/instances 949801984 31567872 870693888   4% /var/lib/nova/instances  

最好打开目录看看

ls -l


在各个计算节点设置权限

chmod 777 /var/lib/nova/instances

这一步很重要,不然可能会出现权限问题。

4.修改所有计算节点libvirt

修改:

/etc/libvirt/libvirtd.conf

before : #listen_tls = 0

after : listen_tls = 0

 

before : #listen_tcp = 1

after : listen_tcp = 1

add: auth_tcp="none"

 

修改:

/etc/init/libvirt-bin.conf

before : exec /usr/sbin/libvirtd -d

after : exec /usr/sbin/libvirtd -d -l

修改:

/etc/default/libvirt-bin

before :libvirtd_opts=" -d"

after :libvirtd_opts=" -d -l"

修改:

/etc/libvirt/qemu.conf

去掉下面三行注释

[html] view plaincopyprint?
  1. vnc_listen = “0.0.0.0″  
  2. user = “root”  
  3. group = “root”  

重新启动libvirt-bin

[html] view plaincopyprint?
  1. service libvirt-bin restart  

确定进程已启动。

ps -ef | grep libvirt

确定有:

root      5277     1  004:06 ?        00:00:01/usr/sbin/libvirtd -d -l


重新启动nova-compute服务

[html] view plaincopyprint?
  1. service nova-compute restart  

这样就配置成功了!

5.测试:

root@node1:~# nova list 查看实例

root@node1:~# nova show 11fd9622-a948-4cdb-94d0-d8f2558cf179  查看需要迁移的实例

root@node1:~# nova-manage service list 查看可用的计算节点

root@node1:~# nova-manage service describe_resource node2 查看目标节点资源 (或者# nova host-describe node2)

root@node1:~#nova live-migration 11fd9622-a948-4cdb-94d0-d8f2558cf179 node2  迁移成功,应该没有输出。

6.注:如果出现问题,查看一下日志文件,根据日志分析错误原因

/var/log/nova/nova-compute.log

/var/log/libvirt/libvirtd.log

/var/log/libvirt/qemu/instance-000000*.log(instance-000000*.log是你启动的特定实例)

例如我nova-compute.log文件中的:

if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed',dom=self)

2012-07-14 21:36:56 TRACE nova.rpc.amqp libvirtError: Unable to read frommonitor: Connection reset by peer

instance-000000*.log文件中的:

kvm: -drivefile=/var/lib/nova/instances/instance-00000039/disk, if=none,id=drive-virtio-disk0,format=qcow2,cache=none:could not open disk image /var/lib/nova/instances/instance-00000039/disk:Permission denied。

就是由于设置nfs是文件夹的权限问题和/etc/libvirt/qemu.conf设置错误导致的。

 

 

参考文献:

沙克文章:http://www.chenshake.com/ubuntu-12-04-openstack-essex-installation-single-node/

博友关于live-migrartion的配置:http://www.longgeek.com/2012/07/18/openstack-online-migrations/

官方文档:http://docs.openstack.org/essex/openstack-compute/install/yum/openstack-install-guide-essex.pdf
0 0