服务器虚拟化和存储管理:更好的集成工具虚拟化
在过去十年间,存储管理凭借自身的发展逐渐成为一门学科,不仅由于存储数据量的大幅增长的驱动,而且也由于促进共享存储的存储网络协议的增强。
同时,虚拟化也成为服务器和PC优化的最重要的技术。在这种环境下,共享存储成为一些功能不可或缺的前提,如非中断的虚拟机迁移。
不过,虚拟化在服务器和支持它的存储间增加了另一层的复杂性。在虚拟化和存储间的这一层抽象意味着将存储相关的概念如RAID组和LUN转换为虚拟对象如VMDK和虚拟硬盘是个挑战。因此,为了有效的为虚拟环境提供存储,存储管理员必须采用新的方法。
挑战
虚拟化产生了新的运营难题。因为许多虚拟机可能同时存在于一个存储LUN上,虚拟服务器的I/O配置和桌面有时变得更加随机和不可预测。通过使用诸如VMware公司的Storage vMotion和微软公司的Hyper-V Live Migration的特性来使虚拟机在存储基础设施间迁移时,当前的系统管理程序的功能可以保证大量的I/O。另外在虚拟机被拷贝、克隆和在存储间复制时,虚拟化对于存储的利用也会产生很严重的影响。
在考虑虚拟化和存储时,我们必须审视许多大型企业已建立起的运营架构。随着IT基础设施的不断发展,各部分的技术逐渐划分为不同学科,包括存储、网络、服务器和数据库等。过去,也许存储管理员还可以只处理自己的业务,而不必太多关心基础设施的其它部分的运作。如今,虚拟化改变了这种状况,使得我们必须将这些不同的学科整合,而不能再像过去那样。
选择战略
虚拟环境下的存储管理需要满足两个基本的指标:容量和性能。尽管这两者在非虚拟化环境下也会提及,但在虚拟存储设计时会主要考虑性能,因为它会更多的影响虚拟基础设施的运营。在非虚拟化环境下,对于一个LUN缓慢的响应时间只会影响到单个主机;对于一个承载多个虚拟机的较大的LUN,缓慢的响应可能引起更广泛的影响。在虚拟桌面环境(VDI)下尤其如此。对于存储管理员,有许多策略需要考虑。
使用硬件加速和API
许多厂商(包括最大的六家存储厂商:戴尔,EMC,惠普,日立数据系统,IBM和NetApp)如今都支持虚拟I/O的硬件加速。这是通过在系统管理程序中的应用编程接口(API)实现的,如阵列集成的vStorage API (VAAI)。VAAI将一些负载较重的工作从虚拟层卸载,而让存储阵列使用最适合的方式来执行这些关键操作,如次LUN级锁定,批量拷贝和数据清零。最近,VMware增加了精简盘空间回收特性,使得系统管理程序可以从精简配置的LUN中释放存储空间,而无需直接写数据到这些被删除的数据块。
将存储管理的工作卸载到磁盘阵列有诸多好处。首先,它减轻了虚拟层的工作负载,减少了CPU的负担以及存储网络中的数据流。其次,它让存储阵列来对I/O密集型的操作执行优化和优先级操作,而这些最适合于在阵列内部实现。作为领先的虚拟机监控器厂商,VMware已开发出大量的API,包括数据保护的vStorage API(VADP)和存储感知vStorage API。VASA在部署可扩展的存储环境中日益重要,它为虚拟机监控器提供了存储LUN的配置信息,如复制和性能度量标准等。
为性能而配置
在虚拟环境下执行I/O时,性能是最重要的。通常情况下,虚拟环境产生更多的随机工作负载,使得优化I/O工作负载的工作对于存储更加困难。以下的一些技术可以保证性能得到优化,包括:
宽条带
此技术将磁盘I/O尽量分布到多个物理磁盘之上。宽条带技术可以通过大型RAID组(需要注意磁盘失效后的重构时间)或者将多个RAID组连接成存储池来实现。此技术同时适用于基于文件或基于块的存储平台。
动态分层
如同其它的存储环境,虚拟服务器同样存在产生大量I/O负载的I/O“热点”。热点区域很难预测,因此支持动态分层的平台提供了一种手段,以确保最“热”的数据驻留在最快的盘上。这种技术对于许多从一个母版映像克隆的虚拟机特别有用。
使用精简配置
在虚拟环境下,由于虚拟机易于创建,存储的增长很容易失去控制。在即时需求的环境下尤其如此。精简配置确保了只有在数据由主机写往磁盘时,磁盘空间才真正的被占用,而不是为每一个虚拟机预留指定的空间。此特性可以在虚拟层实现,绝大多数的存储平台也支持这一功能。
使用厂商插件
几乎所有的企业级和中端存储平台都可为集中化的管理工具如VMware vCenter提供插件。这为虚拟化和存储系统提供了统一的视图,在许多情况下可以在vCenter控制台上直接配置存储。对于那些没有专门存储团队的企业,这可以大量减少IT管理员的工作。
为虚拟服务器而建的存储
一些新兴的存储厂商已经推出了特别为虚拟服务器环境设计的硬件和软件存储解决方案。其中包括Atlantis Computing,SolidFire,Tintri和Virsto软件公司。简而言之,这些产品被设计用来解决我们在这里描述的问题,包括随机I/O 的挑战。
使自动化
为动态变化的虚拟环境优化容量和性能可能是一件相当耗时的工作。随着虚拟环境的扩展和成熟,我们需要将手工优化的过程更多的变为自动化。虚拟机厂商开始在它们的产品中包含一些功能以允许一些半自动化特性,以减少管理员的负担,持续的优化存储环境。在vSphere 5中,VMware推出了存储动态资源调度(SDRS)功能,可提供某种程度的存储分配的自动化。SDRS提供自动的VMDK初始放置位置,自动的迁移虚拟机以满足容量,性能以及亲和规则的要求,可以保证例如高I/O的虚拟化被放置于单独的硬件上。
随着虚拟环境的扩展以及部署中更趋向于服务化,自动化的存储管理成为必需。存储厂商已经在市场中推出了提供存储供应API的新产品,以直接支持虚拟服务器自动化。
别忘了备份
备份经常认为与存储管理没有多大关系。不过,在高可用的存储环境中,它至关重要。在虚拟基础设施中,传统的备份解决方案对于备份和恢复数据并非十分有效,我们需要使用一些其它的技术来优化备份和恢复的流程。
在基于数据块存储的部署中,传统的备份使用主机本身来备份数据。这是因为存储阵列并不知道数据在LUN上的格式。主机将文件放置在LUN上,然后备份软件依赖于主机提供的文件流来备份。
在所有的虚拟化平台中,虚拟机被存储为一个或多个文件,即使是使用块级存储阵列。这使得备份过程更为简单,因为只需要简单的备份组成虚拟机的文件即可。
一些虚拟机厂商,如VMware,提供API以允许第三方软件看到虚拟机内部改变的块数据,这提供了一种非常有效的手段,我们只需备份自上次备份起变化的文件。所有的虚拟机厂商都提供虚拟机快照功能。尽管在某些情况下会导致“宕机一致”备份。由代理软件协同,通过将主机文件系统静默,可以创建出具一致性的快照。
存储工具将不断演进
存储仍将是部署可扩展虚拟基础设施的一个重要特性。随着环境的扩展和成熟,存储管理员需要利用一些工具和技术如自动化和虚拟化软件,使得他们可以迎接更加集成的IT世界的挑战。