【IT168 评论】 NAS(尤其是NFS)与iSCSI之间最大的区别是协议类型不同。在将数据写入存储设备的过程中,它们使用了不同的协议。iSCSI使用block块协议,数据以块为单位从前端虚拟机写入到后端的存储设备。主机端负责维护磁盘上的文件系统,在主机看来,存储设备与服务器本地磁盘并没有区别。NAS则是另外一种情况,存储设备端负责维护磁盘文件系统,使用的是文件共享协议,服务器与存储设备之间只有简单的通讯。
NAS本质上是把写数据到磁盘的工作从主机端转移到了存储设备端,原本由主机负责的存储功能转而由NAS来处理。在虚拟化环境下,NAS系统使用集成在hypervisor虚拟化引擎中的专用NFS client软件,通过物理服务器的网络适配器与NFS server端进行通信。
NFS是一个应用广泛的协议,当下几乎所有主流的服务器虚拟化平台都支持NAS设备。考虑到NAS产品有多种不同的形式,因此在虚拟机环境中使用NAS也可以有多种不同的方式。比如,我们可以把一台标准的物理服务器变成NAS服务器;还可以使用虚拟NAS软件;或者使用一台专用的NAS存储装置。每个产品类型在性能和价格方面的差异非常大,其中专用NAS硬件装置的性能较好,但同时价格也最高。
现在,几乎每一个存储厂商都可以提供支持NFS的NAS存储设备。与block块存储不同的是,block块存储系统一旦将空间分配给服务器,这些空间就会立即被文件系统或应用程序占用。而NAS系统则会根据写入的实际数据量消费空间资源。如果预算不是问题,那么市场上有很多优秀的NAS产品可供选择。
一般说来,NAS的性能还达不到光纤通道SAN的水平,但是一个在架构上设计合理的NAS系统完全能够满足大多数应用负载的需求。像iSCSI一样,NAS使用以太网端口与存储设备通信,这意味着过去NAS系统的速度上限为1 Gbps,但新出现的10 Gbps以太网端口能够大幅度的提升传输速度,只要用户负担得起,性能不再是问题。NAS的性能与iSCSI几乎一样。只要CPU的处理能力不是瓶颈,那么对iSCSI和NAS性能的制约因素只有最大可用网络带宽这一点。
NAS存储的优势:
•许多NAS存储设备默认使用自动精简配置功能,它能帮助用户节省大量宝贵的磁盘空间;
•文件级锁和排队机制由NAS设备自己控制,而iSCSI和光纤通道储存则由主机端控制锁和排队,相较而言NAS性能更好;
•与block块存储不同,NAS不需要维护单一的磁盘I/O队列,这对提高性能有很大帮助。NAS的性能取决于网络连接的带宽以及磁盘阵列的处理能力;
•因为使用标准的以太网组件,因此NAS的部署成本低于光纤通道存储,而且NAS阵列的价格也低于光纤通道阵列;
•部署和管理NAS设备不需要特殊的培训和专门的技术;
•虚拟化环境的存储池扩展非常简单,只需要增加NFS服务器的磁盘容量,存储池也会相应的随之扩展;
•支持文件系统级别的快照和克隆功能,与LUN级别的对应功能相比,具有更好的弹性并支持更多的粒度。
NAS存储的不足:
•不支持直接从NAS设备启动操作系统;
•Hypervisor虚拟化引擎只能使用基于软件的客户端与NAS服务器进行通信,会消耗一定的CPU资源;
•由于存在网络延迟,所以有些厂商不推荐用户在某些比较敏感的应用上使用NAS存储;
•对虚拟化环境的新特性支持较慢,这一点不如block块存储设备;
•NAS系统没有主机端到NAS服务器之间的多路径技术,只能建立一个单独的TCP连接,性能受物理条件制约,不容易扩展。
虽然NAS存储有不足的地方,但是我们也不应该对它失去信心,因为这些问题只在少数特殊环境下才能遇到,或者是因为NAS方案的架构存在缺陷导致的。一个完善的NAS解决方案完全可以处理服务器端虚拟机应用的I/O请求,所以说NAS跟block块存储一样,也是一个不错的选择。过去,NAS在虚拟化环境的应用上有一些限制,不过现在完全没有这个问题。
结论……
当我们为虚拟化环境选择存储设备时,可能有许多因素需要考虑,不过,最终让我们下决心的无非是那些最基本的因素,比如预算、性能和容量。现在,许多存储系统都集成了支持虚拟化应用的定制功能,这一因素也是用户需要着重考虑的。VMware vStorage API提供了很多有价值的功能,它能够让存储设备与hypervisor虚拟化引擎更加紧密的集成,同时把许多原来由hypervisor负责处理的存储操作转移到存储阵列上执行。
另一个需要注意的方面是平台的支持问题。正如任何被Window支持的存储阵列同时也能够被Microsoft Hyper-V完美支持一样,VMware也有一个严格的硬件兼容性列表,其中列明了所有受支持的存储设备型号。VMware提供兼容性列表的主要原因是它有一套与硬件紧密集成的API,VMware要确保每一个设备在通过了兼容性测试之后才能加入列表。这个兼容性列表还可以显示每个阵列所支持的集成功能的细节和不同设备之间的差别。
虽然光纤通道是一个成熟稳定的存储平台,但它不是唯一的选择,我们依然可以放心地尝试iSCSI和NAS,对于预算有限的用户来说,它们都是不错的替代方案。需要注意的是,鉴于iSCSI和NAS产品众多,所以在选择的时候用户必须详细了解产品的功能和扩展性,确保所选产品能够完全满足应用环境的要求。对于虚拟化应用来说,存储部分的设计是最关键的,多花点时间用于考察产品,了解各种产品的技术和功能方面的差异是十分必要的。
相关链接一:新兴技术:FCoE、10 GbE与CNA
现在有很多新技术已经步入了实用阶段,比如FCoE(Fibre Channel over Ethernet)和10 Gbps以太网,这些都是存储架构未来的可选方案,在性能和吞吐量方面比过去都有大幅度的提升。FCoE是一种将光纤通道数据帧封装在以太网数据帧内部的技术,它将以太网基础架构的高性价比优势与光纤通道架构的效率优势结合在了一起。FCoE技术本身构建在10 Gbps以太网基础之上,在成本方面比原有的光纤通道有所降低,而且在性能方面大幅超越传统的1 Gbps以太网。唯一的问题是,FCoE需要使用特殊设计的10 Gbps网卡和交换机等组件。
FCoE和10Gbps以太网这两种技术结合的十分紧密,而且目前我们只能在10Gbps网络上运行FCoE。CNA(Converged network adapter)是一种将这两项技术融合在一起的新型网卡,同时支持FCoE和10Gbps,这样用户就不必分开购买光纤通道HBA卡和10 Gbps以太网卡了。使用CNA还可以减少服务器端I/O卡、线缆的数量,交换机上也不再需要那么多的端口,这些都可以压缩开支。FCoE、10 GbE和CNA都是很棒的技术,只不过通常新技术在刚出现的时候价格都要比老产品贵一些。
相关链接二:I/O虚拟化
随着服务器虚拟化应用的普及,I/O虚拟化应用也在快速增长。它能够将一个物理I/O适配器虚拟成多个虚拟的网卡或HBA卡。服务器虚拟化应用的一个难题就是主机端同时需要很多的I/O端口,既要连接数据网络,也要连接存储网络。一般情况,物理服务器上可能需要6-8个网络端口用于普通的前端网络连接,于此同时,至少还要2个网卡或HBA卡连接到后端的存储网络。I/O虚拟化技术可以帮助用户将多个I/O卡的I/O处理需求合并到1~2个卡上。I/O虚拟化产品有很多不同的类型,比如Xsigo公司能够用一个HBA和网卡模拟出8个以上的标准以太网或InfiniBand端口。另一家公司Virtensys的技术则完全不同,Virtensys利用一个PCI-E外联扩展卡与一个独立的外部装置连接,该装置中则包含了可以共享的I/O适配器。总之,不管怎样,各种I/O虚拟化技术都可以简化主机端的I/O连接,同时降低硬件采购成本及主机端的电力消耗。
TechTarget中国原创内容,原文链接:http://www.searchstorage.com.cn/showcontent_56237.htm