在 VMware vSphere 7 中,向单个 Windows 主机添加大量存储的最佳方法是什么?比如说 500TB?过去,我创建了一堆 VMFS 数据存储,并将其拆分到 Windows 中的每个驱动器,一个 50TB VMFS 和一个 50TB Windows 驱动器乘以 10。但是,如果将它们全部合并到一个驱动器中,新应用程序会运行得更好……我知道我可以在 Windows 中将它们合并,但这似乎是一种低效的混乱。
答案1
考虑到您显然拥有的巨额预算以及您提出的问题所表明的缺乏经验,我不知道该如何认真对待这个问题,但我会像您是认真的一样回答。
据我所知,单个虚拟硬盘的最大容量可达 62 TB(https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-BF2C8E24-B530-4C94-85F6-09E5AE781466.html)。
您需要在 Windows 中设置由多个较小的虚拟磁盘组成的软 RAID。这在维护方面很快就会变得复杂。
您最好考虑可扩展的开源或专有存储解决方案 - 并且不要忘记为备份和灾难恢复预留预算。
此时,您还应该与开发人员讨论软件设计:如何使用该存储?是否可以将其分解成更小的块?是否需要以相同的优先级访问所有存储,或者是否可以将存储分别拆分为高性能和低成本池?是否可以选择将解决方案托管在云提供商处?等等。
答案2
最好的办法是,如果您将所有这些文件系统合并为一个文件系统,并将该文件系统挂载到 Windows 中。构建某种网络 JBOD 对性能不太友好,并且有很多缺点。如果您真的坚持这样做,我建议您这样做。
将您的十个 50TB-NAS 系统中的每一个配置为将其各自的组合磁盘空间作为 iSCSI 设备提供给某种 MasterNAS 服务器。
MasterNAS 服务器(应该是 Linux 系统)应该将所有 10 个 iSCSI 设备组合为 btrfs 超级文件系统。
sudo apt install open-iscsi btrfs-progs
为此,您将需要(针对 ubuntu/debian 服务器)。
您将所有 10 台 NAS 配置为作为组合 iSCSI 设备提供其整个磁盘空间。示例:您的 NAS 服务器使用硬件 raid 控制器,该控制器将所有磁盘驱动器映射到 1 个逻辑驱动器。此 1 个逻辑驱动器由iSCSI 启动器。
您使用新的、性能卓越且独立的 MasterNAS 服务器,该服务器从所有 10 台 NAS 服务器“收集/安装”所有 10 个 iSCSI 目标。我建议此 MasterNAS 使用现代 Linux,并使用 btrfs 作为 iSCSI-NAS 驱动器的文件系统。然后,您只需在单一模式下创建一个超级 btrfs 文件系统(这对于使用文件系统级数据剥离的某种酷炫 JBOD 设备至关重要)。您可以这样做:
sudo mkfs.btrfs --data single /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj
(这将所有 10 个驱动器组合成类似 JBOD 的线性 btrfs 文件系统)
您可以使用其任何设备来挂载该超级 btrfs 文件系统,如下所示:mount /dev/sda /mnt
。
类似 btrfs JBOD 的设备的优点是,如果其中一个 NAS 服务器发生故障,您的文件系统不会崩溃,您只会“丢失”离线 NAS 服务器中的文件。(在默认设置下它会崩溃,但数据恢复要容易得多,因为使用 btrfs 时文件剥离是在文件系统级别进行的)
完成所有这些操作后,您可以在 MasterNAS 上安装 samba 服务器,并将这个超级 btrfs 文件系统共享到您的 WindowsVM。
PS:Windows 上也有免费的 btrfs 驱动程序,但我没有用过 -->https://github.com/maharmstone/btrfs
答案3
这可能不是您想听到的,但您是否考虑过为此使用某种形式的公共云存储? 500TB 需要一段时间才能填满,所以为什么要在知道您确实需要它之前付费呢。显然,您需要选择您的云和哪种服务,但我只是想让您考虑一下,然后再匆忙出去花一大笔钱。