kvm学习------虚拟机迁移

article/2025/11/9 8:12:04

虚拟机迁移

在这里插入图片描述

虚拟机迁移分为动态迁移和静态迁移

静态迁移:是指在虚拟机关闭或暂停的情况下,将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行,对服务可用性要求高的需求不合适。

动态迁移:无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件,可以通过多种方式实现,本例采用基于共享存储动态迁移,通过NFS(Network File System网络文件系统)来实现。

源宿主机:Ubuntu16.04操作系统,下文中以“节点1”表示,NFS挂载目录/home/kvm。

目标宿主机:Ubuntu16.04操作系统,下文中以“节点2”表示,NFS挂载目录/home/kvm。

基于QEMU的动态迁移虚拟机镜像文件为ubuntu14.04.img。

NFS服务器:Ubuntu16.04操作系统,服务目录为/mnt/nfs/。

1、VMware 宿主机克隆

在VMware中,虚拟机–>管理–>克隆。
注意: 在实验中,源宿主机为节点1,克隆的机器作为目标宿主机,为节点2。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果节点1是NAT模式,不用修改网络。互相ping对方ip地址,保证两节点网络的连通。
如果节点1是网桥模式,需要修改节点2中的IP地址,修改为和节点1同一网段的IP。只需修改IP即可,其他不用改动,

root@ubuntu:~# vim /etc/network/interfaces

在这里插入图片描述
修改完毕后,重启网络

root@ubuntu:~# /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.

2、NFS服务器配置

(1) KVM虚拟机动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件(本例为“/home/kvm”目录),这里的动态迁移是基于共享存储动态迁移,通过NFS来实现,需要QEMU 0.12.2以上版本支持。可以使用“qemu-img --help|grep version”来查看安装的QEMU的版本号。

qemu-img --help|grep version

(2) 在节点2上安装NFS服务器。使用命令“sudo apt-get install nfs-kernel-server nfs-common”下载安装NFS

kernel-server相当于server端
common是client端

apt-get install nfs-kernel-server nfs-common

(3) 在节点2上配置NFS服务器,将NFS服务器上的“/mnt/nfs”目录设为服务目录。首先使用命令“sudo mkdir /mnt/nfs”创建该目录,然后使用命令“sudo chmod 777 /mnt/nfs”修改该目录权限,修改后在“/mnt”目录使用“ll -d /mnt/nfs”命令查看

root@ubuntu:/home/kvm# mkdir /mnt/nfs
root@ubuntu:/home/kvm# chmod 777 /mnt/nfs/
root@ubuntu:/home/kvm# ll -d /mnt/nfs/
drwxrwxrwx 2 root root 4096 Jun 14 02:11 /mnt/nfs//

(4) 在节点2上,使用vim打开修改“/etc/exports”文件添加共享目录,在该文件最后添加“/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)”一行即可。

/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)

/mnt/nfs表示要设置的共享目录,
* 表示允许所有的网段访问,也可以使用具体的IP。
rw 表示挂载此目录的客户端对该共享目录具有读写权限。
sync 表示资料同步写入内存和硬盘。
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。修改完毕后保存退出。

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)/mnt/nfs *(rw,sync,no_subtree_check,no_root_squash)                                                 

(5) 在节点2上,“/etc/exports”文件修改后,使用命令“sudo exportfs –r”刷新。然后启动NFS服务,命令如下:

sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart
root@ubuntu:/home/kvm# sudo /etc/init.d/rpcbind restart
[ ok ] Restarting rpcbind (via systemctl): rpcbind.service.
root@ubuntu:/home/kvm# sudo /etc/init.d/nfs-kernel-server restart
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
root@ubuntu:/home/kvm# 

(6) 在节点2上,NFS服务启动后,使用命令“showmount –e 192.168.70.139”查看NFS的共享目录,
192.168.70.139 为节点2的IP地址,
showmount命令 用于查询NFS服务器的相关信息,
-e 显示输出目录列表。

showmount –e 192.168.70.139
xyc@ubuntu:~$ showmount -e 192.168.70.139
Export list for 192.168.70.139:
/mnt/nfs *

(7) 在节点2上,将虚拟机的虚拟磁盘文件ubuntu14.04.img拷贝到NFS服务器(还在节点2)的共享目录“/mnt/nfs”下。
(8) 在节点1上使用命令“sudo apt-get install nfs-common”下载安装NFS client端。
(9) 分别在节点1和节点2上执行以下操作:

  • 使用“mkdir /home/kvm”创建“kvm”目录
  • 使用命令“mount –t nfs 192.168.70.139:/mnt/nfs /home/kvm –o rw”进行挂载。
    • 192.168.70.139”为节点2的IP地址,也是NFS服务器的IP地址。
  • 挂载完毕后使用“df -h”命令,可以看到挂载位置为“/home/kvm”,
    • df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
  • 进入到“cd /home/kvm”目录,可以看到ubuntu14.04.img镜像文件。
root@ubuntu:/mnt# mkdir /home/kvm
root@ubuntu:/mnt# mount -t nfs 192.168.70.139:/mnt/nfs /home/kvm -o rw
root@ubuntu:/mnt# ls /home/kvm/
ubuntu14.04.img

(10) 挂载完成后两节点的“/home/kvm”都有相同的虚拟机磁盘文件ubuntu14.04.img。

3、基于QEMU的虚拟机动态迁移

(1) 在节点1上,使用命令“qemu-system-x86_64 -hda /home/kvm/ubuntu14.04.img -m 512 -smp 1 -vnc :1 -monitor stdio”启动虚拟机,
ubuntu14.04 为前面实验制作的镜像文件,
-monitor stdio 表示可以进入QEMU监控器,以便接下来执行迁移命令

root@ubuntu:/# qemu-system-x86_64 -hda /home/kvm/ubuntu14.04.img -m 512 -smp 1 -vnc :1 -monitor stdio
QEMU 2.5.0 monitor - type 'help' for more information
(qemu) warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
(qemu)

(2) 打开vncviewer,连接节点1上的QEMU虚拟机
在这里插入图片描述
(3) 在该虚拟机中运行“top”命令
top命令 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。使用top命令以便在动态迁移的时候检查它是否仍然在继续进行
在这里插入图片描述
(4) 在节点2上,使用命令“qemu-system-x86_64 -hda /home/kvm/ubuntu14.04.img -m 512 -smp 1 -vnc :1 -incoming tcp:0:6666”启动一个虚拟机,该虚拟机并没有真实启动,只是用于等待接收动态迁移过来的内存内容

qemu-system-x86_64 -hda /home/kvm/ubuntu14.04.img -m 512 -smp 1 -vnc :1 -incoming tcp:0:6666

注意:在节点2上,NFS挂载目录必须与源主机上保持一致;启动客户机命令也需一致,但是需要增加-incoming 选项。
-incoming tcp:0:6666” 这个参数表示在6666 端口建立一个tcp socket 连接用于接收来自于源宿主机的动态迁移的内容,
“0”表示允许来自任何主机的连接。
“-incoming” 表示使QEMU进程进入到迁移监听(migration-listen)模式,而不是真正以命令行中的镜像文件运行客户机。

(5) 在节点1上,在源宿主机的qemu monitor命令行中输入
migrate tcp:192.168.70.139:6666”迁移虚拟机,进入动态迁移的流程
“192.168.70.139”是目标宿主机IP,TCP协议和6666端口与目标宿主机上命令行的-incoming 参数保持一致。

migrate tcp:192.168.70.139:6666

(6) 在“migrate”命令从开始到执行完成,大约十秒钟,在执行完成后迁移成功。迁移后在节点2上,也就是目标宿主机上,之前处于迁移监听状态的虚拟机开始运行,在该虚拟机中可以查看到,原来在节点1上运行的虚拟机上执行的top命令在迁移后仍在继续运行。使用vncviewer查看节点2上的虚拟机,在节点2上迁移后的虚拟机“top”命令仍在执行。
在这里插入图片描述
(7) 节点1上的虚拟机“top”命令执行已停止,动态迁移虚拟机成功。


http://chatgpt.dhexx.cn/article/WIpDciiv.shtml

相关文章

ESXi下虚拟机迁移至PVE

ESXi版本:6.5.0 PVE版本:7.1.2 情景描述:因工作原因,要求将ESXi上的虚拟机全部迁移至开源免费的PVE。至于ESXi和PVE的对比就不提了,网上百度能够搜到很多;写这篇文章也只是记录一下自己在迁移过程中遇到的…

Centos7 虚拟机迁移及扩容

1. 虚拟机的迁移 https://blog.csdn.net/qq_37035946/article/details/103702802 2. 对迁移后的虚拟机进行扩容 关闭Vmware的centos7系统,才能在VMWare菜单中设置需要增加到的磁盘大小,如下图所示: 然后启动虚拟机,但这个实际硬盘的大小还是之前的大小,我们需要对…

VMware 虚拟机迁移

迁移虚拟机分为: 主机之间迁移 存储间迁移 以上都迁移 迁移是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程。复制虚拟机是指创建新的虚拟机,并不是迁移形式。 在 vCenter Server 中&am…

nova虚拟机迁移一

虚拟机迁移 虚拟机迁移也就是把一台虚拟机从原计算节点迁移到一个新的计算节点,并且能够保证虚拟机在新的计算节点可以正常工作, 虚拟机的迁移根据虚拟机的运行状态可以分为两种1、动态迁移;2、静态迁移 虚拟机动态迁移 虚拟机的动态迁移…

pve虚拟机迁移

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

VMware vCenter虚拟机迁移

前言 日常使用ESXi虚拟机的时候,或者系统巡检的时候,会碰到应用宿主机过载的情况。为了保护宿主机,一旦超负荷运转就要及时做热迁移操作。 一、在所在虚机处选择迁移 二、选择是迁移虚机所在主机或者所在存储 三、以迁移主机为例&#xff…

openstack虚拟机迁移操作

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************转载自:http://www.cnblogs.com/kevingrace/p/6018676.html 散尽浮华 openstack虚拟机迁移的操作记录 需求说明: 计算节点linux-node1.openstack:192.16…

virtualbox vm 虚拟机 迁移

背景:最近装一个软件 我把 C盘下 user 下的 用户名改了 路径由 C:\Users\小谷 变成了 C:\Users\xiaogu 我虚拟机 就不干了 上图的 这个东西 找不到 我虚拟机 的路径了 所以我得 改路径 但是 我不知道 怎么改 网上 都是 迁移 虚拟机 我一想 这本质不都一样吗 开干…

虚拟机迁移Sphere vMotion

虚拟机迁移Sphere vMotion 什么是虚拟机迁移? 迁移意味着将虚拟机从一个主机、数据存储或vCenter服务器系统迁移到另一个主机、数据存储或vCenter服务器系统。 虚拟机迁移的五种类型 1.冷迁移: 将关闭电源的虚拟机迁移到新的主机或数据存储中。 2.挂起: 将挂起的虚拟机迁移…

Linux-虚拟机迁移步骤

目录 背景介绍 概念说明 作用及意义 迁移步骤 1.在vCenter上,找到要迁移的虚拟机,点击操作 2.点击操作中的迁移按钮 3.进入迁移 页面选择更改计算资源和存储,选择完毕点击next。 4.选择虚拟机迁移的目的服务器 5.然后一直点击next 6.…

虚拟机迁移导致的网络问题

一、问题描述 两台超融合服务器搭建超融合集群,当超融合服务器1故障后,超融合服务器1中的虚拟机迁移到超融合服务器2,发现终端电脑无法ping通迁移后的虚拟机 二、处理流程 在检查流量统计信息和捕获的数据包后,发现当虚拟机由超…

esxi6.5虚拟机迁移

1、启用esxi的ssh 登录esxi的web界面,选择主机-》操作——》服务——》启动ssh 2.xshell登录esxi 3、找到虚拟机所在目录 假设需要迁移的虚拟机名为Centos7-14 find / -name Centos7-14可以定位到虚拟机路径 4、建立新虚拟机目录 在Centos7-14目录下创建新的…

服务器虚拟机迁移的6个步骤,KVM 虚拟机迁移(示例代码)

一 静态迁移 一 概述 : libvirt 提供了两种方案 1 基于hypervisor native transport 的迁移 一般的迁移方式 2 基于libvirt tunnelled transport 的迁移 (使用RPC协议可以实现加密功能,在传递时多了一个步骤,在单一的网络执行并发的操作) 二 迁移时的通信控制 A 受管理的直接…

VMware虚拟机迁移

通常情况下,在工作中,当我们在本地搭建好一台新的vmware机器时,需要将该机器进行迁移,进行远程控制时,我们需要将本机中的vmware相关文件进行整体迁移 具体迁移步骤如下: 1、首先,我们找到自己…

服务器虚拟机迁移的过程和步骤是什么,虚拟机迁移的详细步骤(新手如何做好虚拟机迁移)...

迁移虚拟机 一 迁移虚拟机 迁移是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程。复制虚拟机是指创建新的虚拟机,并不是迁移形式 冷迁移 冷迁移是对已关闭电源或挂起的虚拟机进行迁移;可以将虚拟机磁盘文件迁移到另一个主机磁盘上,也可以迁移到共享存储上;…

esxi虚拟机迁移

之前做过类似的操作,居然还要重新来一遍,记录下,免得再找资料。 注意:迁移是相同版本的esxi,否则会有问题,至于怎么解决,我没有去研究过 找到文件位置 find / -name 测试机进入目标目录 xx这…

KVM虚拟机迁移

一、KVM宿主机高可用架构设计 宿主机故障,内部虚拟机可以不受影响,可以迁移走负载均衡,当某个宿主机压力过大,可以将部分虚拟机迁移到其他机器,降低其负载。 1.1、架构设计 1.2、实验机器 机器 IP 角色 node1 192…

服务器虚拟机迁移的6个步骤,vmware 虚拟机迁移

迁移虚拟机: 迁移意味着将虚拟机从一个主机,数据存储或vcenterserver迁移到另一个主机,数据存储,或vcenterserver 迁移的类型: 冷迁移:将电源关闭的虚拟机迁移到新的主机或数据存储中 挂起:将挂起的虚拟机迁移到新的主机或数据存储 Vsphere vmotion:将开机状态的虚拟机迁…

VMware迁移虚拟机教程

可迁移性是在生产环境中使用虚拟机重要的优势之一,迁移就是将运行在某一台电脑上的虚拟机复制到另一台虚拟机中。无需重新安装任何硬件驱动程序,即可直接运行,这是传统操作系统无法做到的。 迁移教程如下 一、复制虚拟机到目标主机 1、挂起…

虚拟机使用(一) 虚拟机的迁移

文章目录 前言一.什么是vmx文件? 准备工作 前言 新装机电脑,因工作需要,重新迁移ubuntu的虚拟机。直接拷贝虚拟机目录下的vmx文件和.vmdk文件,到新电脑就可以实现了。 一.什么是vmx文件? vmx文件是虚拟机系统的配置…