KVM 虚拟机迁移

kvm迁移

1.迁移简介

	系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行**。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展,系统的迁移更加灵活和多样化。

迁移的目的

简化系统维护管理
高系统负载均衡
增强系统错误容忍度
优化系统电源管理

静态迁移和动态迁移

静态迁移:也叫做**常规迁移、离线迁移(Offline Migration**)。就是在虚拟机关机或暂停的情况下从一台物理机迁移到另一台物理机。
动态迁移(`Live Migration`):**也叫在线迁移(`Online Migration`)**。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。

2.热迁移 —Live Migration。

热迁移(又叫动态迁移、实时迁移),即虚拟机保存( save ) / 恢复 (restore) :将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。

迁移的种类
P2P :物理机之间的迁移
V2P :虚拟机迁到物理机
P2V :物理机迁到虚拟机
V2V :虚拟机迁到虚拟机*

3.热迁移的应用

  1. 虚拟机的热迁移技术最初是被用于双机容错或者负载均衡:当宿主机出现软硬件故障导致服务异常时,虚拟机可漂移到另外主机上,或者在集群中依据工作负载量的大小,选择更换宿主机与否来保证自身良好的服务提供性。

  2. 系统硬件维护:当前很多操作系统都能够稳定支持 7×24 运行,但是硬件却需要定期的进行维护。如果使用虚拟机的动态迁移技术,将虚拟机从需要维护的物理机器迁移到另外一主器,等维护完成后,在将其迁回到原来的物理机器。所有的系统服务和应用程序在迁移 & 恢复后仍旧正常运行,用户不会察觉到由于硬件维护造成的中断。最终实现了我们服务不受硬件维护干扰的 7*24 小时的工作愿望。

  3. 数据库备份:对于一些大型、关键的数据库应用,备份是一项重要但复杂的工作。虚拟机的保存/ 恢复可以将数据库运行在虚拟机中,如需备份就保存虚拟机,这样数据库中的所有数据、状态都做了备份。如果数据库崩溃了,就可以通过恢复虚拟机来恢复整个数据库。**

  4. 环境重现:进行性能测试或程序调试时,都需要重现当时复杂庞大并且与实时完全一致的网络环境 , 不仅仅是重启、配置软件,而且常常需要一定的运行时间。我们可以将各服务安装到独立的各个虚拟机,然后利用各个独立虚拟机部署我们所需的工作环境,可以大大缩短环境重现时间。

  5. 计算机共享: 在一些公共场合用户需要共享计算机,但是由于不同的系统配置和软件需要花费大量的时间来配置和恢复。这时使用虚拟机的保存 /恢复可以很好地解决这个问题。或者也可以,在物理机上运行多个逻辑虚拟机帮助我们分配给每一个需要者一个独立,安全,稳定的环境。当因为宿主机出现问题影响虚拟机使用时,我们可以让该虚拟机漂移到其他宿主机以此来保持正常工作。

4.、热迁移的优势

  1. 首先是可伸缩性比较强, IT 管理者可以在合理时间段让运行某些关键业务的服务器适当减少工作量,以便进行更新操作系统,给应用程序打补丁等。而到了服务高峰期,又可以弹性地进行大负载量的运算。虚拟机迁移过程完全透明,几乎不影响使用。

  2. 其次,现在的数据中心都追求环保节能, 工作量负载大的应用程序必然会令服务器能耗增加,有了虚拟机热迁移技术,当一台物理服务器负载过大时,系统管理员可以将其上面的虚拟机迁移到其他服务器,可有效减低数据中心服务器的总体能耗,再通过冷却系统将数据中心的温度保持在正常水平。

5、热迁移的局限

进行虚拟机的热迁移也有不少的限制。 VMotion 在进行迁移之前,管理软件会检测目标服务器的 X86 架构是否与原服务器兼容。包括存储设备以及处理器,虚拟机必须放到共享的存储里CPU 的类型也要一样,不仅不能一个是英特尔,一个是 AMD ,甚至相同厂商不同产品线的CPU 也不行,比如英特尔至强和奔腾

6、衡量虚拟机迁移的效率

  1. 整体迁移时间:从源主机中迁移操作开始到目的主机上客户机服务处于不可用状态的时间,此时源主机上客户机已经暂停服务,目的主机上的客户机还未恢复服务。

  2. **服务器停机时间:**在迁移过程中,源主机和目的主机上的客户机都处于不可用状态的时间,此时源主机上客户机已暂停,目的目的主机上客户还未恢
    复服务。

  3. 对服务的性能影响:不仅包括迁移后的客户机中应用程序的性能与迁移前相对比是否有所降低,还包括迁移后对目的主机上的其他服务的性能影响。

7.Kvm 动态迁移,建议和注意事项**:

  1. 源宿主机和目的宿主机直接尽量用网络共享的存储系统来保存客户机磁盘镜像。例如 NFS , ISCSI , Glusterfs 等。

  2. 为了提高动态迁移的成功率,尽量在同类型 cpu的主机上面进行动态迁移,尽管 kvm 动态迁移也支持从 Intel 平台迁移到 amd 平台。 但,从安全性,稳定度考虑不建议这样去操作!!!

  3. 64 位的客户机只能运行在 64 宿主机之间的迁移,而 32 位客户机可以在 32 宿主机和 64 位宿主机之间迁移

  4. 在进行动态迁移时,被迁移客户机的名称是唯一的,在目的宿主机上不能有与源宿主机被迁移客户机同名的客户机存在。

  5. 目的宿主机和源宿主机的软件尽可能的相同。也就是同为 Vmware , KVM , Xen 等。

8.KVM性能优化

CPU优化

# 要考虑CPU的数量问题,所有guestcpu的总数目不要超过物理机CPU的总数目

内存优化

# KSM(Kernel Samepage Merging,相同页合并)
1.内存分配的最小单位是page(页面)
2.默认大小是4KB
3.可以将host机内容相同的内存合并,以节省内存的使用
4.KSM会稍微影响系统性能,以效率换空间
5.如果系统的内存很宽裕,则无须开启KSM,如果想尽可能多地并行运行KVM客户机,则可以打开KSM
ll /sys/kernel/mm/ksm/ //查看内核信息
	pages_shared合并的页面数
	pages_sharing 正在共享单个页面的虚拟页面数
	page_unshared 作为共享候选者但当前未共享的页数
	page_volatile 作为共享候选者但频繁更改的页数,KSM服务不会合并这个页面
	full_scan 为重复内容扫描KSM的次数
	merge_across_nodes 是否允许在NUMA节点中执行合并
	pages_to_scan 一次扫描的页数,该数字会影响系统性能
	sleep_milisecs 扫描之间的时间间隔
6.每个页面的大小为4KB,可计算出共享内存为:4页面数=内存大小(KB)
cd /sys/kernel/mm/ksm/
cat run //是否开启KSM,0是不开启,1是开启
echo 1 > run    //临时开启KSM,只能使用重定向,不支持VI编辑器
vi /etc/rc.local        //添加echo 1 > /sys/kernel/mm/ksm/run,让KSM开启自启
cat pages_to_scan       //定期扫描相同页,sleep_millisecs决定多长时间,    pages_to_scan决定每次查看多少个页面,默认为100,越大越好,超过2000无效,  需要开启两个服务ksmtuned和tuned支持更过页面


# 对内存设置限制
如果我们有多个虚拟机,为了防止某个虚拟机无节制地使用内存资源,导致其他虚拟机无法正常使用,就需要对内存的使用进行限制
	virsh memtune c01 //查看当前虚拟机c01内存的限制,单位为KB

# 大页后端内存(Huge Page Backed Memory)
使用大页,KVM的虚拟机的页表将使用更少的内存,并且将提高CPU的效率
	cat /proc/meminfo //查看内存信息,无可用大页
	echo 25000 > /proc/sys/vm/nr_hugepages //指定大页需要的内存页面数量(临时生效)
	sysctl -w vm.nr_hugepages=25000     //指定大页需要的内存页面数永久生效
	或者在/etc/sysctl.conf中添加vm.nr_hugepages=2500来持久设定大页文件系统需要的内存页面数。
	virsh destroy c01   //删除原有的域
	virsh edit c01  //编辑虚拟机的XML配置文件使用大页来分配内存

I/O的优化

# 为了避免过度消耗磁盘资源而对其他的虚拟机造成影响,希望每台虚拟机对磁盘资源的消耗是可以控制的;如多个虚拟机往硬盘中写数据,谁可以优先写,就可以调整I/O的权重weight,权重越高写入磁盘的优先级越高.
对磁盘I/O控制有两种方式
1.在整体中的权重,范围在100~1000。
2.限制具体的I/O
	virsh blkiotune c01 //查看c01的I/O参数
	virsh blkiotune c01 --weight 500    //设置权重为500
	virsh blkiotune c01     //再次查看
	virsh edit c01 //也可编辑虚拟机的XML配置文件
	virsh blkiotune --help //查看使用帮助

系统调优工具tuned/tuned-adm

# 系统调优工具tuned/tuned-adm
tuned-adm允许用户自己创建和定制新的调优方案
yum install tuned -y    //安装和启动tuned工具
service tuned start
tuned-adm active  //查看当前优化方案
tuned-adm list //查看预先设定好的优化方案
tuned-adm profile virtual-host //修改优化方案为virtual-host
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值