设为首页
收藏本站
黑币充值
VIP购买
用户登录
用户注册
请
登录
后使用快捷导航
没有帐号?
会员注册
用户名
Email
自动登录
找回密码
密码
登录
会员注册
论坛
家园
任务
排行榜
服务器
总版规
广告投放
邀请码
VIP购买
官方QQ群:
每日签到
会员求助
云排名
计算机基础
黑帽seo
白帽seo
建站分享
网赚营销
网络安全
linux交流
windows
资源教程
编程开发
数据库
艺术设计
视频制作
IT新闻
人生百态
金点子
每日签到
信息监察
站务公告
职位申请
站内投稿
站群服务
黑帽联盟
»
论坛
›
系统/web安全
›
linux交流
›
Virsh 虚拟机迁移
返回列表
查看:
583
|
回复:
0
[资源教程]
Virsh 虚拟机迁移
[复制链接]
定位
定位
当前离线
窥视卡
雷达卡
895
主题
38
听众
3323
积分
管理员
TA的每日心情
无聊
5 天前
签到天数: 1644 天
[LV.Master]伴坛终老
收听TA
发消息
电梯直达
楼主
|
只看该作者
|
倒序浏览
简介
虚拟机迁移主要分为两种:
静态迁移和动态迁移
静态迁移是指在虚拟机关闭或暂停的情况下,将源宿主机上虚拟机的磁盘文件和配置文件拷贝到目标宿主机上。这种方式需要显式的停止虚拟机运行,对服务可用性要求高的需求不合适。
动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件,可以通过多种方式实现,本例采用基于共享存储动态迁移,通过NFS来实现。
操作环境
服务器操作系统:Ubuntu14.04版本。
源宿主机为节点1:主机名xjy-pc,桥接IP为192.168.10.221,NFS挂载目录/home/kvm。
目标宿主机为节点2:主机名为lib,桥接IP为192.168.10.215,NFS挂载目录/home/kvm。
静态迁移测试虚拟机:demo,IP为192.168.10.210,虚拟磁盘文件为ubuntu.raw。
动态迁移测试虚拟机:demo3,IP为192.168.10.210,虚拟磁盘文件为ubuntu.raw。
NFS服务器:操作系统版本:Ubuntu14.04,桥接IP为192.168.10.161,服务目录为/mnt/vg/。
迁移步骤:
虚拟机静态迁移: 静态迁移也叫做常规迁移、离线迁移(Offline Migration)。是在虚拟机关机或暂停的情况下,拷贝虚拟机磁盘文件与配置文件到目标虚拟主机中,实现的从一台物理机到另一台物理机的迁移。因为虚拟机的文件系统建立在虚拟机镜像文件上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上即可。如果需要保存虚拟机迁移之前的状态,那么应该在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。
1、首先在节点1上进行操作,首先确定demo虚拟机的状态为关闭
2024-3-7 15:43 上传
下载附件
(4.31 KB)
2、准备迁移demo虚拟机,使用命令virsh domblklist demo 查看demo虚拟机的磁盘文件
2024-3-7 15:43 上传
下载附件
(4.45 KB)
3、导出虚拟机配置文件
2024-3-7 15:43 上传
下载附件
(25.55 KB)
4、拷贝配置文件到目标宿主机上,目标宿主机的IP地址为192.168.10.215
2024-3-7 15:43 上传
下载附件
(5.12 KB)
5、将虚拟机磁盘文件也拷贝到目标宿主及上,虚拟机demo的磁盘文件为ubuntu.raw
2024-3-7 15:43 上传
下载附件
(4.35 KB)
6、此时,已经将原宿主机节点1上的demo虚拟机的磁盘文件和配置文件豆腐知道目标宿主机节点2上,下面开始在目标宿主机节点2上进行虚拟机的配置和启动
7、在目标宿主机借点2上操作,首先查看节点2环境,如下图,demo虚拟机的配置文件已经拷贝过来
2024-3-7 15:43 上传
下载附件
(17.03 KB)
8、查看虚拟机磁盘文件,如下图,ubuntu.raw磁盘文件已经拷贝过来,目录结构与原宿主机一致
2024-3-7 15:43 上传
下载附件
(12.29 KB)
9、使用virsh的子命令define定义并注册demo虚拟机
2024-3-7 15:43 上传
下载附件
(4.33 KB)
10、启动迁移后的demo虚拟机,通过virsh console demo 登录到迁移后的虚拟机进行确定
2024-3-7 15:43 上传
下载附件
(5.74 KB)
动态迁移
1、KVM虚拟机动态迁移无需拷贝虚拟机配置文件和磁盘文件,但是需要迁移的主机之间有相同的目录结构放置虚拟机磁盘文件(本例为“/home/kvm”目录),这里的动态迁移是基于共享存储动态迁移,通过NFS来实现,需要qemu-kvm-0.12.2以上版本支持。
2、在NFS服务器上,下载安装NFS,kernel-server相当于server端,common是client端,使用命令“sudo apt-get install nfs-kernel-server nfs-common portmap”安装NFS。
在节点1和节点2中 使用 sudo apt-get install nfs-common 安装client端
3、配置NFS服务器,IP为192.168.10.161,将NFS服务器上的“/mnt/vg”目录设为服务目录。首先使用命令“sudo mkdir /mnt/vg”创建该目录,然后使用命令“sudo chmod 777 /mnt/vg”修改该目录权限,接下来使用vim修改“/etc/exports”文件添加共享目录,在该文件中添加
/mnt/vg *(rw,sync)
即可。*(rw,sync)是命令参数,表示包括读写权限。
4、“/etc/exports”文件修改后,使用命令“sudo exportfs –r”刷新。然后启动NFS服务,命令如下:
sudo /etc/init.d/rpcbind start
sudo /etc/init.d/nfs-kernel-server restart
5、NFS服务启动后,在节点1上使用命令“showmount –e 192.168.10.161”查看共享目录
2024-3-7 15:43 上传
下载附件
(4.36 KB)
6、在节点1或节点2上使用命令“scp ubuntu.raw 192.168.10.161:/mnt/vg”,将demo3虚拟机的虚拟磁盘文件ubuntu.raw。拷贝到NFS服务的共享目录
这里需要在nfs服务器允许ssh连接,以及对/mnt/vg 开启读写权限
编辑sshd_config文件,输入:vim /etc/ssh/sshd_config
进行相应设置,替换为如下:
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes
接下来,重启ssh服务,输入: /etc/init.d/ssh restart
开启文件权限:
shmod 777 /mnt/vg/
7、在节点1和节点2的“/home/kvm”目录上,分别使用命令“mount -t nfs 192.168.10.161:/mnt/vg /home/kvm -o rw”进行挂载
2024-3-7 15:43 上传
下载附件
(8.45 KB)
8、挂载完成后两节点都有相同的虚拟机磁盘文件存储目录,下图为节点1挂载后的“/home/kvm”目录结构
2024-3-7 15:43 上传
下载附件
(128.55 KB)
9、查看节点1上虚拟机状态,demo3虚拟机处于运行状态,(如果demo3未运行将其启动运行)
2024-3-7 15:43 上传
下载附件
(42.31 KB)
10、查看节点2上虚拟机状态,无虚拟机运行
2024-3-7 15:43 上传
下载附件
(4.01 KB)
11、在节点1上执行“virsh migrate”迁移命令,从下图可以看出虚拟机demo3在迁移出去的过程中,状态有从“running”到“shut off”的一个改变。
完整命令为“virsh migrate --live --verbose demo3 qemu+ssh://192.168.10.215/system tcp://192.168.10. 215 --unsafe”
–verbose 指迁移demo3虚拟机,192.168.10.215为节点2的IP地址,使用tcp协议连接
–unsafe参数表示跳过安全检测
代码执行如图所示:
2024-3-7 15:43 上传
下载附件
(6.9 KB)
12、在节点2上,查看虚拟机demo3虚拟机状态
2024-3-7 15:43 上传
下载附件
(4.07 KB)
13、在迁移过程中,可以通过另外一台客户机一直ping虚拟机demo3,查看demo3前一过程中的可连接性,实际上迁移过程中偶尔有几个包的中断,基本上没有太大的影响
14、此时虽然demo3虚拟机已经在节点2上启动了,但是节点2上还没有demo3虚拟机的配置文件。这时需要创建配置文件并定义该虚拟机,可以通过迁移过来的虚拟机内存状态创建虚拟机配置文件
命令为“virsh dumpxml demo3 > /etc/libvirt/qemu/demo3.xml”
然后通过xml配置文件定义虚拟机,命令为“virsh define /etc/libvirt/qemu/demo3.xml”。
2024-3-7 15:43 上传
下载附件
(3.93 KB)
15、使用命令“virsh console demo3”连接节点2上的demo3虚拟机
2024-3-7 15:43 上传
下载附件
(4.53 KB)
文章转载自:https://blog.csdn.net/LEoe_/article/details/78740088
转播
0
淘帖
0
分享
0
收藏
0
赞
0
踩
0
帖子永久地址:
推荐给好友
黑帽联盟 - 论坛版权
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与
黑帽联盟
享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和
黑帽联盟
的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、
黑帽联盟
管理员和版主有权不事先通知发贴者而删除本文
勿忘初心,方得始终!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
会员注册
发表回复
回帖并转播
回帖后跳转到最后一页
发布主题
!fastreply!
收藏帖子
返回列表
搜索
个人中心
个人中心
登录或注册
回顶部
积分 0, 距离下一级还需 积分
回顶部