KVM热迁移Live Migration

作者:【吴业亮】云计算开发工程师
博客:http://blog.csdn.net/wylfengyujiancheng


一、 架构:
KVM热迁移Live Migration_第1张图片

二、 nfs服务器配置
1、安装nfs

# yum -y install nfs-utils

2、创建共享目录

# mkdir /data

3、赋予权限

# chown 107:107 /data
# chmod 777 data/

4、设置nfs启动并设置开机启动

# service rpcbind start
# service nfs-server start
# chkconfig  rpcbind on
# chkconfig nfs-server  on

5、设置共享目录

# echo '/data  192.168.8.13/24(rw,sync,all_squash,anonuid=107,anongid=107)' >/etc/exports

6、参数介绍
这个配置文件只要分为三列
第一列 写入你需要共享的目录路径
第二列 写入客户端描述,也就是哪些客户端可以使用你的服务器
第三列 是紧挨着第二列的,内容是共享的权限

选项:

选项用来设置输出目录的访问权限、用户映射等。NFS主要有3类选项:
访问权限选项
设置输出目录只读 ro
设置输出目录读写 rw

用户映射选项

all_squash 将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash 与all_squash取反(默认设置);
root_squash 将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash 与rootsquash取反;
anonuid=xxx 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx 将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项

secure 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure 允许客户端从大于1024的tcp/ip端口连接服务器;
sync 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async 将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay 检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
no_wdelay 若有写操作则立即执行,应与sync配合使用;
subtree 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

7、用NFS共享的目录和文件是没有selinux限制的。

8、开启防火墙

# firewall-cmd --add-service=nfs --permanent 
# firewall-cmd --reload 

三、 各个kvm节点
1、安装nfs

# yum -y install nfs-utils

2、挂载目录

# mount -t nfs 192.168.8.13:/data /var/lib/libvirt/images/

3、赋予权限

# chown qemu:qemu /var/lib/libvirt/images/ -R

4、设置开机自动挂载

# echo '192.168.8.13:/data  /nova_data  nfs  _netdev,defaults,user,auto,noatime,intr   0 0' >>/etc/fstab 

说明:由于系统启动读取fstab在启动rc.d之前。所以那个时候nfs还没有启动,会出现报错信息,修改挂载参数这个位置defaults,_netdev。

四、 迁移:

1、查看状态

[root@server1 ~]# virsh list 
 Id    Name             State
--------------------------------------
 3     centos7          running

2、迁移

[root@server1 ~]# virsh migrate --live centos7 qemu+ssh://192.168.8.12/system 
[email protected]'s password:# root password
[root@server1 ~]# virsh list 
 Id    Name             State
--------------------------------------
[root@server2 ~]# virsh list 
 Id    Name              State
---------------------------------------
 1     centos7           running

3、迁移

 [root@server2 ~]# virsh migrate --live centos7 qemu+ssh://192.168.8.11/system 
[email protected]'s password:
[root@server2 ~]# virsh list 
 Id    Name             State
--------------------------------------

你可能感兴趣的:(kvm)