虚拟化
OpenStack
部署OpenStack(devstack)
部署OpenStack(Kolla)
qemu-img
Virtualenv(Python虚拟环境)
Virtualenvwrapper(虚拟环境管理工具)
KVM(虚拟机)
KVM(无桌面安装)
KVM(桌面安装)
KVM迁移
vnc-viewer安装与使用
vnc-server安装与使用
VMware ESXi安装
修改esxi网络配置
KVM部署esxi
报错No network adapters处理方法
开启SSH及命令行
U盘安装(大白菜)
磁盘问题
VMware vCenter安装
vCenter问题
CentOS 7 iSCSI服务(共享盘)
SmartX
本文档使用MrDoc发布
返回首页
-
+
KVM迁移
2020年5月15日 14:52
admin
#简介 >##虚拟机迁移主要分为两种:静态迁移和动态迁移 >####静态迁移 指在虚拟机关闭或暂停的情况下,将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行,对服务可用性要求高的需求不合适。 >####动态迁移 无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件,可以通过多种方式实现,本例采用基于共享存储动态迁移,通过NFS来实现。 --- #静态迁移 >##说明: 静态迁移也叫做常规迁移、离线迁移(Offline Migration)。是在虚拟机关机或暂停的情况下,拷贝虚拟机磁盘文件与配置文件到目标虚拟主机中,实现的从一台物理机到另一台物理机的迁移。因为虚拟机的文件系统建立在虚拟机镜像文件上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上即可。如果需要保存虚拟机迁移之前的状态,那么应该在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。 --- >##迁移操作 >####1、停止虚拟机 virsh shutdown <虚拟机名称> >####2、导出虚拟机配置文件 virsh dumpxml <虚拟机名称> > /root/<虚拟机名称>.xml >####3、拷贝配置文件及磁盘文件到目标宿主机上 virsh domblklist <虚拟机名称> #查看虚拟机的磁盘文件 scp -r <磁盘文件> <目标机IP>:<目标目录> #拷贝磁盘文件 scp -r <配置文件> <目标机IP>:<目标目录> #拷贝配置文件 >####4、在目标机上,根据具体需求,修改配置文件 >![](/media//202005/2020-05-15202336902365.png) >####5、定义并注册demo虚拟机 virsh define <配置文件> --- #动态迁移 >##说明 动态迁移需要将原有的虚拟机镜像放在采用 SAN(storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,这样迁移的时候,不是迁移整个硬盘镜象,而是迁移内存的信息.所以迁移起来,速度比较快,停顿时间少。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。动态迁移适用于对虚拟机服务可用性要求很高的场合。 --- >##迁移操作 >####1、配置NFS,将虚拟机源机的服务目录共享挂载至目标机 >####NFS服务具体操作可跳转:[传送门](http://baodoc.frp.bao-server.club:22080/project/31/264/ "传送门") #注意:共享挂载的目录要开放读写权限 >####2、在虚拟机源机执行“virsh migrate”迁移命令 virsh migrate --live --verbose <虚拟机名称> qemu+ssh://<目标机IP>/system tcp://<目标机IP> --unsafe ------------------------------------------------------- –verbose 指迁移demo3虚拟机,192.168.10.215为节点2的IP地址,使用tcp协议连接 –unsafe参数表示跳过安全检测 ------------------------------------------------------- >####3、在目标机上,查看虚拟机demo3虚拟机状态 >![](/media//202005/2020-05-15214406336747.png) >####4、创建配置文件,定义虚拟机 虽然demo3虚拟机已经在目标机上启动了,但是目标机上还没有demo3虚拟机的配置文件。这时需要创建配置文件并定义该虚拟机,可以通过迁移过来的虚拟机内存状态创建虚拟机配置文件 virsh dumpxml demo3 > /etc/libvirt/qemu/demo3.xml >####然后通过xml配置文件定义虚拟机 virsh define /etc/libvirt/qemu/demo3.xml ---
分享到: