Centos7系统下KVM虚拟化Migration(07)--企业迁移案例

1.NFS共享存储 在线热迁移技术案例

原理:源主机和目标主机有相同的目录结构,源主机上的VM,可以不关机的情况下热迁移。速度比冷迁移要快。

001.png
主机名IP规划内存所需软件网络虚拟化备注
KVM0110.0.0.112Gyum install -y libvirt qemu-kvm virt-install bridge-utils qemu-img virt-manager libguestfs nfs-utilsNATKVMNFS客户端
KVM0210.0.0.122Gyum install -y libvirt qemu-kvm virt-install bridge-utils qemu-img virt-manager libguestfs nfs-utilsNATKVMNFS客户端
NFS10.0.0.131Gyum install -y nfs-utils rpcbindNATNFS服务器端

Step 1 修改3台主机的hostname

#设置hostname
hostnamectl set-hostname kvm01
hostnamectl set-hostname kvm02
hostnamectl set-hostname nfs
#三台主机分别安装 nfs
yum install -y nfs-utils
#添加本地host解析
vim /etc/hosts
10.0.0.11    kvm01
10.0.0.12    kvm02
10.0.0.13    nfs
#分发到其他机器
scp -rp /etc/hosts 10.0.0.12:/etc/
scp -rp /etc/hosts 10.0.0.13:/etc/

Step 2 查看虚拟机状态

[root@kvm03 v2v]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     Centos7x64_1810        shut off
 -     Centosx64_ESXi          shut off

配置nfs服务端--10.0.0.13服务器

添加配置文件(async异步同步,性能更高)
[root@nfs01 ~]# vim /etc/exports
/data  10.0.0.0/24(rw,async,no_root_squash,no_all_squash)
参数参数说明
ro共享目录只读
rw共享目录可读可写
all_squash所有访问用户都映射为匿名用户或用户组
no_all_squash(默认)访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组
root_squash(默认)将来访的root用户映射为匿名用户或用户组
no_root_squash来访的root用户保持root帐号权限
secure(默认)限制客户端只能从小于1024的tcp/ip端口连接服务器
insecure允许客户端从大于1024的tcp/ip端口连接服务器
sync将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async将数据先保存在内存缓冲区中,必要时才写入磁盘
wdelay(默认)检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率
no_wdelay若有写操作则立即执行,应与sync配合使用
subtree_check若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check(默认)即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
重启注意先后顺序
[root@nfs01 ~]# systemctl restart rpcbind
[root@nfs01 ~]# systemctl restart nfs
[root@nfs01 ~]# systemctl enable rpcbind.service
[root@nfs01 ~]# systemctl enable nfs-server.service
[root@nfs01 ~]# showmount -e localhost

创建/v2v_data目录
[root@nfs01 ~]# mkdir /v2v_data

设置防火墙打开111和2049端口(添加服务)

第一种方式 普通版
[root@nfs ~]# firewall-cmd --permanent --add-service=nfs
success
[root@nfs ~]# firewall-cmd --permanent --add-service=mountd
success
[root@nfs ~]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@nfs ~]# firewall-cmd --reload
success
第二种方式 专业版
firewall-cmd --permanent --add-service=nfs --zone=public
firewall-cmd --permanent --add-service=mountd --zone=public
firewall-cmd --permanent --add-service=rpc-bind --zone=public
firewall-cmd --permanent --add-port=4001/udp --zone=public
firewall-cmd --permanent --add-port=4001/tcp --zone=public
firewall-cmd --permanent --add-port=2049/tcp --zone=public
firewall-cmd --permanent --add-port=2049/udp --zone=public
firewall-cmd --reload
去kvm01和02上检查是否连接nfs
[root@kvm01 /v2v_data]#  showmount -e 10.0.0.13
Export list for 10.0.0.13:
/v2v_data  10.0.0.0/24

[root@kvm02 /v2v_data]#  showmount -e 10.0.0.13
Export list for 10.0.0.13:
/v2v_data  10.0.0.0/24

Setp3挂载并测试查看状态

kvm01上:
[root@kvm01 ~]# mount -t nfs 10.0.0.13:/v2v_data/ /vm_data/
[root@kvm01 ~]# df -h
10.0.0.13:/vm_data  48G  2.2G   46G   5% /data


kvm02上:
[root@kvm02 /vm_data]# mount -t nfs 10.0.0.13:/v2v_data/ /vm_data/
[root@kvm02 /vm_data]# df -h
10.0.0.13:/vm_data  48G  2.2G   46G   5% /data


查看nfs01的/v2v_data目录是否同步之前的文件:
[root@nfs01 ~]# ll -h /v2v_data/
total 446M
-rw-r--r-- 1 107 107 6.3M Sep  3 22:14 Centos7x64_1810.qcow2
-rw-r--r-- 1 107 107 439M Sep  3 22:24 Centos7x64_ESXi.qcow2

Setp4 从kvm02宿主机上迁移虚拟机到kvm01

虚拟机都在kvm02上:
[root@kvm02 /vm_data]# virsh list 
 Id    Name                                               State
----------------------------------------------------------------
1     Centos7x64_1810                          running
2     Centos7x64_ESXi                          running


当前的kvm01上没有虚拟机:
[root@kvm01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------

执行迁移的命令 (将kvm02上的Centos7x64_ESXi 迁移到10.0.0.11宿主机上)
[root@kvm02 /vm_data]# virsh migrate --live --verbose Centos7x64_ESXi  qemu+ssh://10.0.0.11/system --unsafe
root@10.0.0.11's password: 
Migration: [100 %]

在kvm01上查看Centos7x64_ESXi 虚拟机已迁移过来了
[root@kvm01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
1     Centos7x64_ESXi        running

Step5 从kvm01宿主机上迁移虚拟机到kvm02

迁移到10.0.0.12的kvm02宿主机上:
[root@kvm01 ~]# virsh migrate --live --verbose Centos7x64_ESXiqemu+ssh://10.0.0.12/system --unsafe
root@10.0.0.12's password: 
Migration: [100 %]
[root@kvm01 ~]# virsh list
 Id    Name                           State
----------------------------------------------------


在kvm02宿主机上查看已经迁移回来了:
[root@kvm02 /vm_data]# virsh list 
 Id    Name                           State
----------------------------------------------------
1     Centos7x64_1810      running
2     Centos7x64_ESXi      running

2 XenServer 虚拟化技术冷迁移案例(VMWare WorkStation/ESXi也可)

Step 1 XenCenter导出VM到ova格式的文件。

OVA是虚拟机压缩文件,其中包含了磁盘文件和配置文件。

x001.png

导出ova格式,我们可以解压缩该文件
ova格式.png

ova格式的文件上传的KVM服务器上
x003.png

Step 2 解压缩ova文件或得.vhd文件格式的磁盘文件

#通过qemu-img convert磁盘管理工具转换成KVM需要的格式qcow2
[root@kvm03 v2v]# qemu-img convert -O qcow2 56f6e164-ed46-409a-a3c8-a4bf813eacd7.vhd CentOS7v2v.qcow2
[root@kvm03 v2v]# ls
CentOS7v2v.qcow2  Centosx64_ESXi-disk1  Centosx64_ESXi-sda  Centosx64_ESXi.xml

Step3 通过WebVirtMgr创建新的VM

添加存储


003.png

001.png

选择Custom Instance 自定义方式创建虚拟机实例
002.png

Step4 kvm下虚拟机创建成功验证vm状态

004.png

【点击控制台已经可以进入系统】
005.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全-李彦亮(本人)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值