虚拟机中被遗忘的数据对象可能会引起虚拟化存储的性能下降,清理这些数据对象并回收存储空间,对可存储空间进行重复使用。
在虚拟环境中优化资源利用以提高效率,其挑战比在物理环境中进行要难得多。能够快速创建虚拟机是增强灵活性和投资回报的主要优势所在,但这也是产生这一挑战的主要原因。
更进一步的问题是,如通过快照或有时为每个虚拟机创建的额外的VM映像等相关的数据对象,这大大增加了虚拟化存储的使用量。所有未使用的快照、模板,被遗弃的VM镜像和虚拟机严重浪费了CPU、内存、带宽以及存储资源。然而,查找和回收这些资源却不是一件简单的工作。下面,我们将对每个可能创建数据垃圾的数据对象进行分析,并探讨如何清理这些未使用的数据对象,以提高数据中心的投资回报率。
在虚拟基础设施之中的数据垃圾类型
废弃的VM映像
当一个虚拟机从VMware vCenter、微软Systems Center、红帽企业管理(RHEM)或其他的虚拟机管理控制台中删除时,还必须从磁盘上进行删除。否则,虚拟机虽然不再出现在管理控制台中,但其仍在存储中存在附带的VM映像。如果发生这种情况,其结果就是一个废弃的VM映像仍驻留在存储之中,并占用存储空间,但却不再被使用。从理论上讲,正确的操作流程应该是,每当系统管理员从管理控制台删除虚拟机之后,管理员应当在存储阵列上也重复相同的操作,但事实并非如此。
由于各种各样的原因,某个虚拟机映像可能仍存在于存储系统之中,尽管其已经被从管理控制台中删除。其可能由下面的原因导致的:
某个VMware vMotion存储失败,但文件却还没有完全转移到另一个数据存储之中。不管是将之前的VMDK文件进行迁移,还是复制新的VMDK文件到新的数据存储位置上,这种情况都是有可能发生的。在这两种情况下,vCenter都不会知道这些文件所在。如果新的主机不是相同的配置,亦或是没有足够的磁盘空间,vMotion都会存储失败。此外,一些用户咋配置vMotion时采用的完全自动化方式,所以,除非对错误日志进行检查,否则将很难发现vMotion存储失败。
系统管理员采用手动复制并粘贴VM映像的方式进行迁移,但却又忘记删除旧文件。
VM映像被复制以代替正在使用的模板,而虚机映像是没有必要的,但却又未被删除。
第三方备份或存储快照工具复制了VM映像文件,但管理控制台却不会知道以这种方式创建了额外的VM映像文件。
查找这些废旧数据:
通过对管理控制台中的虚拟机列表和存储阵列中的VM映像来完成对废弃VM映像的检测。这些文件很难用手动的方式进行识别,因为更为重要的是VM映像名称极有可能与VM名称不匹配,这些VM映像文件通常被称为孤立文件或者孤立VM。
可节省的资源:
查找并删除孤立虚机是回收和释放存储空间的重要方式之一。此外,删除这些文件将释放并可重复使用软件许可证。
已经关闭的虚拟机
已关闭的虚拟机,顾名思义,是已经停用的虚拟机,即不再使用的虚拟机。虚拟机被关闭的时间越长,其越有可能不再被使用。僵尸(又称作为空闲)VM是确定的,但不是被删除,其也有可能被重新使用。如果这个VM被关闭,那么其文件虽然不再被使用,但仍占用存储资源,所以可以被回收。
查找废弃数据方法
以报告虚拟机被关闭的天数为出发点来确定这个虚拟机是否还将会用到。一旦候选列表中的某些虚拟机确定不再需要时,在删除这些虚拟机的文件之前还需要做一些检测工作和跨存储报表。
关键在于检测到那些关闭并不再使用的虚拟机是否能够分析、排除虚拟机,并判断虚拟机管理员是否还需要这些已关闭的映像。否则,关闭虚拟机上的任何报告机制都最终将成为长期的难题,未使用的已关闭的虚拟机将掩盖下一水平等级的细节并隐藏需要被删除的关闭虚机。
可节省的资源
删除关闭的虚拟机是非常重要的,其不仅能够免费提升存储空间,而且还能释放相关的软件许可以及VM占用。
未使用的快照
虚拟机的快照是用于在特定时间内用于备份和恢复的,快照类似于桌面的恢复点。VM管理员通常会坐一个虚拟机镜像快照以防止更新或升级失败,亦或是按照计划去改变一个特定的VM后的快速回滚。
一旦补丁成功应用,系统管理员应该快照纳入到虚拟机配置之中,删除这些快照,并使之永久更改。
从理论上说,这似乎很容易。但这其中有几个问题使得管理员进行管理时特别麻烦:
快照可能会占用所有的可用存储,但管理员却未必知道;
某些环境下,某个特定的虚拟机可能存在多个快照;
查找存储系统中的快照是何时产生的,如果这些仍在使用则使用额外的工作和工具去检测;
一个被删除的虚机,其快照可能仍然存在,由于这个虚机不再存在,所以相互参照将会非常困难;
SAN存储系统可以利用其软件自身的快照;以及
系统管理员根本就忘记了这些快照,或者这些快照是由另一个用户产生的,并未被报告。
如何查找这些数据垃圾
查找未使用快照,关键是看快照的时间点,如果这个虚机的快照已经超过时限,那么就删除这个旧快照。
可节省的资源
删除未使用的快照可腾出存储空间。
未使用的模板映像
模板是用来快速创建相同的虚机的基础映像,模板包括操作系统映像、补丁级别以及软件安装情况。每次操作系统或应用程序发生变化,都需要创建一个新的模板。如果模板已经过时,且未被删除,那么它就会消耗原本不必要的存储资源。未被使用的模板映像可能会成为存储浪费的重要因素。
如何查找这些数据垃圾
发现未被使用模板的关键点在于看模板所创建的时间点,然后检测这个模板是否仍然有效。
可节省的资源
删除未被使用的模板将能腾出存储空间。
僵尸(也称为闲置)虚拟机
僵尸虚拟机是指仍在运行的虚拟机,但其已经达到了其生命周期。在卷环境中,这是最有可能发生的:
最终用户本身创建的虚拟机;
最终用户和系统管理员之间的通信环路被关闭,并且最终用户也没有通知系统管理员,某个特定的虚拟机不再被使用;
QA或者开发团队可能运行自己的虚拟机,并不受到中央控制台的监管;
终端用户可能在云端自动部署虚拟机;以及
虚拟机上运行的应用程序离线,并且应用程序的管理者没有发现并申请下线。
如何查找到这些废弃资源
僵尸虚拟机是很难检测到的,因为它们保持着开机,并且看起来承担着负载。但是,因为是僵尸虚拟机,所以其负载可能很低。但是,即使是低负载也无法完全判断其属于真正的僵尸虚拟机。随着时间的推移,负载偏差是区别一台僵尸虚拟机最好的方法,例如,从DNS服务器来看,其只有很少的负载。
一旦确定了潜在的僵尸虚拟机列表,就可使用存储信息与VM信息进行相互印证以判断这个虚拟机是否是一个真正的僵尸虚拟机。看起来像僵尸虚拟机而实际上不是的应该被标记,以防止其被再次判断为潜在的僵尸虚拟机。更为重要的是,如果僵尸虚拟机是被简单的电源关闭而非被删除,其仍然会占用存储资源,并被作为一个关闭的虚拟机。
可节省的资源
清理僵尸虚拟机可释放CPU、内存、带宽以及存储,并被重复使用。此外,每个被用作僵尸虚拟机所消耗的操作系统和其他软件可用于其他许可。
结论
数据中心的标准操作可能在虚拟环境中产生浪费。即使清理虚耗数据对象的程序跟进,仍可能发生虚耗的现象,亦或是程序可能并不能完全清除。相反,数据中心管理者和系统管理员能够根据实际环境实行定期垃圾清理措施,积极寻找废弃的数据对象并删除。在虚拟环境下,建立这些程序是非常重要的,能够使企业保持最高的投资回报。