对 iSCSI 目标的共享访问

对 iSCSI 目标的共享访问

是否有人知道对单个 iSCSI 目标的共享访问(多个启动器)应该如何工作。

我已经让它与 Linux (CentOS-7) 目标和 Win 2012 服务器/Win Hyper-V 2012 R2 启动器半工作。问题是每个实例似乎都有自己的 NTFS 分区版本。

这样做的原因是为了让我的虚拟机文件托管在远程 iSCSI 目标上,并在服务器之间迁移实际运行的虚拟机。如果不共享 iSCSI 目标,我看不出有任何方法可以做到这一点。

答案1

要让多个启动器共享单个目标,无论是通过 ISCSI、光纤通道还是其他 SAN 解决方案,您都需要一个集群感知文件系统。VMWare ESXi 使用 VMFS 实现这一点。Veritas 在 Veritas Cluster Suite 中提供了一个。Sun 以前也提供过一个,但后来却带来了无穷无尽的麻烦。Oracle 使用 RAC 实现了这一点,直到他们变得聪明起来,改为使用事务复制而不是共享块存储。Microsoft 提供了 NTFS Cluster Shared Volumes,这是一个 Windows 集群文件系统。我相信 Red Hat 也有一个,尽管我从未使用过它。

集群文件系统比独立文件系统的工作更加细致,因为它们必须理解仲裁计数、隔离、死对等检测和传播。如果它们不能做到这些,那么分裂脑场景(每个节点都认为自己拥有对共享资源的唯一访问权限,无法与其他节点进行检查)将使您能够破坏所有数据,或者至少进入不一致(且难以恢复)的状态。

还有一点需要注意:其中大多数都是特定于操作系统的。显然,VMFS 仅适用于 ESXi(我认为只有在连接到 VCenter 时才适用)。NTFS CSV 仅适用于 Windows 2012。Oracle RAC 适用于运行 Oracle 数据库的数据库集群。我认为 Veritas 是该组合中唯一独立于应用程序/跨操作系统的解决方案。

Veritas Cluster Suite 很复杂,而且价格不菲。此外,您需要了解服务组、启动/拆卸顺序以及集群/隔离,才能使其正常工作。如果您错过了有关分布式锁定、争用和强制锁定中断的部分(就在我们开始学习这个模块时,我被拉去与其他架构师开会),您会后悔的。

Veritas Cluster Suite 可创建紧密耦合的集群,其中一个节点可能会引发另一个节点的协同效应。赛门铁克(最近收购了 Veritas)开设了两门课程,在将基于 Vx Cluster Suite 的集群投入生产之前,您可能应该参加这些课程,因为它既强大又危险(就像汽车、电锯或随身武器一样)。

答案2

DTK 完全正确,您需要一个集群解决方案来管理对同一存储的共享访问,否则可能会发生数据损坏。

由于您特别提到了 Hyper-V 虚拟机,我将提供一些有关如何在 Windows 系统(包括 Hyper-V 主机)上执行此操作的更具体的文档:

https://technet.microsoft.com/en-us/library/jj612868.aspx

当然,您需要构建完整的 Windows 故障转移群集才能使用 CSV,因此请务必阅读有关故障转移群集的所有相关部分,而 CSV 只是其中的一个组件。

相关内容