iSCSI 分布式 RAID?

iSCSI 分布式 RAID?

考虑通过 iSCSI 设置分布式 RAID 阵列。有其他人尝试过吗?如果尝试过,您的体验如何?

更具体地说,我设想有两台 CentOS 服务器,每台服务器有四个驱动器,全部发布为 iSCSI 目标。然后一台 Windows 服务器通过 iSCSI 访问所有这些服务器,并将这些目标连接在一起以创建软件 RAID 阵列。

我担心的是,如果其中一台服务器短时间离线,重建时间会很长。那么是否需要从头开始重建整个阵列,或者软件 RAID 是否足够聪明,只重写已更改的扇区?我担心的是,一个小小的网络故障可能会导致漫长的重建过程。

谢谢,尼克

答案1

这有很多缺点,我看不出有任何优点,所以我不明白你为什么要这样做。

  • 任何 iSCSI 连接中断都可能需要完全重建 RAID。RAID 子系统不知道如果再次看到磁盘,磁盘是否与原来相同,是否基本不受影响,但即使情况如此,它也不会保留故障以来的写入操作日志,以便再次更新驱动器。

  • 网络连接将成为严重的瓶颈,尤其是在重建的情况下。与通过 PCIe 总线连接的多个 SATA/SAS 连接(每个连接速度最高可达 6 GBit/s)相比,您将拥有较少数量的(可能只有一个)1 GBit/s 网络连接。

  • 整个装置非常精密,而且很容易完全停止。

答案2

您无法使用 Microsoft 的内置软件 RAID 执行您想要执行的操作。原因是 Windows 中的网络堆栈早于存储堆栈,因此您的 RAID 将始终以损坏的状态启动,并且将进行漫长而痛苦的重新同步、重新平衡和重新检查。但是,您可以使用一些第三方软件将 iSCSI 卷聚合到某种中央存储中。可以是 iSCSI,您可以通过环回连接到它。FalconStor、DataCore 和 StarWind 等公司也从事从许多独立的 SAN 和 NAS 盒构建统一存储池的业务。DataCore 和 FalconStor 价格昂贵,而 StarWind 甚至可以使用免费版本来满足您的需求。如果您愿意,带有 LIO 的 Linux/FreeBSD 是另一种选择。祝你好运!

答案3

我不会这样做。许多制造的 NAS 设备都具有多个磁盘阵列,既可用于家庭使用,也可用于商业使用,并且内置了 ISCSI。这些设备的设计考虑到了这一目的,并且将以相当或更便宜的成本超越您正在考虑的软件配置。

答案4

想要将多个 iscsi 目标粘合在一起是一个完全合理的想法。有很多理由让您想要这样做。

以下是一个简单的场景:

1) 我有 2 台服务器,每台服务器有 12 个磁盘,组成 Raid6,每台服务器有 36TB 可用空间。所有存储都已组成 RAID,以提供冗余并防止磁盘故障等。

2) 我想设置一台带有 ISCSI 启动器的服务器,该启动器连接到所有目标,然后使用 LVM 将 ISCSI 卷粘合在一起,形成一个 72TB 的卷,并具有一个 72TB 的文件系统。为此,我应该能够使用 LVM 将 2 个 iscsi 卷合并成一个 72TB 的卷,并使用 XFS 进行格式化。

3) 当 72TB 文件系统已满时,我希望能够获得第三台服务器并让其导出另一个 36TB ISCSI 磁盘。然后,在运行启动器/LVM 的主服务器上,我连接到新的 iscsi 磁盘,在其上设置 LVM 物理卷,将该 PV 添加到池中,将我的 72TB LV 扩展为 108TB LV,然后 XFS 允许我轻松地将文件系统扩展到新空间。很简单。

基本上,这应该是一种跨多个服务器聚合碎片存储的简单方法,以提供一个非常大的文件系统。

iSCSI 的重点在于它应该将远程 SCSI 设备显示为本地设备。如果可以在 RAID 中使用本地磁盘,那么在 RAID 中使用 ISCSI 磁盘也应该可以。

如果我暂时将磁盘从没有冗余的硬件 RAID0 中取出,我不会丢失该 RAID 上的任何数据。永远不会(假设日志文件系统正确)。RAID 只是离线。如果我将磁盘放回去,那么 RAID 就会重新上线。对于 iSCSI 目标的 RAID 来说应该没有什么不同。

相关内容