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在虚拟化环境的应用上有一些限制,不过现在完全没有这个问题。
如果觉得《用虚拟化平台建NAS服务器 虚拟化之NAS存储》对你有帮助,请点赞、收藏,并留下你的观点哦!