当前位置:首页 期刊杂志

虚拟机存储热迁移技术及SDRS资源平衡计划

时间:2024-05-25

陈立秀

【摘 要】 随着网络技术以及信息技术的迅速发展,大数据技术、人工智能以及物联网技术都得到了广泛的应用,对于大数据的管理与维护需要有效的手段与技术来实现。分布式服务器的数据管理,可以通过计算热迁移来实现,但问题是计算热迁移仅仅是在主机之间为虚拟机提供计算资源(CPU、内存、I/O)的切换,这对于虚拟机管理员手工平衡计算资源有很大的帮助,可是计算热迁移对虚拟机的存储位置的切换并没有任何的作用,因为计算热迁移不会改变虚拟机的存储位置。如果用户环境需要对存储设备进行维护,或者当前存储设备无法满足虚拟机的虚拟硬盘的容量,那么就需要将虚拟机的存储位置进行转移,而且虚拟机在转移的过程中要能保持伺服状态。对此可以通过存储热迁移或者计算存储合并迁移来实现,还可以通过SDRS(Storage Distributed Resource Scheduler)存储分布式资源平衡计划来自动感知当前用户的存储现象,并且给出迁移建议或者直接迁移。

【关键词】 虚拟机;计算;存储;热迁移;SDRS

随着大数据的出现与应用,服务器虚拟化技术也显得尤为重要,而虚拟机的“热迁移”技术又是虚拟化技术中的热点。虚拟机的热迁移是指对处于开机状态的虚拟机执行实时迁移,也就是在保持业务不中断的情况下将虚拟机从一台物理主机迁移到另一台物理主机。虚拟化管理员不能在不同数据中心之间执行热迁移,共享存储(包括分布式存储)是热迁移的前提条件。计算热迁移技术是在主机之间为虚拟机提供计算资源的切换,无论用户将虚拟机的计算资源移向何处,存储位置都不会发生改变。有时候用户并不希望切换计算资源的主机,只希望切换存储位置,或者希望计算资源及存储位置同时切换,为了满足这个要求,可以使用存储热迁移,让虚拟机在保持伺服的状态下以及不改变计算资源的前提下从一个位置切换到另一个位置。可以使用计算和存储合并迁移的方式来脱离共享存储基础设施前提的计算和存储资源的切换。通过数据群集,SDRS存储分布式资源平衡计划自动感知当前用户的存储现象,给出迁移建议或者直接迁移。

一、存储热迁移的基本原理

首先存储热迁移会将虚拟机的NVRAM、VMX、VMkernel交换文件、日志文件、快照文件等从原存储位置复制到新的存储位置,但此时并没有复制虚拟硬盘中的VMDK文件。然后在目标存储设备上启动一个虚拟机的影子(也叫映像),创建一张子磁盘(也叫镜像磁盘),子磁盘的作用是在同步存储热迁移发生过程中实现源和目标存储设备之间的I/O操作。换言之,存储热迁移发生时,对虚拟机磁盘的操作都将被写入到子磁盘中,这就可以最大限度地确保存储热迁移发生时的I/O操作不被丢失。再然后存储热迁移将虚拟机的虚拟磁盘文件VMDK(暂可称为父磁盘),从源存储设备复制到目标存储设备,当父磁盘(原始VMDK)复制完成之后,再将父磁盘(原始VMDK)和子磁盘(镜像磁盘)关联并整合为新的VMDK文件。将控制权以非常迅速的方式移交给目标存储设备之上的影子虚拟机,注意这个过程非常的快速,几乎在几秒钟内完成,不会对伺服业务造成过大的影响,很多时候用户几乎感知不到。最后整个存储热迁移完成之后,将从源存储设备中删除虚拟机文件。

二、虚拟机存储热迁移的实施

(一)实施目标

确认虚拟机的配置文件和VMDK在共享存储中,虚拟机正在使用ESXi-E的计算资源,对共享存储中的虚拟机及VMDK存储热迁移到ESXi-E的本地存储中。

(二)实施环境

实施环境如下图所示,当前虚拟机的配置文件及VMDK存放在共享存储中,计算资源在ESXi-E(192.168.199.5)之上。由于当前用户环境需要对共享存储进行维护,所以需要将原本存储在共享存储中的虚拟机配置文件及VMDK执行存储热迁移到ESXi-E的本地存储中,在这个存储热迁移的过程中,虚拟机要保持伺服状态并维持I/O的持续操作。

(三)实施步骤

首先用户确认当前虚拟机的各项配置文件和VMDK文件存储在一个名为Datastore-iSCSI-SAN的共享存储中,而且正在使用ESXi-E(192.168.199.5)的计算资源。

选择需要执行存储热迁移的虚拟机,然后点击迁移,在出现的更改数据存储选项中,将虚拟机配置文件及VMDK迁移到ESXi-E的本地存储Datastore-ESXi-E中,完成上述配置之后,可以看到迁移进度条。完成存储热迁移之后,用户可以在ESXi-E的本地存储Datastore-ESXi-E中确认存储迁移的情况,而且在这个过程中虚拟机是一直处于伺服状态的,并且伺服没有中断。

三、虚拟机的计算和存储同时热迁移

(一)虚拟机的计算和存储同时热迁移工作原理

在VMware vSphere5.1开始以及之后版本,允许对虚拟机同时执行计算和存储的热迁移,也就是将计算热迁移和存储热迁移的两个功能合并。这种合并的热迁移最大的优势在于可以形成一种无共享存储设备的热迁移,集中体现计算热迁移和存储热迁移的共同优势。一般而言这种合组方式的热迁移只需要用户两台主机处于相同的二层或者大二层即可。

值得注意的是,要对虚拟机执行计算和存储执行热迁移功能(合并迁移)的配置时,必须使用vSphere Web Client登录vCenter,而不能使用vSphere Client完成配置,因为vSphere Client不支持合并迁移的功能。

在執行合并热迁移过程中,被首先复制的是热迁移的存储流量,待存储流量复制完成之后,才开始复制计算流量(内存流量),换言之,合并热迁移首先发生的是存储热迁移,然后才是计算热迁移。存在这种先后顺序的原因是存储迁移中的虚拟硬盘比内存的体积要大很多,速度较慢,所以存储热迁移的时间要比计算热迁移更长,然而内存变化的频率会比虚拟硬盘变化的频率更高,如果在合并迁移过程中首先去执行计算热迁移,那么内存位图文件在等待存储热迁移完成的过程中,会变得非常“臃肿”。所以在合并热迁移的架构设计上采取先存储迁移再计算迁移的原则。

(二)虚拟机的计算和存储同时热迁移实施

1. 实现目标

确定虚拟机的配置文件和VMDK及计算资源都在ESXi-E(192.168.199.5)之上,将虚拟机在ESXi-E上的存储资源和计算资源全部热迁移到ESXi-D中。

2. 实施步骤

首先要确认当前虚拟机的计算资源和存储资源都在物理主机ESXi-E之上,然后选择需要执行合并迁移的虚拟机,选择点击迁移,再选择更改主机和数据存储;紧接着选择迁移的目标资源,在该环境中请选择“Cluster”群集;进一步选择要迁移的目标主机ESXi-D(192.168.199.4);再选择目标数据存储,可将Datastore-ESXi-D-Local的数据存储作为目标存储,选择最优vMotion性能预留CPU,这就意味着如果目标主机没有足够的CPU资源供立即使用,那么vMotion将不会启动。完成上述过程之后,会看到合并热迁移的执行进度条,当进度条完成时,整个合并热迁移即完成。

四、SDRS资源平衡计划

(一)数据存储群集

数据存储群集是具备相似属性的多个数据存储的集合,也叫作对数据存储的池化,在聚合的存储资源上,它们共享资源和管理接口,以实现空间资源平衡、I/O延迟平衡、亲合性和反亲和规则等高级功能等。

(二)存储资源分布式平衡计划——SDRS(Storage Distributed Resource Scheduler)

云数据中心的大量存储资源可能具备不同的存储容量、不同的I/O负载,因此管理人工来决策虚拟机的初始存储位置,以及后期的资源平衡是一个非常头痛的事情。这就需要一种能自动平衡存储资源,决策虚拟机存储位置的功能,毫无疑问存储DRS(简称SRDS)是最佳选择。

SDRS必须基于数据存储群集建立,SDRS要能根据数据存储群集中的不同数据存储的空间情况、I/O延迟、亲和性和反亲和性规则来自动决策虚拟机的存放位置以及后期的资源平衡计划。在初始决策虚拟机的存放位置时,SDRS会对数据存储群集中所有数据存储执行SRDS算法,然后给出建议或者直接将虚拟机自动地存放相应的数据存储之上,通常SDRS给出的这个建议和执行的平衡行为是根据一系列的条件制订的最佳方案。

SDRS如何去决策虚拟机初始放置的位置,以及何时做出迁移或者给出迁移建议?

SDRS主要依赖两个关键因素来决策虚拟机初始放置的位置以及后继的平衡方式与建议。这两个关键因素是数据存储空间的使用率和数据存储的I/O负载情况。

已用空间:当某个数据存储的空间使用率达到该设定值时,SDRS便执行存储迁移或者给出迁移的建议,最终是迁移还是仅给出迁移的建议,取决于SDRS的模式(是全自动还是非自动)。该参数的默认值是80%,比如当前数据存储上有一台虚拟机,该虚拟机的虚拟硬盘随着业务伺服的持续,将逐步变大,如果存放该虚拟机及虚拟硬盘的数据存储空间已经被使用了80%,此时如SRDS果使用的是全自动模式,那么它将会把该虚拟机直接迁移到数据存储群集中的另一个数据存储中,如果SDRS使用的是非自动模式,那么它会给用户提供迁移建议,但是不会自动完成存储迁移。

I/O泄后时间主要是为了避免I/O瓶颈,设定一个关于I/O延迟的值,如果某个数据存储上虚拟机的I/O延迟超大于了设定值,那么SDRS则会执行存储迁移或者给出存储迁移的建议,将虚拟机的存储迁移到时一个低于I/O泄后时间的数据存储之上,到底是执行存储迁移还是仅给出建议,这取决于SDRS的模式。

五、小结

通过虚拟机的存储热迁移的基本工作原理、注意事项、计算和存储,以及热迁移的工作原理,分析了不同的合并热迁移的典型场景、数据存储群集、存储资源分布式平衡计划-人工平衡和全自动化等,对于大数据的热迁移实现了较好的效果。

参考文献:

[1] 杨云. 網络服务器搭建、配置与管理[M]. 北京:人民邮电出版社,2019.

[2] 柳义筠. hadoop应用开发[M]. 上海:上海交通大学出版社,2021.

[3] 池瑞楠,姚骏屏. 虚拟化技术与应用[M]. 北京:高等教育出版社,2018.

[4] 敖志刚. 网络虚拟化技术完全指南[M]. 北京:电子工业出版社,2021.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!