环境:
192.168.1.10 kvm-node1
192.168.1.20 kvm-node2
192.168.1.21 nfs
编辑三台机子hosts文件
/etc/hosts:
192.168.1.10 kvm-node1
192.168.1.20 kvm-node2
192.168.1.21 nfs
nfs搭建:
lvm:
vgcreate nfspool /dev/sdb
mkfs.xfs /dev/nfspool/nfspol
mkdir /nfspool
mount /dev/nfspool/nfspol /nfspool/
##永久挂载/etc/fstab
/dev/nfspool/nfspol /nfspool xfs defaults 0 0
##设置权限/etc/exports
/nfspool *(rw,sync,no_root_squash)
yum安装nfs并开机自启
##三台机子均需安装
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl enable rpcbind
kvm-node2:
yum install qemu qemu-img qemu-kvm libvirt libvirt-python \
libguestfs-tools virt-install -y
##启动服务并开机自启
systemctl start libvirtd
systemctl enable libvirtd
##迁移准备
创建与node1相同的磁盘文件路径,否则因为xml配置文件中路径不同发生错误
mkdir -p /kvm-vm/nfspool/
##定义相同的存储池
virsh pool-define-as nspool netfs --source-host 192.168.2.21 --source-path /nfspool --target /kvm-vm/nfspool/
##构建
virsh pool-build nspool
virsh pool-start nspool
冷迁移
虚拟机关闭状态下拷贝相关文件
kvm-node1:
##磁盘文件相同否则需要磁盘文件一同拷贝
scp /etc/libvirt/qemu/test3.xml kvm-node2:/etc/libvirt/qemu/
kvm-node2:
##定义test3域
virsh define /etc/libvirt/qemu/test3.xml
virsh list --all
Id 名称 状态
----------------------------------------------------
- test3 关闭
热迁移
虚拟机开启状态下也可完成迁移,但需要满足相同的环境需求
1.网络环境相同
2.主机名不同
3.宿主机设备条件一致
4.宿主机操作系统相同
5.nfs存储相同
virsh migrate test3 qemu+ssh://192.168.2.20/system --live --unsafe --verbose
##参数说明
--live ##代表热迁移
--unsafe ##强制迁移
--verbose ##显示迁移进程