虚拟化已经是许多数据中心的基础架构,许多业务系统也已经运行在虚拟化环境中。采用虚拟化的一个优点是可以动态分配资源。对于某一台具体的虚拟机来说,可以根据需要增加虚拟机内存、CPU及磁盘空间,并且不需要虚拟机关机和重新启动。如果要减少虚拟机占用的CPU与内存,则需要关闭虚拟机,将虚拟机的内存大小和CPU数量减少到合适的数值,然后重新启动虚拟机。但对于虚拟机硬盘来说,如果要减少已经分配的硬盘空间就较为困难,本文介绍在虚拟机中回收磁盘空间的内容。 在为虚拟机分配磁盘空间的时候,推荐采用如下的原则: (1)操作系统分区单独分配一个磁盘。对于Windows操作系统来说,系统磁盘大小一般为40~80GB,再加上虚拟机内存的1~1.5倍。如果虚拟机分配内存小于16GB,系统磁盘在60~100GB可满足需求。如果虚拟机内存较大,例如60~128GB,系统磁盘建议在120GB~200GB为宜。 (2)数据存放在另外单独的磁盘中,并且使用GPT分区格式化。数据磁盘根据占用的空间大小进行动态扩容,不建议一开始就分配较大的磁盘。例如只需要几十GB,但却分配几TB的空间。 (3)对于需要较大数据空间时,建议创建多个单独的磁盘,使用动态卷的方式进行扩容。虽然vSphere的虚拟机支持单一磁盘上限为62TB,但也不建议分配这么大的空间,而是根据较长一段时间占用的磁盘空间,分配为3~4个磁盘并且后期根据需要进入扩容。例如需要16TB,初期需要8TB以下,建议按4TB一个的容量进行添加。初期可以添加2个4TB的磁盘,后期可以根据需要,每次添加4TB。 (4)如无必要,不建议配置太多的盘符。一般系统分配使用C盘,数据盘使用D盘。如果需要短期的备份,备份可以使用E盘。 使用这种分配的优点也比较明显,C、D、E磁盘可以根据需要随时进行扩容。另一个优点则是动态磁盘除了可以动态扩容,还可以压缩回收空间。下面通过一个具体的实例介绍这种情况。 某单位使用VMware vSphere虚拟化,使用Veeam备份虚拟机,情况如下。 虚拟化环境使用2台服务器(A、B)、1台共享存储组成VMware vSphere虚拟化环境。另外一台服务器C配置了多块大容量的磁盘,安装相同VMware ESXi版本,在ESXi服务器中创建Windows Server虚拟机、安装Veeam备份软件,备份A、B中的虚拟机。Veeam的备份虚拟机分配了3个磁盘,第1个磁盘为系统磁盘,安装Windows Server与Veeam备份软件,第2、第3个磁盘为数据D盘(如图1所示),用来存放备份的文件(如图2所示)。 ![](https://s4.51cto.com/images/blog/202106/03/b9bb069f3ba48cdc30a8b2e4e4bf73d8.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图1 虚拟机共3个磁盘 【说明】磁盘1为精简置备格式磁盘,大小为100GB;磁盘2为厚置备磁盘,大小为16TB;磁盘3为厚置备磁盘,大小为8TB。 ![](https://s4.51cto.com/images/blog/202106/03/4be85df3fe632d61e05a1d5a7c790746.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图2 Veeam备份后的文件 当前磁盘已经使用了15.16TB,剩余8.74TB,如图3所示。 ![](https://s4.51cto.com/images/blog/202106/03/e110bb864987b264a6f20f0a23418443.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图3 磁盘使用情况 当前Veeam备份虚拟机所在ESXi主机还有601.99GB的空间,如图4所示。 ![](https://s4.51cto.com/images/blog/202106/03/0cc49032e6c693fef27eaa1acc5d6d69.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图4 查看备份主机所在存储剩余空间 Veeam是一款非常不错的软件,尤其是备份与恢复VMware虚拟机这一方面。当前使用Veeam备份已经有几年的时间,备份没有出过错误,期间也多次做数据的恢复演练,数据恢复也没有任何问题。但是,作为管理员来说,对于数据的安全考虑的会更多。因为Veeam是运行在Windows操作系统的一款软件,如果因为意外感染了勒索病毒导致备份被加密,那备份也就失去了意义。考虑到Veeam除了支持备份还支持复制,可以使用Veeam的虚拟机复制功能,将服务器A、B中的虚拟机复制到服务器C的本地存储中。即使安装备份的虚拟机感染了病毒,但虚拟机的备份是在ESXi的VMFS存储这一层,安全级别相对高一些。 考虑到这一点之后,就可以使用Veeam的虚拟机复制功能了,但现在有一个问题,如果在保留现有虚拟机备份的前提下,再使用虚拟机复制,备份服务器没有足够的空间来放置A、B中需要备份的虚拟机了。可能有人说,把Veeam备份虚拟机的16TB、8TB磁盘删除不就释放空间了吗?这样是能释放空间,但如果删除了备份文件、新的虚拟机复制没有完成之前,在此期间有些虚拟机出了问题怎么办?这是一个致命的问题。 这个时候,为虚拟机备份磁盘划分为多个磁盘的优势就发挥出来。从图1、图3来看,当前备份占用的空间是15TB,少于16TB,可以将磁盘3的8TB空间回收。方法是压缩动态磁盘,将D分区的容量减小到16TB以下,磁盘3成为没有使用的磁盘后就可以删除磁盘3。主要的步骤如下(下面的操作在Veeam备份虚拟机中进行)。 (1)暂时停止Veeam备份任务。 (2)进入“计算机管理→磁盘管理”,用鼠标右击D,选择“压缩卷”,如图5所示。 ![](https://s4.51cto.com/images/blog/202106/03/b155546921946f4864f66fea100752d2.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图5 压缩卷 (3)在“压缩D”对话框中的“输入压缩空间量”显示了当前磁盘能压缩的最大空间,当前是9509823,选择这一数值并单击“压缩”按钮,如图6所示。 ![](https://s4.51cto.com/images/blog/202106/03/2b2f5d0a438a5d836f0325f59fbcd803.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图6 输入压缩空间量 (4)磁盘管理工具开始压缩并调整磁盘的大小,这个需要较长的时间,一定不要着急。此时计算机管理是无反应的状态,不要频繁在此单击鼠标进行操作,如果要查看进度状态,可以打开“资源监视器→磁盘”,在“磁盘活动”中查看磁盘1、磁盘2的状态,如图7所示。 ![](https://s4.51cto.com/images/blog/202106/03/b0bb9d53723dbbb41c7d8c06313e4259.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图7 查看磁盘活动 (5)在此次磁盘压缩中,任务从当天的11点53分开始,到第二天上午6点46到6点59之间完成(在6点46的时候磁盘压缩还没有完成,磁盘活动队列还有持续的显示,但到了6点59分再检查的时候队列已空)。 (6)打开“计算机管理→存储→磁盘管理”,可以看到磁盘2已经成为“未分配”,磁盘1后面也压缩出了1T多的空间,如图8所示。 ![](https://s4.51cto.com/images/blog/202106/03/2171577a34c87be4ebbb594429cba502.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图8 磁盘2状态为未分配 (7)用鼠标右击单击“磁盘2”,在弹出的快捷菜单中选择“脱机”,如图9所示。 ![](https://s4.51cto.com/images/blog/202106/03/5186b8870ea28718eb98e9563530f949.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图9 磁盘2脱机 此时,可以关闭Veeam备份虚拟机,修改Veeam备份虚拟机的设置,从虚拟机中移除磁盘2。安全的操作步骤如下。 (1)编辑Veeam备份虚拟机,检查“硬盘3”容量为8TB,记录下硬盘3的存储位置及磁盘文件名,如图10所示。 ![](https://s4.51cto.com/images/blog/202106/03/e684761dd0aa7a3698d52ffa54e7a39f.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图10 检查硬盘3信息 (2)确认硬盘3为此次删除的磁盘后,单击“硬盘3”,选择“移除”,在“移除选项”中选择“从虚拟机中移除”,不要选择“从虚拟机中移除并从磁盘删除文件”,如图11所示,单击“确定”按钮。 ![](https://s4.51cto.com/images/blog/202106/03/e719d06f425c3739c37badfaa26ca19c.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图11 从虚拟机中移除硬盘3 (3)从虚拟机中移除硬盘3后,打开虚拟机的电源,再次进入“计算机管理→存储→磁盘管理”,此时磁盘2位置状态为“丢失”,用鼠标右键单击,在弹出的快捷菜单中选择“删除磁盘”,如图12所示。 ![](https://s4.51cto.com/images/blog/202106/03/b98bf189ab7ff6f9985d66e7f1ea0e4b.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图12 删除不活动的磁盘 (4)检查Veeam备份软件,D盘保留的备份文件是否正常。 (5)确认Veeam备份虚拟机一切正常后,浏览Veeam备份虚拟机“硬盘3”所在存储,找到硬盘3的磁盘文件,用鼠标右键单击选择“从磁盘中删除”,如图13所示。选中磁盘时左下角显示容量大小为8TB。 ![](https://s4.51cto.com/images/blog/202106/03/8cfa2816238bdb4f17f4de8bfd68d257.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图13 从磁盘中删除硬盘3的VMDK文件 (6)删除之后,浏览服务器C,可以看到存储可用空间增加,当前可用空间是8.59TB,如图14所示。 ![](https://s4.51cto.com/images/blog/202106/03/9cd59c69c5544b6495755006d765c71e.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图14 查看存储可用空间 (7)最后再切换到Veeam备份虚拟机,在“计算机管理→存储→磁盘管理”中将D盘扩容,使用磁盘1的所有空间,如图15所示。 ![](https://s4.51cto.com/images/blog/202106/03/b5a74206cbda799b2e48767e6c85ddc2.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 图15 扩展D盘 后期的策略是使用Veeam复制功能,将服务器A、B中的虚拟机复制到C一段时间之后,再移除16TB的磁盘,创建一个4TB的磁盘,对重要的服务器同时使用虚拟机备份功能。这样重要的服务器有2种不同的备份方式,普通的服务器使用虚拟机的复制功能进行备份。 ==========视频,如需浏览请用鼠标右键单击打开============= VMware Horizon 8 桌面虚拟化入门 https://edu.51cto.com/course/28118.html VMware vSphere迁移与升级视频课程 https://edu.51cto.com/course/27973.html 基于Veeam V11的物理机和虚拟机的备份容灾应用视频 https://edu.51cto.com/course/27783.html VMware ESXi与vCenter Server安装与升级实验视频课程 https://edu.51cto.com/sd/e1e6b 使用NVIDIA RTX8000配置GPU的虚拟桌面 https://edu.51cto.com/sd/952a9 VMware vSphere 6.7虚拟化入门视频课程 https://edu.51cto.com/sd/22fe0 VMware vSAN 6.7实战演练 https://edu.51cto.com/sd/c6449 深入学习VMware Horizon View7虚拟桌面 https://edu.51cto.com/sd/225f2 中小企业vSphere虚拟化数据中心规划设计与产品选型 https://edu.51cto.com/sd/04e53 VMware服务器虚拟化提高篇之虚拟化基础架构配置视频课程 https://edu.51cto.com/sd/b9594 忘记VMware ESXi与vCenter Server密码的解决方法视频教程 https://edu.51cto.com/sd/993e5 =======图书,如需浏览请用鼠标右键单击打开============ VMware Horizon虚拟桌面应用指南-插图 链接:https://pan.baidu.com/s/1yW5vRXOj45jTJypTs42LgA 提取码:k0go VMware Horizon虚拟桌面应用指南 https://item.jd.com/13038424.html VMware vSAN超融合企业应用实战 https://item.jd.com/12842654.html VMware vSphere 6.5企业运维实战 https://item.jd.com/12329944.html 深入学习VMware vSphere 6 https://item.jd.com/11958052.html VMware虚拟化与云计算:vSphere运维卷 https://item.jd.com/12237563.html VMware虚拟化与云计算:故障排除卷 https://item.jd.com/12478965.html 虚拟化技术实践指南 面向中小企业的高效、低成本解决方案 https://item.jd.com/12244032.html