服务器虚拟化怎么存储
‘壹’ 什么是虚拟化存储
对于中小型架构来说存储虚拟化看起来是过大或过于昂贵的技术。但实际上许多不同规模的企业也可以从存储虚拟化中获益--通过使用商品硬件和传统的虚拟化存储引擎。
简而言之,虚拟化存储就是将数据从磁盘中抽象出来。在传统存储部署设置中,我们受限于驱动器盘符(在Windows系统上)或逻辑单元号(LUN),并且在特定磁盘层上给定了特定的RAID(独立磁盘冗余阵列)算法。
虚拟化存储的第一个实例可能是来自将存储迁移到虚拟服务器环境。在大多数情况下,这需要实施某种形式的共享存储。这种共享存储通常是一个通过光纤通道或iSCSI(互联网小型计算机系统接口)网络的存储局域网(SAN)。
在这种设置中,各个服务器从通常与服务器架构相连的硬件中抽象出来。从存储的角度而言,用户可以也可以不将数据从磁盘中完全抽象出来。虚拟化存储提供了主机和磁盘的抽象化。
这种互联的系统,无论是VMware ESXi主机或Windows Server系统,都不知道底层的磁盘是RAID 5、6或者是否可以和它直接互动。存储处理器作为存储虚拟化引擎,可以协调实际磁盘和主机系统之间的I/O。
虚拟化存储还可以带来新的功能,比如允许透明的存储扩展。在这些功能中,最引人注目的功能之一就是自动精简配置。自动精简配置可以仅消耗实际使用的驱动器空间。存储管理员另一个青睐的功能就是重复数据删除。
当用户在块层次上部署重复数据删除的时候,重复数据删除会检查逻辑区的磁盘使用情况并寻找相同的数据块。这些相同的数据块会被链接到第一个实例,然后重复的块会被存储系统回收。
其他可能推动管理员转向虚拟化存储的功能是卷管理功能,比如复制、快照和迁移。
从一个存储系统到另一个存储系统的卷或LUN复制是灾难恢复的福音。实际上,像VMware Site Recovery Manager(VMware站点恢复管理器)这样的解决方案依赖于这种复制技术,需要复制技术才能系统完好地复原到另一个站点。LUN的快照也可以非常有用。LUN快照可以像虚拟机的快照功能那样运作,整个数据集可以很快地恢复到指定的时间点。
最后,迁移功能也可以为架构管理员带来很多方便。通过带虚拟技术(比如VMware的Storage vMotion功能)的虚拟化引擎,管理员可以进行从一个存储系统到另一个存储系统的迁移。但是这对于非虚拟化的存储部分则没有多大用处。基于SAN的迁移功能可以将一个卷从存储处理器背后的一个存储系统迁移到另一个存储系统,以便将数据从需要移除的设备中迁移出来。
这种功能的一个主要使用情境就是将数据从旧磁盘阵列(比如使用Ultra-320 SCSI磁盘的阵列)迁移到新的磁盘阵列(比如使用串行链接SCSI(SAS)驱动器的阵列)。这可以带来更好的性能。通过虚拟化存储环境,LUN可以从一个存储系统迁移到另一个存储系统,完全不受制于所连接的系统。这主要是因为VMware ESXi主机或Windows Server连接到的不是底层存储而是存储处理器,也就是抽象层。
虚拟化存储的一个隐性好处就是管理员可以解决非结构化数据的数据保护问题。比如说有数TB的存储,这虽然看起来也不是太多,但是如果这里面包含1KB文件的数据,你会很快发现这么多的数据很难在文件系统中管理。
这种情况导致这种类型的数据备份变得异常繁琐。虚拟存储可以在块层次上解决这个问题,将卷复制或快照到另一个存储系统,从而满足数据保护的要求。只要存储系统可以块层次上对LUN的内容进行操作,那么虚拟存储的好处就会显现出来。
‘贰’ 如何部署服务器级别的存储虚拟化
主机级别的方案中通常只是虚拟化直连主机的存储,当然也有一些可以部署在一个SAN环境中的多台存储子系统上。
早先的存储虚拟化产品常用于简化内部磁盘驱动器和服务器外部直连存储的空间分配,以及支持应用集群。Veritas Volume Manager和Foundation Suite就是首批这类解决方案,这类方案使得存储扩展,以及为应用程序和文件服务器提供空间更为简单快速。
随着存储需求的增长远远超过直连存储所能提供的范围,存储虚拟化逐渐成为存储阵列中的一种容量提供方式。而容量持续增长以及诸如iSCSI等小型IT组织负担得起的共享存储技术的出现又使得存储虚拟化技术也融合进基于网络的设备和运行在通用硬件的软件里。
不过现今的服务器和桌面虚拟化技术兴起给存储虚拟化技术带来了新的生机,而基于主机的存储虚拟化技术正在逐渐回归。服务器虚拟化平台必需要基于共享存储体系架构来实现一些关键特性,比如VMware的vMotion和Distributed Resource Schele (DRS)。通过传统的SAN架构自然可以实现这种共享存储体系架构,不过越来越多的IT组织开始寻求更简单的方式来实现共享存储。基于主机的虚拟化技术就是方式之一。
诸如VMware之类的服务器虚拟化供应商认为存储是妨碍虚拟化技术大规模普及的瓶颈之一。这些Hypervisor供应商已经实现了处理器和内存资源的抽象,实现更好的控制并提高资源利用率,他们自然而然也会希望这样控制存储。不过将存储控制功能整合到主机服务器端,称之为“存储Hypervisor”时会带来一些潜在的问题。处理一些在虚拟服务器和虚拟桌面环境中至关重要的存储服务,诸如快照、克隆和自动精简配置时,会严重影响主机服务器的性能。
Virsto的解决方案
Virsto开发出了一款软件解决方案,安装在每台主机服务器上(无论是一台虚拟机或Hypervisor上的过滤驱动器)并在主存储上创建一个虚拟化层,称为Virsto存储池。其同时创建一个高性能磁盘或者固态存储区域,成为“vLog”。读操作会直接指向主存储,不过写操作会通过vLog进行,这会给请求的虚拟机或应用程序发回一个确认。然后vLog将这些写操作异步地分布写入主存储,从而减少对写性能的影响。该存储池可以容纳多至4层的存储方式,包括固态存储和各类型的磁盘驱动器。
和缓存的工作方式类似,vLog通过在存储前端降低耦合度改善了存储性能,降低了后端存储的延迟。其同时将前端主机的随机写操作变为顺序方式,实现后端存储的最佳性能。基于Virsto主机的存储虚拟化软件实现了以上这些功能。
虚拟存储设备
基于主机的存储虚拟化的另一项应用实例是虚拟存储设备(VSA)
VSA是运行在虚拟机上的存储控制器,其虚拟化统一集群中的主机所直接连接的存储。VSA提供一个主机使用的简易的存储共享体系架构,并支持高可用性、虚拟机迁移,并改善存储提供方式。对于很多企业,这种方式可以替代原本需要建立并管理传统SAN或NAS来支持虚拟服务器和桌面的体系架构。
vSphere Storage Appliance。VMware的vSphere Storage Appliance以一个虚拟机的方式运行,从在2个或3个节点集群中,每个ESX/ESXi主机所直连的DAS存储中,创建一个共享存储池。VMware VSA提供每个节点的RAID保护,并在同一集群的各个节点之间提供镜像保护。虽然从技术角度上看,VMware VSA是一个基于文件的体系架构,不过其亦为集群中每台主机提供数据块级别的存储虚拟化,并用户可以从这种部署方式中获取和基于数据块的共享存储一样的收益。
HP的LeftHand Virtual SAN Appliance。虽然和VMware VSA的功能类似,P4000 VSA软件可以支持每台主机直连DAS以外的方式。其还允许使用iSCSI或FC SAN等外部存储来创建共享存储池。这就意味着可以将如何可用的存储,本地存储或用于容灾的异地存储,转变为LeftHand存储节点。P4000t提供快照和自动精简配置,并且支持Hyper-V和VMware。
DataCore的SANsymphony-V。DataCore的解决方案是通过在一个虚拟机中部署其SANsymphony软件来整合其它各个VMware,Hyper-V或XEN主机的直连存储,形成共享存储池。SANsymphony-V可以和HP的解决方案那样虚拟化外部的网络存储,并且该软件可以在迁移到传统的共享存储体系架构时部署在外部服务器上。SANsymphony-V同时提供各类存储服务,譬如快照、自动精简配置、自动化分层和远程复制。
FalconStor的NSS Virtual Appliance。FalconStor的Network Storage Server Virtual Appliance(NSSVA)是该公司NASS硬件产品中唯一支持的VMware版本,用网络上其它主机的直连存储创建一个虚拟存储池。和DataCore和LeftHand的解决方案类似,该存储池可以扩展到网络上任何可用的iSCSI存储上。该NSS Virtual Appliance包括快照、自动精简配置、读/写缓存、远程复制和卷分层等存储功能。
基于主机的存储虚拟化解决方案是目前大多使用在虚拟化服务器和虚拟化桌面环境中,用以实现环境的高可用性特性,以及改善存储性能、利用率和管理效率。
‘叁’ 为啥要用NAS来作为数据中心虚拟化存储
同样,虚拟机在物理服务器间迁移以实现整个环境效率最大化时,在这些服务器间共享的网络介质要实现快速的切换和转换。
如果说所有的虚拟化环境都有一个共同的主题,那就是数据中心虚拟化存储空间需求。尽管现在市场上更倾向于使用StorageAreaNetwork(SAN)技术,但是NetworkAttachedStorage(NAS)也能满足企业数据中心这方面的需求。
网络存储的实现有两个主要的方法:NAS和SAN。这两种方法在网络架构以及在网络客户端上的表现都有所差别。NAS设备利用现有的IP网络和传输文件层接入,提取它可用的物理磁盘,并以网络共享的方式向使用诸如CIFS或NFS的终端客户机提供一致的文件系统。NAS设备对网络方式的文件共享进行了优化,因为它们与文件服务器几乎是相同的。
相反,SAN技术,包括FibreChannel(FC)和iSCSI,实现数据块层访问,放弃文件系统抽象并在客户端表现为未格式化的硬盘
。FC是目前最流行的SAN技术,它运行在一个专用的网络上,要求在每个服务器上使用专属的FC交换机和主机总线适配器(HBA)。而FibreChanneloverEthernet(FCoE)是一个补充的新标准,它将存储和IP网络合并到一个聚合交换机上,但是它仍然需要在每个服务器上使用特殊的聚合网络适配器(CNA)。
而另一个数据块级技术iSCSI则在IP流量中封装了SCSI命令,同时能够使用现有Ethernet网络接口适配器,但是它一般会增加一个TCP/IP卸载引擎(TOE)来优化性能。SAN解决方案在性能方面相对于NAS设备具备一定的优势,但也存在一些争议。SAN阵列的一个分区能够在两台主机上共享,但是这两台主机都会将空间看作是自己的,这样这两台主机之间就会有空间争夺的风险。虽然有一些方法可以解决这个资源争夺问题,但是这个修复方法会增加额外一层的抽象——而NAS解决方案已经包含这一层抽象了。
两种类型的虚拟化存储数据中心都有各自的作用。例如,Microsoft的Exchange服务器只支持通过数据块级访问数据的网络存储。由于SAN的性能一般比NAS解决方案好,所以企业会在高I/O要求的应用中使用存储网络,如数据库。然而,出于实际管理虚拟机镜像库的目的,文件级访问很可能是许多环境中最简单的部署方法。根据组织的不同要求,数据中心经理可能会要求存储团队实现文件级存储,或者直接安装一个专用的NAS设备来满足他们数据中心虚拟化存储的需求。
虚拟化环境中NAS的替代方法
虽然许多人将NAS设备看作是支持虚拟化环境的最清晰的方法,但还有许多替代方案。对于已经部署了SAN的组织来说,他们可以使用NAS-SAN混合解决方案,在SAN可用空间之上再建立文件系统抽象。一个混合解决方案可以创建数据中心经理更喜欢的抽象层,同时保持中央存储网络的性能和可管理性。较小型的组织也可以考虑共享物理服务器上直接附加的存储空间,使用其中一个服务器作为中央存储库,而其余服务器则从这个服务器获取VM镜像。虽然这个解决方案可以在最小型的环境中运行,但是在较大型的环境中它可能很快就会导致I/O瓶颈。
虚拟化中NAS的网络设计注意事项
对于网络管理员来说,万幸的是NAS设备所依赖的文件共享和传输协议与大多数文件服务器是一样的,所以部署使用NAS的设计方法是非常相似的。然而,由于虚拟化环境的本质和所涉及的文件较大,所以在目标服务器上传输这些虚拟机镜像时需要尽早地考虑一些特别的注意事项。
网络管理员在进行NAS部署时应该保证所有相关的连接至少使用GigabitEthernet。他们也必须验证连接虚拟环境的网络交换机使用的端口数足够,从而能给存储设备提供足够的带宽。管理员也应该再次评估可能影响服务器和存储之间连接的QualityofService(QoS)策略,并在需要时对它进行调整,可以给予增加的存储流量更高的优先级。在NAS部署前后都进行网络基线设置可以清晰的认识到添加NAS设备到数据中心网络所产生的影响。如果性能出现问题,那么通过VLAN或专用交换机对网络的存储流量进行划分也是一个解决方法。
网络管理员应该与数据中心经理紧密协作,一起进行性能测试和比较NAS设备上可用的各种网络协议,一般是NFS和CIFS。这两种标准的实现会因为网络设备、操作系统和虚拟化存储方案的不同而差别很大。由于平台的差异,以及组织的不同需求,每个可用方法的性能测试都将会帮助您确定特定环境中的最佳解决方案。
最后,网络管理员和数据中心经理在数据中心中部署一个NAS设备时需要注意那些可能超出技术支持容量的增长。网络存储的作用可能快速地增大,从而导致I/O瓶颈和其他问题。虚拟环境快速修复可能会像滚雪球一样成为一个企业存储解决方案,特别是在小型组织。可以肯定的是,即使是很小型的NAS部署都会讨论向更包容的企业网络存储战略发展。根据不同需求,如果企业需要更高的吞吐量,那么网络存储可能需要增长为较大规模NAS的解决方案或迁移到SAN的解决方案。
‘肆’ 如何解决服务器虚拟化中的存储问题
但也因为虚拟化的特性,为承载环境中不断增长的虚拟机,需要扩容存储以满足性能与容量的使用需求。IT经理们已经发现,那些因服务器虚拟化所节省的资金都逐渐投入存储购买的方案上了。 服务器虚拟化因虚拟机蔓延、虚拟机中用于备份与灾难恢复软件配置的问题,让许多组织彻底改变了原有的数据备份与灾难恢复策略。EMC、Hitachi Data System、IBM、NetApp和Dell等都致力于服务器虚拟化存储问题,提供包括存储虚拟化、重复数据删除与自动化精简配置等解决方案。 服务器虚拟化存储问题出现在数据中心虚拟化环境中传统的物理存储技术。导致虚拟服务器蔓延的部分原因,在于虚拟服务器可能比物理服务器多消耗约30%左右的磁盘空间。还可能存在虚拟机“I/O 搅拌机”问题:传统存储架构无法有效管虚拟机产生的混杂模式随机I/O。虚拟化环境下的虚拟存储管理远比传统环境复杂——管理虚拟机就意味着管理存储空间。解决服务器虚拟化存储问题 作为一名IT经理,你拥有解决此类服务器虚拟化存储问题的几个选项,我们从一些实用性较低的方案开始介绍。其中一项便是以更慢的速度部署虚拟机。你可以在每台宿主上运行更少的虚拟机,降低“I/O混合器”问题出现的可能性。另外一个方法则是提供额外存储,但价格不菲。 一个更好的选择是在采购存储设备时,选择更智能的型号并引入诸如存储虚拟化,重复数据删除与自动化精简配置技术。采用这一战略意味着新技术的应用,建立与新产商的合作关系,例如Vistor、DataCore与FalconStor。将存储虚拟化作为解决方案 许多分析师与存储提供商推荐存储虚拟化,作为服务器虚拟化存储问题的解决方案。即使没有出现问题,存储虚拟化也可以减少数据中心开支,提高商业灵活性并成为任何私有云的重要组件之一。 概念上来说,存储虚拟化类似服务器虚拟化。将物理存储系统抽象,隐藏复杂的物理存储设备。存储虚拟化将来自于多个网络存储设备的资源整合为资源池,对外部来说,相当于单个存储设备,连同虚拟化的磁盘、块、磁带系统与文件系统。存储虚拟化的一个优势便是该技术可以帮助存储管理员管理存储设备,提高执行诸如备份/恢复与归档任务的效率。 存储虚拟化架构维护着一份虚拟磁盘与其他物理存储的映射表。虚拟存储软件层(逻辑抽象层)介于物理存储系统与运行的虚拟服务器之间。当虚拟服务器需要访问数据时,虚拟存储抽象层提供虚拟磁盘与物理存储设备之间的映射,并在主机与物理存储间传输数据。 只要理解了服务器虚拟化技术,存储虚拟化的区别仅在于采用怎样的技术来实现。容易混淆的主要还是在于存储提供商用于实现存储虚拟化的不同方式,可能直接通过存储控制器也可能通过SAN应用程序。同样的,某些部署存储虚拟化将命令和数据一起存放(in-band)而其他可能将命令与数据路径分离(out-of-band)。 存储虚拟化通过许多技术实现,可以是基于软件、主机、应用或基于网络的。基于主机的技术提供了一个虚拟化层,并扮演为应用程序提供单独存储驱动分区的角色。基于软件的技术管理着基于存储网络的硬件设施。基于网络的技术与基于软件的技术类似,但工作于网络交换层。 存储虚拟化技术也有一些缺陷。实现基于主机的存储虚拟化工具实际上就是卷管理器,而且已经流传了好多年。服务器上的卷管理器用于配置多个磁盘并将其作为单一资源管理,可以在需要的时候按需分割,但这样的配置需要在每台服务器上配置。此解决方式最适合小型系统使用。 基于软件的技术,每台主机仅需要通过应用软件查询是否有存储单元可用,而软件将主机需求重定向至存储单元。因为基于软件的应用通过同样的链路写入块数据与控制信息(metadata),所以可能存有潜在瓶颈,影响主机数据传输的速度。为了降低延迟,应用程序通常需要维护用于读取与写入操作的缓存,这也增加了其应用的价格。服务器虚拟化存储创新:自动化精简配置与重复数据删除 存储技术的两个创新,自动化精简配置与重复数据删除,同样是减少服务器虚拟化环境对存储容量需求的解决方案。这两项革新可以与存储虚拟化结合,以提供牢固可靠的存储容量控制保障。 自动精简配置让存储“走的更远”,可减少已分配但没有使用的容量。其功能在于对数据块按需分配,而不是对所有容量需求进行预先分配。此方法可以减少几乎所有空白空间,帮助避免利用率低下的情况出现,通常可以降低10%的磁盘开销,避免出现分配大量存储空间给某些独立服务器,却一直没有使用的情况。 在许多服务器部署需求中,精简配置可通过普通存储资源池提供应用所需的存储空间。在这样的条件下,精简配置可以与存储虚拟化综合应用。 重复数据删除从整体上检测与删除位于存储介质或文件系统中的重复数据。检测重复数据可在文件、字节或块级别进行。重复数据删除技术通过确定相同的数据段,并通过一份简单的拷贝替代那些重复数据。例如,文件系统中有一份相同的文档,在50个文件夹(文件)中,可以通过一份单独的拷贝与49个链接来替代原文件。 重复数据删除可以应用与服务器虚拟化环境中以减少存储需求。每个虚拟服务器包含在一个文件中,有时文件会变得很大。虚拟服务器的一个功能便是,系统管理员可以在某些时候停下虚拟机,复制并备份。其可以在之后重启,恢复上线。这些备份文件存储于文件服务器的某处,通常在文件中会有重复数据。没有重复数据删除技术支持,很容易使得备份所需的存储空间急剧增长。改变购买存储设备的观念 即使通过存储虚拟化,重复数据删除与精简配置可以缓解存储数容量增长的速度,组织也可能需要改变其存储解决方案购买标准。例如,如果你购买的存储支持重复数据删除,你可能不再需要配置原先规划中那么多的存储容量。支持自动化精简配置,存储容量利用率可以自动提高并接近100%,而不需要管理员费心操作维护。 传统存储购买之前,需要评估满足负载所需的存储能力基线、三年时间存储潜在增长率、存储扩展能力与解决存储配置文件,还有拟定相关的采购合同。以存储虚拟化与云计算的优势,购买更大容量的传统存储将越来越不实际,尤其在预算仍是购买存储最大的限制的情况下。以下是一些简单的存储购买指导: 除非设计中明确说明,不要购买仅能解决单一问题的存储方案。这样的做法将导致购买的存储架构无法与其他系统共享使用。 ·关注那些支持多协议并提供更高灵活性的存储解决方案。 ·考虑存储解决方案所能支持的应用/负载范围。 ·了解能够解决存储问题的技术与方案,例如重复数据删除与自动化精简配置等。 ·了解可以降低系统管理成本的存储管理软件与自动化工具。 许多组织都已经在内部环境中多少实施了服务器虚拟化,并考虑如何在现有存储硬件与服务器上实现私有云。存储预算应用于购买合适的硬件或软件,这点十分重要。不要将仅将注意力集中在低价格上。相反,以业务问题为出发点,提供解决问题最有价值的存储解决方案才是王道。