情况如下 - 我必须保留一小部分数据(大约 200GB)。这些基本上是共享的 VHD 映像,用作我们许多 VM 的主映像 - 然后它们在差异磁盘上运行。整个集合“大部分是只读的”。更详细地说:存在并使用的文件永远不会改变。我可以删除文件(绝对不使用时)并添加新文件,但曾经存在的文件会被设置读保护,直到它被淘汰。
显然,我需要尽可能多的正常运行时间。到目前为止,我们通过在每个 Hyper-V 服务器上本地放置此目录来运行它。现在我想将其移动到我们的存储结构中。由于“它必须在那里”,我几乎想要一个无共享架构。
DFS 非常适合这种情况 - 文件永远不会改变,因此复制会很好地发挥作用。文件夹可以复制到多台服务器,所有服务器都会从那里引用它们。现在,hyper-V 支持 SMB,这可能是在多台服务器上隔离这些文件的好主意 - 我们尝试进入存储更集中的场景。
Server 2012 支持始终共享,但这似乎仅适用于后面的群集磁盘。对于只读文件存储,有没有办法解决这个问题?所有文档都指向共享 JBOD 之类的东西 - 但这会让我面临文件系统损坏的风险。我真的打算在这里垂直分开 - 2 台服务器,都只为此配备 SSD,都拥有自己的 2000W 独立 USV,都拥有足够的带宽来处理所有问题(请注意,每个人都认为这是 10G - 与优质的 Infiniband 主干相比,这会很慢而且昂贵)。真正的关键在于,这显然是一种边缘情况 - 因为文件在使用时只读取一次。
答案1
我认为这不可行。如果不使用共享磁盘,就无法实现故障转移透明性。如果不使用锁,另一个节点如何知道第一个节点正在提供哪些文件?
我能想到的唯一其他选择是使用 vSphere 中的容错功能,但这对处理能力、网络带宽和延迟的要求非常高。我从未遇到过有人在低于 10gig 的专用管道上进行容错。
答案2
您是否考虑过类似小型 NetApp 文件管理器的东西 - 它们有两个“头”,一个在发生故障时接管另一个,并且时间短到不会导致断开连接。我们广泛使用它们,并且绝不由于文件管理器出现问题而中断。但它们不是免费的 ;)