NAS 在中高端存储阵列上的用例是什么?

NAS 在中高端存储阵列上的用例是什么?

许多大型存储供应商(EMC、NetApp 等)除了提供 FCP、FCoE 或 iSCSI 之外,还提供 NAS 存储设备。

什么时候使用这些设备的 NAS 功能比较合适?在 SMB 设置中,NAS 是一种更便宜的替代品,文件服务器的管理开销也更低,但是为什么买得起 VNX 的人不直接将块级存储映射到文件服务器并以这种方式共享呢?直接使用这些设备的 NAS 组件有什么好处?

答案1

当您支持的解决方案可能无法与块存储很好地配合使用,或者适当的 FC 基础设施的成本过高时,就会出现优势。

想象一下高性能计算环境中的大型分布式应用程序。假设有 1,000 个计算节点。NFS 可能非常适合应用程序数据,因为它的每端口成本低、可扩展且可靠。iSCSI 需要额外的开销和管理工作。光纤通道需要专用基础设施,并且每端口成本较高。然而,应用程序可以从中端或高端阵列的 IOPS、容量或横向扩展功能中受益。

与其他协议相比,我大约 80% 的时间将 VMware 与 NFS 结合使用。与向同一主机提供块存储相比,本机精简配置、可见性/透明度和无数据存储大小限制是优势。如今,​​只要设计得当,性能差异可以忽略不计。有时,我可能会在同一环境中的 NAS 存储(在单独的网络上)。灵活性很重要。

其他示例包括可能希望利用其客户端计算机支持的协议原生存储但直接使用 SAN 的快照/复制或备份功能的组织。Windows 端的 CIFS、Unix 的 NFS 以及我最近看到的 Macintosh/AFP 附加功能NexentaStor贮存。

答案2

首先要考虑的是,如果您在存储设备(使其成为 NAS)上运行文件系统和文件共享协议,则无需在服务器上运行它。这样可以避免一些工作。如果文件系统需要在其他服务器和用户之间共享,这可能意味着可以避免相当多的工作。

如果使用数据的服务器是唯一访问数据的服务器,那么最好坚持使用块级协议(FC、SAS、iSCSI 或 FCoE)。主要原因是,虽然实际文件系统的管理对于系统来说相当容易,但通过网络访问文件系统的协议可能很复杂且效率低下。CIFS 效率极低,而 NFS 虽然比 CIFS 更高效,但仍然比基于 SCSI 的任何协议效率低得多。

如果数据将在多台服务器之间共享,那么块的唯一选择就是集群类型的环境,其中所有节点都可以访问相同的 SCSI 卷。这可能是不可能的。即使可以(例如对于 VMWare),由非服务器的中央设备处理文件系统和文件共享协议通常也具有优势。

使用 NAS 非常有意义的特定工作负载:

  • VMWare:在最新版本的 VMWare 之前,您将在 SCSI 卷上安装的 VMWare 文件系统设计得不是很好,并且会给您的环境带来各种限制。VMWare 竭尽全力确保它们支持在 NFS 上托管的 VMDK,这消除了许多商店对 VMFS 的需求。话虽如此,但有些事情您无法使用 NFS 来完成,而使用 VMFS 则可以。我不是 VMWare 专家。
  • Hyper-V:微软虚拟机管理程序的最新测试版已支持 NAS,而且他们似乎会优先考虑确保其运行良好。
  • 文件服务器:用户的主目录和网络共享是中央 NAS 的完美应用。这样您的域中就少了一台计算机,而且您通常可以将多个文件服务器整合到单个 NAS 中。

答案3

优点是您不需要添加另一层。这有几个优点:

  • 存储系统尝试针对观察到的访问模式进行优化;如果在中间添加另一个引入其自己的缓存的系统,则访问模式现在会更改为那里产生的缓存算法,这可能更难以优化。
  • 合适的存储管理器具有电池备份写入缓存,允许日志仅保存在 RAM 中。如果另一个系统处理文件系统层,则它会写入日志块,然后等待日志被确认,然后写入数据块。将文件系统保留在 NAS 上可以跳过此步骤。
  • 存储管理器针对高吞吐量进行了优化。常规文件服务器是否能够满足 10 Gbps 链路的容量需求值得怀疑,因此这成为了瓶颈。

我帮助客户构建的系统有 6x10Gbps 流量,流向 6 个不同的交换机,其中 5 个交换机将 1Gbps 链路分发给 30 台机器,每台机器都负责渲染工作。这些机器每 20 秒会丢弃一个 200 MB 的文件,平均写入存储的速率为 1,500 MB/s(实际上,写入负载有点突发,而且无法完全预测,因为不同的场景复杂度会导致不同的渲染时间)。

在此期间,其他机器正在读取这些文件,将它们连接成一个恒定的视频流,然后将其提供给硬件编码器,并将结果流写回到存储器中的一个单独的分区中。

该服务器上的总 I/O 负载高于当时最快主板上的内存总线速度,因此瓶颈非常明显。:)

相关内容