考虑将iSCSI设置为分布式RAIDarrays。 有没有其他人试过这个,如果是这样,你的经验是什么。
为了更具体一点,我想到了几个CentOS服务器,每个服务器都有四个驱动器,都是作为iSCSI目标发布的。 然后,一个Windows Server通过iSCSI访问所有这些目标,并将这些目标连接在一起以创build一个软件RAIDarrays。
我担心的一个问题是重build时间,如果其中一台服务器在短时间内脱机。 那么是否有必要从头开始重build整个arrays,还是软件RAID足够聪明,只能重写已经改变的扇区? 我担心的是,一个小的networking故障可能会导致漫长的重build过程。
谢谢,尼克
这有很多缺点,我看不到一个优点,所以我不明白你为什么要这样做。
任何iSCSI连接中断都可能需要完整的RAID重build。 RAID子系统不知道如果光盘再次看到它,并且它或多或less不受影响,光盘是相同的,但是即使是这样的情况,它也不会保留写入操作的日志,它可以用来使驱动器再次更新。
networking连接将是一个严重的瓶颈,特别是在重build的情况下。 与通过PCIe总线连接的每个速度高达6 GBit / s的多个SATA / SAS连接相比,您将拥有less量(可能只有一个)1 GBit / s的networking连接。
这整个设置是非常微妙的,很容易完全停下来。
你无法做到你打算用微软的内置软件RAID做什么。 原因在于Windowsnetworking堆栈比存储堆栈早,所以你的RAID总是会以破碎的状态开始,并且会长时间和痛苦的重新同步,重新平衡和重新检查。 然而,您可能会使用一些第三方软件将iSCSI卷聚合成一种中央存储。 可以是iSCSI,您可以通过环回连接到它。 像FalconStor,DataCore和StarWind这样的公司也从许多独立的SAN和NAS机箱中build立统一的存储池。 DataCore和FalconStor是昂贵的,因为即使使用免费版本,F和StarWind也可以做你想做的事情。 如果你在意Linux / FreeBSD的LIO是另一种select。 祝你好运!
我不会这样做。 有很多制造的NAS设备有多个磁盘arrays供家庭使用和内置iSCSI的业务使用。这些设备是为了这个目的而devise的,并且会以相当或更便宜的成本超出您所考虑的软件configuration。
为了您的方便,这里是分布式iSCSI RAID架构的性能分析报告。
http://www.ele.uri.edu/tcca/camera_ready/Ben_iRAID-SNAPI-cr.pdf
想要将多个iscsi目标粘合在一起是一个完全有效的想法。 有很多理由你想这样做。
这是一个简单的场景:
1)我有2个服务器,每个Raid6中有12个磁盘,每个服务器上有36TB的可用空间。 所有的存储都已经是RAID,提供冗余和防止磁盘故障等。
2)我想build立一个连接到所有目标的ISCSI启动器的服务器,然后使用LVM将ISCSI卷粘合到一个72TB的卷中,并使用一个72TB的文件系统。 要做到这一点,我应该可以使用LVM将2个iscsi卷一起join72TB的卷和XFS格式。
3)当72TB文件系统已满,我想能够得到第三台服务器,并有出口另一个36TB ISCSI磁盘。 然后,在运行启动器/ LVM的主服务器上,我连接到新的iscsi磁盘,在其上设置LVM物理卷,将该PV添加到池中,将我的72TB LV扩展到108TB LV,然后XFS允许我轻松地将文件系统扩展到新的空间。 简单。
基本上,这应该是一个简单的方法来聚合多个服务器上的碎片存储,以提供一个非常大的文件系统。
iSCSI的全部重点是它应该提供一个远程SCSI设备作为本地设备。 如果可以在RAID中使用本地磁盘,那么在RAID中使用ISCSI磁盘应该可以。
如果我暂时从没有冗余的硬件RAID0中取出磁盘,我不会丢失该RAID上的任何数据。 EVER(假设一个正确的日志文件系统)。 RAID刚刚脱机。 如果我把磁盘放回去,那么RAID将重新联机。 对于iSCSI目标的RAID应该没有什么不同。