kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移

简介:

相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移。

KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,CentOS6.5版本是qemu-kvm-0.12.1.2,其它发行版可能有支持。

1.虚拟化平台架构

1.png

2.虚拟化环境介绍

(1)KVM虚拟化服务器node1
操作系统版本:CentOS6.5x86_64
KVM虚拟化:自带版本
桥接IP地址1:10.10.172.191
测试虚拟机:CentOS6.5-01

虚拟机IP地址:10.10.172.241
虚拟磁盘文件1:/data/kvm/CentOS6.5-01.qcow2

虚拟磁盘文件2:/data/kvm/CentOS6.5-01_add.qcow2

nfs挂载目录:/data/kvm

(2)KVM虚拟化服务器node2
操作系统版本:CentOS6.5x86_64

KVM虚拟化:自带版本
桥接IP地址1:10.10.172.192

nfs挂载目录:/data/kvm

(3)nfs服务器(nfs配置略)
操作系统版本:CentOS6.5x86_64

桥接IP地址1:10.10.172.193

nfs服务目录:/kvmdata

3.kvm虚拟主机配置准备

(1)节点1挂载nfs目录

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node1 ~] # mount -t nfs 10.10.172.193:/kvmdata /data/kvm/
[root@node1 ~] # df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root    14G  3.2G  9.5G  26% /
tmpfs                         3.9G   80K  3.9G   1%  /dev/shm
/dev/sda1                      485M   39M  421M   9%  /boot
/dev/sdb1                      197G   28G  160G  15%  /data
10.10.172.193: /kvmdata          14G  7.1G  5.6G  57%  /data/kvm
[root@node1 ~] # ll /data/kvm/
total 2264200
-rw-r--r-- 1 root root     393216 Nov 29  2017 CentOS6.5-01_add.qcow2
-rw-r--r-- 1 root root 2318139904 Nov 29  2017 CentOS6.5-01.qcow2
[root@node1 ~] #

(2)节点2挂载nfs目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@node2 ~] # mount -t nfs 10.10.172.193:/kvmdata /data/kvm/
[root@node2 ~] # df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root    14G  2.8G  9.9G  22% /
tmpfs                         1.9G   72K  1.9G   1%  /dev/shm
/dev/sda1                      485M   39M  421M   9%  /boot
/dev/sdb1                      197G  7.2G  180G   4%  /data
10.10.172.193: /kvmdata          14G  7.1G  5.6G  57%  /data/kvm
[root@node2 ~]
[root@node2 ~] # ll /data/kvm/
total 2264200
-rw-r--r--. 1 root root 393216 Nov 29  2017 CentOS6.5-01_add.qcow2
-rw-r--r--. 1 root root 2318139904 Nov 29  2017 CentOS6.5-01.qcow2
[root@node2 ~] #


确保两节点都有相同的虚拟机磁盘文件存储目录。

4.kvm虚拟机迁移

(1)节点1虚拟机状态,oeltest01虚拟机开机状态

1
2
3
4
[root@node1 ~] # virsh list --all
  Id    Name                           State
----------------------------------------------------
  -     CentOS6.5-01                   running

(2)节点2虚拟机状态,无虚拟机运行

1
2
3
[root@node2 ~] # virsh list --all    
  Id    Name                           State
----------------------------------------------------

(3)在主机1上执行迁移命令

1
2
3
4
5
6
7
8
[root@node1 ~] # virsh migrate --live --verbose CentOS6.5-01 qemu+ssh://10.10.172.192/system tcp://10.
10.172.192
root@10.10.172.192's password: 
Migration: [100 %]
[root@node1 ~] # virsh list --all
  Id    Name                           State
----------------------------------------------------
  -     CentOS6.5-01                   shut off

过程有一个暂停与关闭的过程。

(4)客户机一直ping查看迁移,可以看到中间有两个包的中断,基本上没有太大影响。

1
[root@localhost ~] # ping 10.10.172.241

(5)虚拟主机2上,可以看到虚拟机CentOS6.5-01已经启动了。

1
2
3
4
[root@node2 ~] # virsh list --all
  Id    Name                           State
----------------------------------------------------
  1     CentOS6.5-01                   running

虽然CentOS6.5-01虚拟机已经在节点2上启动了,但是虚拟主机上还没有CentOS6.5-01虚拟机的配置文件。所以需要创建配置文件并定义虚拟机。

1
2
3
4
5
6
7
[root@node2 ~] # cd /etc/libvirt/qemu
[root@node2 qemu] # ls
networks
[root@node2 qemu] # ll
total 4
drwx------. 3 root root 4096 Nov 27 07:57 networks
[root@node2 qemu] #

(6)kvm虚拟主机2上,通过迁移过来的虚拟机内存状态创建虚拟机配置文件,并通过xml配置文件定义虚拟机。

1
2
3
4
5
6
7
8
9
10
11
12
[root@node2 qemu] # virsh dumpxml CentOS6.5-01 > /etc/libvirt/qemu/CentOS6.5-01.xml
[root@node2 qemu]
[root@node2 qemu] # ll -h
total 8.0K
-rw-r--r--  1 root root 3.5K Nov 27 09:18 CentOS6.5-01.xml
drwx------. 3 root root 4.0K Nov 27 07:57 networks
[root@node2 qemu]
[root@node2 qemu] # virsh define /etc/libvirt/qemu/CentOS6.5-01.xml
Domain CentOS6.5-01 defined from  /etc/libvirt/qemu/CentOS6 .5-01.xml
 
[root@node2 qemu]
[root@node2 qemu] #

在kvm虚拟主机2上进入虚拟机没有问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@node2 qemu] # virsh console CentOS6.5-01
Connected to domain CentOS6.5-01
Escape character is ^]
 
CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
 
CentOS6.5-01 login: root
Password: 
Last login: Mon Nov 27 15:33:12 on ttyS0
[root@CentOS6 ~] # ifconfig 
eth0      Link encap:Ethernet  HWaddr 52:54:00:56:9A:7F  
           inet addr:10.10.172.241  Bcast:10.10.172.255  Mask:255.255.255.0
           inet6 addr: fe80::5054:ff:fe56:9a7f /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:372 errors:0 dropped:0 overruns:0 frame:0
           TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:41334 (40.3 KiB)  TX bytes:566 (566.0 b)
 
lo        Link encap:Local Loopback  
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1 /128  Scope:Host
           UP LOOPBACK RUNNING  MTU:16436  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
 
[root@CentOS6 ~] #

到此,kvm虚拟机动态迁移成功。



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/2044775,如需转载请自行联系原作者

目录
打赏
0
0
0
0
265
分享
相关文章
在Hyper-V虚拟化的图形处理中,怎么调整虚拟机的屏幕分辨率?
在Hyper-V虚拟化中,调整虚拟机屏幕分辨率对提升用户体验和确保应用程序兼容性至关重要。高分辨率可提供清晰图像、提高工作效率,并避免显示异常。调整方法包括通过增强会话模式、虚拟机内部设置或手动编辑配置文件。注意事项包括正确安装显卡驱动、避免过高分辨率及及时保存设置。
虚拟化数据恢复—误还原快照导致虚拟机上数据库丢失的数据恢复案例
虚拟化数据恢复环境&故障: vmfs文件系统,存储的数据是SqlServer数据库及其他办公文件。 工作人员误将快照还原,导致了SqlServer数据库数据的丢失,需要恢复原来的SqlServer数据库文件。
74 22
虚拟化数据恢复—Vmware虚拟机误还原快照的数据恢复案例
虚拟化数据恢复环境: 一台虚拟机从物理机迁移到ESXI虚拟化平台,迁移完成后做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了数年的数据。 ESXI虚拟化平台上有数十台虚拟机,EXSI虚拟化平台连接了一台EVA存储,所有的虚拟机都存放在EVA存储上。 虚拟化故障: 工组人员误操作将数年前迁移完成后做的快照还原了,也就意味着虚拟机状态还原到数年前,近几年数据都被删除了。 还原快照相当于删除数据,意味着部分存储空间会被释放。为了不让这部分释放的空间被重用,需要将连接到这台存储的所有虚拟机都关掉,需要将不能长时间宕机的虚拟机迁移到别的EXSI虚拟化平台上。
176 50
虚拟化数据恢复—VMFS简介&误删除虚拟机的数据恢复案例
物理区:物理上连续的磁盘空间,即通常意义上的分区。 本地区:VMFS管理的物理区分为保留区和本地区,前面一部分是保留区,后面部分是本地区。本地区又分为元文件区和数据区。 元文件:与NTFS的元文件类似,属于FS的管理用数据。VMFS有6个元文件:.VH.SF/.FBB.SF/.FDC.SF/.SBC.SF/.PBC.SF/.PB2.SF。 元文件区:6个元文件占用的所有空间,在本地区的前面部分。 数据区:用于存放文件数据。 datastore:在ESX服务器上看到的VMFS存储空间。 LV:logical volume,所指的范围其实和本地区一样,即虚拟化卷。 LVM逻辑卷组:用来管理跨dis
虚拟化数据恢复——Hyper-V虚拟化故障导致虚拟机文件丢失的数据恢复案例
在Windows Server上部署的Hyper-V虚拟化环境中,因存储中虚拟机数据文件丢失导致服务瘫痪。北亚企安数据恢复工程师通过物理检测、操作系统及文件系统检测,确定为人为格式化造成,并通过镜像硬盘、重组RAID、分析并恢复文件索引项等步骤,成功恢复数据,最终在新Hyper-V环境中验证并迁移所有虚拟机,确保用户业务恢复正常运行。
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
347 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等