尽管精简置备(Thin Provisioning)技术是一种提升资源使用效率的有效方式,但是如果管理员没有对存储阵列容量进行有效监控,那么这种技术可能会为虚拟环境带来一系列问题。我的一位朋友经营着一家非常成功的小型公司,每天都会收到很多来自全球各地的电子版设计文件,然后根据这些文件制造产品。突然有一天他告诉我公司的vSphere环境出现问题,制造工厂当中的所有虚拟机全部离线;由于公司业务依赖于从设计到生产的高效流程,因此这种问题将会带来很大影响。
像很多其他小型企业一样,我的朋友自己管理一部分IT环境,而将某些技术性较强的领域外包给服务提供商进行管理。现有的IT环境已经正常运行很长时间了,并且之前我对vSphere环境进行检查时并没有发现任何问题。出现问题的虚拟环境当中有几台ESXi服务器以及一些小型iSCSI存储阵列。iSCSI阵列当中的所有虚拟机都是通过精简置备方式进创建的,有些虚拟机连接了一些大型原始设备以处理大规模设计文件。在这个实例当中,精简置备方式成为问题的根本来源,阻碍了设计流程的正常进行。
何时使用精简置备技术
精简置备技术自身伴随着某些风险。如果拥有足够的空间来存储所有已经创建的虚拟机,那么就没有必要使用精简置备技术。如果使用精简置备技术,那么就可能会超额分配磁盘空间——也就是说,你为所有虚拟机分配的总磁盘空间超过了现有的物理空间。如果不使用精简置备技术,现有空间将不足以存储这些虚拟机,存储容量将会被很快耗尽。如果过度使用某种资源,那么就会面临着资源完全耗尽的风险。当CPU、网络或者内存资源被耗尽的时候,虚拟机就会变得十分缓慢;而当磁盘空间被耗尽的时候,那些使用精简置备方式创建的虚拟机都会被迫停止运行,而我的朋友所遇到的正是这种情况。
对于这种情况来说,问题和虚拟机无关,因为每台虚拟机当中的所有磁盘仍然显示拥有空闲空间;而且也不是vSphere数据存储的问题,每个数据存储都显示拥有空闲空间允许精简置备虚拟磁盘文件增长。问题在于底层硬盘空间已经被用尽,存储阵列也在使用精简置备技术并且已经被超额分配。为ESXi服务器分配的所有磁盘容量之和已经超过了阵列能够容纳的极限。这意味着阵列没有其他地方来存储额外的数据。当每台精简置备虚拟机需要写入新的数据时,就需要占用更多的数据存储空间。阵列不能够接受这种写操作,因此虚拟机被迫停止运行,以保护现有数据的完整性。由于每台虚拟机都是通过精简置备方式创建的,因此一段时间之后所有的虚拟机都将被迫停止运行,从而导致工厂当中的所有工作流程中止。
上面所描述的仅仅是一些理论知识,现在我们开始具体分析问题是如何发生的。从根本上来说,企业没有对超额分配的存储阵列空间进行足够的监控。如果企业对阵列的剩余空间进行了恰当监控,那么系统就会及时发出告警,管理员也就拥有足够的响应时间来防止问题的发生。这又回到了如何管理精简置备所带来的风险这个话题。这家公司对于虚拟机和数据存储配置了监控和通知机制,但是并没有对存储阵列配置足够的监控和告警机制。如果没有合理监控磁盘使用情况,那么就不能超额分配使用资源,这是一个非常简单的道理。对于磁盘空间来说,防止问题发生要比解决问题容易的多。一旦虚拟机由于缺少磁盘空间而被迫停止运行,那么将其恢复到正常状态将是一件十分困难的事情。
监控存储阵列空间
当问题出现的时候,我的朋友非常自然地想到向服务提供商的专家求助。专家确认问题是由于阵列空间不足所导致,阵列当中没有额外的空间可以分配。扩展磁盘空间的唯一方式就是购买新的硬件。相比于前期建立良好的监控机制,这个过程要困难的多。存储阵列限制新的磁盘必须和现有磁盘具有相同的容量和速度,而这个阵列已经是三年之前购买的了。如果现有的磁盘机架没有空闲插槽,那么问题将会变得更加复杂。
为了扩展空间,存储阵列需要新的磁盘机架和新的磁盘,但是它们必须和之前的模型相互匹配。如果有一到两个月时间进行准备,那么这种情况还是可控的,但是现在所有的服务器都已经停止运行,根本没有时间来购买新的硬件。为了恢复服务,唯一的方式就是删除已经停止运行的虚拟机,从备份当中恢复。
如果你的存储环境当中使用了精简置备技术,那么必须密切监控存储阵列的可用空间。必须在存储空间被耗尽之前有所行动。使用精简置备的层级越多,耗尽所有存储空间和影响服务的可能性就越大。由于这种问题终究会发生,只是时间早晚的问题,因此针对任何空间不足的情况制定计划十分重要。
本文图文来源于网络,版权属于原作者或网站。如有版权问题,请与管理员邮箱联系,将立刻进行相应处理。
专注数字化方案建设,推动智慧企业生态圈的升级发展