# DIY操作步骤
# 宿主kvm :
virsh dumpxml win10 > win10.xml
scp win10.xml 10.69.15.118:/root/kvm_xml
scp /var/lib/libvirt/images/win10.qcow2 10.69.15.118:/var/lib/libvirt/images/
# 新 kvm主机
virsh define /root/kvm_xml/win10.xml
virsh list --all
virsh start win10
进行迁移之前需要准备一台与KVM配置相同的机器(KVM02),部署好kvm环境。
1. 虚拟机冷迁移
在kvm02中安装kvm组件
| 1 | [root@kvm02 ~]# yum install libvirt* virt-* qemu-kvm* -y |
配置桥接网络
| 1 2 | [root@kvm02 ~]# virsh iface-bridge eth0 br0 [root@kvm02 ~]# mkdir -p /data |
将虚拟机关机,导出配置文件
| 1 | [root@kvm data]# virsh dumpxml oldboy7 >oldboy7.xml |
将虚拟机文件传输到kvm02上
| 1 | [root@kvm data]# scp -rp oldboy7.xml oldboy.qcow2 10.0.0.201:/data |
导入配置文件
| 1 | [root@kvm02 ~]# virsh define oldboy7.xml |
启动虚拟机
| 1 | [root@kvm02 ~]# virsh start oldboy7 |
查看虚拟机状态
| 1 2 3 4 | [root@kvm02 ~]# virsh list --all Id 名称 状态 ---------------------------------------------------- 5 oldboy7 running |
至此,一次KVM冷迁移就完成了
2. virt-manager和kvm虚拟机热迁移(准备)
实现kvm虚拟机热迁移核心:共享存储。
1)安装virt-manager所需桌面及vnc-server
| 1 2 3 4 5 | [root@kvm ~]# yum groupinstall "GNOME Desktop" -y # vnc-server端 [root@kvm ~]# yum install tigervnc-server -y # virt-manager需要软件 [root@kvm ~]# yum install openssh-askpass -y |
2)配置vnc服务
复制vnc配置文件
| 1 2 | [root@kvm ~]# vi /usr/lib/systemd/system/vncserver@.services [root@kvm ~]# \cp /usr/lib/systemd/system/vncserver@.service /usr/lib/systemd/system/vncserver@\:1.service |
修改配置文件,主要修改<USER>参数。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@kvm ~]# egrep -v "^#|^$" /usr/lib/systemd/system/vncserver@\:1.service [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=root ExecStartPre=-/usr/bin/vncserver -kill %i ExecStart=/usr/bin/vncserver %i PIDFile=/root/.vnc/%H%i.pid ExecStop=-/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target # 用户为root,家目录为root |
官方提供修改方法
| 1 2 3 4 5 6 7 | # Quick HowTo: # 1. Copy this file to /etc/systemd/system/vncserver@.service # 2. Replace <USER> with the actual user name and edit vncserver # parameters appropriately # ("User=<USER>" and "/home/<USER>/.vnc/%H%i.pid") # 3. Run `systemctl daemon-reload` # 4. Run `systemctl enable vncserver@:<display>.service` |
设置vnc连接时的密码
| 1 2 3 4 5 | [root@kvm ~]# vncpasswd Password: Verify: Would you like to enter a view-only password (y/n)? n # y为创建只读用户,n为非只读用户。 |
启动vnc服务,设置开机自启动
| 1 2 | [root@kvm ~]# systemctl start vncserver@\:1.services [root@kvm ~]# systemctl enable vncserver@\:1.services |
查看密码文件及其他配置文件位置
| 1 | [root@kvm ~]# ll ~/.vnc/ |
3)配置NFS存储
安装软件
| 1 | [root@kvm ~]# yum install nfs-utils rpcbind -y |
修改配置文件
| 1 2 | [root@kvm ~]# cat /etc/exports /data 172.16.1.0/24(rw,sync,all_squash,anonuid=0,anongid=0) |
启动nfs程序
| 1 2 3 4 5 | [root@kvm ~]# systemctl restart rpcbind [root@kvm ~]# systemctl restart nfs # 设置开机自启动 [root@kvm ~]# systemctl enable rpcbind [root@kvm ~]# systemctl enable nfs |
在kvm02上安装nfs
| 1 | [root@kvm02 ~]# yum install nfs-utils rpcbind -y |
查看共享信息
| 1 2 3 | [root@kvm02 ~]# showmount -e 172.16.1.240 Export list for 172.16.1.240: /data 172.16.1.0/24 |
挂载目录
| 1 2 3 4 | [root@kvm02 ~]# mount.nfs 172.16.1.240:/data /data # 加入开机自启动 [root@kvm02 ~]# echo 'mount.nfs 172.16.1.240:/data /data' >>/etc/rc.local [root@kvm02 ~]# chmod +x /etc/rc.d/rc.local |