如果说所有的虚拟化环境都有一个共同的主题,那就是数据中心虚拟化存储空间需求。尽管现在市场上更倾向于使用Storage Area Network (SAN)技术,但是Network Attached Storage (NAS)也能满足企业数据中心这方面的需求。
随着数据中心中虚拟机镜像的数量越来越多,它需要消耗的空间也越来越大。同样,虚拟机在物理服务器间迁移以实现整个环境效率最大化时,在这些服务器间共享的网络介质要实现快速的切换和转换。
在一个虚拟化环境中,NAS设备可以作为虚拟机在服务器之间迁移的一个交换空间,作为一个备份介质,或者作为所有虚拟磁盘镜像的中央知识库。在这样的任何一种情况下,数据中心和网络管理员都需要理解NAS设备的作用,以及它们对网络的影响。
为什么要使用NAS来作为数据中心虚拟化存储?
网络存储的实现有两个主要的方法:NAS和SAN。这两种方法在网络架构以及在网络客户端上的表现都有所差别。NAS设备利用现有的IP网络和传输文件层接入,提取它可用的物理磁盘,并以网络共享的方式向使用诸如CIFS或NFS的终端客户机提供一致的文件系统。NAS设备对网络方式的文件共享进行了优化,因为它们与文件服务器几乎是相同的。
相反,SAN技术,包括Fibre Channel (FC)和iSCSI,实现数据块层访问,放弃文件系统抽象并在客户端表现为未格式化的硬盘。FC是目前最流行的SAN技术,它运行在一个专用的网络上,要求在每个服务器上使用专属的FC交换机和主机总线适配器(HBA)。而Fibre Channel over Ethernet (FCoE)是一个补充的新标准,它将存储和IP网络合并到一个聚合交换机上,但是它仍然需要在每个服务器上使用特殊的聚合网络适配器(CNA)。而另一个数据块级技术iSCSI则在IP流量中封装了SCSI命令,同时能够使用现有Ethernet网络接口适配器,但是它一般会增加一个TCP/IP卸载引擎(TOE)来优化性能。SAN解决方案在性能方面相对于NAS设备具备一定的优势,但也存在一些争议。SAN阵列的一个分区能够在两台主机上共享,但是这两台主机都会将空间看作是自己的,这样这两台主机之间就会有空间争夺的风险。虽然有一些方法可以解决这个资源争夺问题,但是这个修复方法会增加额外一层的抽象——而NAS解决方案已经包含这一层抽象了。
两种类型的存储在虚拟化数据中心都有各自的作用。例如,Microsoft的Exchange服务器只支持通过数据块级访问数据的网络存储。由于SAN的性能一般比NAS解决方案好,所以企业会在高I/O要求的应用中使用存储网络,如数据库。然而,出于实际管理虚拟机镜像库的目的,文件级访问很可能是许多环境中最简单的部署方法。根据组织的不同要求,数据中心经理可能会要求存储团队实现文件级存储,或者直接安装一个专用的NAS设备来满足他们数据中心虚拟化存储的需求。
虚拟化中NAS的网络设计注意事项
对于网络管理员来说,万幸的是NAS设备所依赖的文件共享和传输协议与大多数文件服务器是一样的,所以部署NAS的设计方法是非常相似的。然而,由于虚拟化环境的本质和所涉及的文件较大,所以在目标服务器上传输这些虚拟机镜像时需要尽早地考虑一些特别的注意事项。
网络管理员在进行NAS部署时应该保证所有相关的连接至少使用Gigabit Ethernet。他们也必须验证连接虚拟环境的网络交换机使用的端口数足够,从而能给存储设备提供足够的带宽。管理员也应该再次评估可能影响服务器和存储之间连接的Quality of Service (QoS)策略,并在需要时对它进行调整,可以给予增加的存储流量更高的优先级。在NAS部署前后都进行网络基线设置可以清晰的认识到添加NAS设备到数据中心网络所产生的影响。如果性能出现问题,那么通过VLAN或专用交换机对网络的存储流量进行划分也是一个解决方法。
网络管理员应该与数据中心经理紧密协作,一起进行性能测试和比较NAS设备上可用的各种网络协议,一般是NFS和CIFS。这两种标准的实现会因为网络设备、操作系统和虚拟化方案的不同而差别很大。由于平台的差异,以及组织的不同需求,每个可用方法的性能测试都将会帮助您确定特定环境中的最佳解决方案。
虚拟化环境中NAS的替代方法
虽然许多人将NAS看作是支持虚拟化环境的最清晰的方法,但还有许多替代方案。对于已经部署了SAN的组织来说,他们可以使用NAS-SAN混合解决方案,在SAN可用空间之上再建立文件系统抽象。一个混合解决方案可以创建数据中心经理更喜欢的抽象层,同时保持中央存储网络的性能和可管理性。较小型的组织也可以考虑共享物理服务器上直接附加的存储空间,使用其中一个服务器作为中央存储库,而其余服务器则从这个服务器获取VM镜像。虽然这个解决方案可以在最小型的环境中运行,但是在较大型的环境中它可能很快就会导致I/O瓶颈。