在VDI环境中通常建议使用共享存储。如果你打算使用共享存储,需要做确保容错及高性能的工作。
当然,你应该先考虑共享存储是否适合你的VDI项目。对于某些VDI环境,DAS也是一种选择。DAS价格更低,部署也更方便。此外DAS不会受带宽的限制,也不会受共享资源的影响。
如果选择使用共享存储的话,需要将一些重要事项牢记于心:
网络连通性
用户使用VDI的总体体验很大程度上受存储子系统性能的影响。尽管交付特定IOPS值的存储解决方案很容易制定,但是只保证磁盘的性能并不足以确保良好的最终用户体验。虚拟桌面主机服务器必须能够与存储系统进行高效的通信。因此,为VDI部署共享存储时采取相关措施避免通信瓶颈是非常重要的。
研究具备容错功能的存储通信架构同样非常重要。容错通信架构能够避免主机服务器与存储设备之间的网络链路出现单点故障。
你首先需要做的选择之一就是在存储设备以及主机服务器之间所使用的网络连接类型。在共享存储环境中,通常使用iSCSI或FC。
光纤通道HBA卡的通信速度能够达到8GB/s。相反iSCSI通常使用10GB以太网。因此,很容易断定iSCSI交付的性能比光纤通道更好。然而,光纤通道的性能通常要比10GB iSCSI要好——尽管它比10GB iSCSI 的吞吐量每秒钟少了2GB,但是iSCSI协议存在开销。使用带有TCP/IP卸载引擎的网卡能够帮助提升iSCSI的性能,但是还不足以达到光纤通道的性能等级。
假定主机服务器与存储阵列的物理位置接近,那么使用iSCSI的唯一原因就是其成本要比FC低,而且可以通过标准以太网传输。有时也可以使用FCoE,但FCoE的性能并不像FC那样好,因为FCoE存在利用以太网封装FC的过程。
不管你选择的是iSCSI还是FC,冗余都是容错的一个重要的组成部分。硬件供应商提供了多接口以太网网卡以及多接口HBA卡。即使是这样,这类设备并没有提供真正的冗余因为适配器本身可能成为一个单一故障点。为了提供真正的冗余通信,你应该使用多个物理适配器。
阵列配置
为VDI设计共享存储时应该把高性能以及容错目标考虑在内。作为一个最佳实践,通常建议使用RAID 10磁盘阵列。它同时交付了条带化(RAID 0)的性能以及镜像(RAID 1)的冗余性。
在RAID 10阵列中,对所有的硬盘进行了镜像,对多个驱动器的故障提供了保护。
预算紧张的组织也可以考虑使用RAID 5。RAID 5针对单个驱动器的故障提供了保护。然而,RAID 5在阵列中的每个驱动器中存储了校验信息。在驱动器中写入校验信息时存在的开销导致RAID 5阵列的性能要比RAID 0阵列(条带化但是无校验)低。RAID 5阵列无法针对多个驱动器的故障提供保护。
如果采购VDI共享存储的预算有限,那么对于小型组织来说,可以选择RAID 5阵列。假定使用了足够多的磁盘,理论上能够交付所需要的IOPS。
如果你打算使用RAID 5阵列,请记住发生故障的驱动器在很大程度上将会降低阵列的性能。只是简单地替换发生故障的驱动器并不能够立刻恢复阵列的性能。因为发生故障的驱动器的内容必须在新更换的驱动器上重新生成。这一过程将会降低阵列的有效性。