热迁移(Live Migration,又叫动态迁移、实时迁移),即虚拟机保存/恢复(Save/Restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
openstack热迁移
OpenStack有两种在线迁移类型:live migration和block migration。Livemigration需要实例保存在NFS共享存储中,这种迁移主要是实例的内存状态的迁移,速度应该会很快。Block migration除了实例内存状态要迁移外,还得迁移磁盘文件,速度会慢些,但是它不要求实例存储在共享文件系统中。
* NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
Live Migration 的实现
1.机器:
jovi-controller 是控制节点 192.168.3.10
jovi-compute1 是计算节点 192.168.3.12
jovi-compute3 是计算节点 192.168.3.14
实验阶段,为了避免不必要的麻烦,请用命令service ufw stop关闭各个节点的防火墙,同时修改/etc/hosts文件,确定节点之间能互相ping通主机名。利用id nova命令查看下控制节点nova的uid和gid,并记录,在两个计算节点同样利用id nova查看uid和gid是否和控制节点保持一致,如果不一致则利用usermod -u 控制节点的uid nova和gropumod -g 控制节点的gid nova 两条命令进行修改,同时在所有计算节点运行如下命令,保证所有nova相关文件使用新的uid和gid
[root@vmcom1-mn ~]#service nova-api stop
[root@vmcom1-mn ~]#service libvirt-bin stop
[root@vmcom1-mn ~]#find / -uid 106 -exec chown nova {} \; # note the 106 here is the old nova uid before the change
[root@vmcom1-mn ~]# find / -gid 107 -exec chgrp nova {} \; #note the 107 here is the old nova uid before the change
[root@vmcom1-mn ~]#service nova-api restart
[root@vmcom1-mn ~]#service libvirt-bin restart
2.修改各个节点的nova.conf
vncserver_proxyclient_address=本机ip
vncserver_listen=0.0.0.0
3.控制节点,配置nfs
apt-get install nfs-kernel-server portmap
在/etc/exports中加入/var/lib/nova/instances *(rw,sync,fsid=0,no_root_squash)
重新启动nfs服务,portmap服务
相关阅读:
在Ubuntu 12.10 上安装部署Openstack
Ubuntu 12.04 OpenStack Swift单节点部署手册
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现-上篇
MySQL服务器的HA集群之Corosync+DRBD+Pacemaker实现-下篇