如何在不丢失数据的情况下撤消mdadm RAID 1

我有一个两个磁盘,从mdadm设置的RAID 1。 长话短说,事实certificate这台服务器有一个实际的RAID控制器,所以硬件RAID将比软件RAID更可取。 另外,软件RAID有意外的断开连接到磁盘2,这会将其降级到降级模式。 所以我们想尝试一下硬件RAID。

然而,在我们走这条路线之前,我们想撤销RAID,只让操作系统从单个磁盘上运行。 我的问题是,我怎么能有效地做到这一点?

我猜我需要编辑我的/ etc / fstab文件,该文件目前已安装在/ dev / md0上。 我也猜测,grub将不知何故必须更新? 我不确定我还需要做什么或以什么顺序来做这一切。 我的第一个倾向是从一张Live CD启动,并且从磁盘1到磁盘2的date是一个确切的镜像(RAID镜像已经退化了一会儿),然后从那里开始。

我正在运行Ubuntu服务器。 感谢您的任何build议。

您的select实际上仅限于备份和恢复重buildRAIDarrays – 通常初始化硬件RAID将擦除您的磁盘。

即使不这样做,你也不得不mdconfiguration,或者拆开驱动器,运行硬件RAIDarrays内部软件RAID降级 – 坦率地说,支持一切,重新开始可能是最痛苦的select。

您最好,最安全的select是运行完整备份并擦除和重新格式化音量。 然后恢复数据。

对于RAID-1来说,使用Linux mdadm软件raid几乎可以肯定比任何硬件raid控制器都要好。 使用一个简单的JBOD HBA和mdadm。 (比如LSI的8端口SAS 6Gbps,当然也是SATA 6Gbps,大概200美元)。

硬件RAID的唯一真正的优势是它有一个非易失性(电池支持的或更新的基于闪存的)写caching。 它必须是非易失性的(以防止崩溃或电源故障),否则它不会比linux的磁盘caching更好。 不是所有的硬盘RAID卡都安装了电池备份或闪存,并不是所有的硬盘都可以作为选项。

即使这样,通过使用SSD作为写入cachingw / mdadm也可以获得相同的效果。 比如bcache和facebook的flashcache是这个想法的两个实现。 他们是新的,所以我不会冒险在生产系统上使用它们(OTOH,Facebook可能在极其高负载的flashcache下做了大量的真实世界testing)

(顺便说一下,如果你正在谈论的是fakeraid–这种袭击是用廉价的卡片或者主stream的主板来实现的,那就把它忘掉吧,使用这个软件远远不如Linux的软件RAID)

但是,你似乎确实有一个需要解决的实际问题。

听起来好像你的某个磁盘出现了问题(在这种情况下,尽快更换),或者使用插入的sata端口。 尝试将磁盘插入另一个端口。

还要检查所有电缆是否安全插入,并确保电源适合您的系统(大多数情况下,例如,如果您的高端显卡在300W PSU上绘制了200W以上的主板和多个驱动器,则你需要一个更好的PSU)。

希望有所帮助。

为了提供更好的答案,你需要提供更多的细节,如:

  • 什么样的系统(尤其是主板,如果是白盒克隆而不是名牌服务器)
    • 什么样的磁盘控制器
    • 错误消息的样本 – 例如。 内核在将磁盘从arrays中踢出时说什么?

PS:作为你的问题的直接回答,撤销raid-1很容易。 只需编辑/ etc / fstab,以便它直接挂载分区。 并重新configurationgrub以适应。 例如,如果/ dev / md0由sda1和sdb1组成,那么您可以只安装/ dev / sda1(或sdb1)而不是/ dev / md0。 这是关于软件RAID 1真正好的事情之一(不知道你是否可以做同样的W / H RAID卡 – 他们倾向于使用奇怪的专有格式)。 那么你应该能够将其他驱动器插入硬盘RAID卡,将其设置为降级RAID-1,以root用户身份重新引导到/ dev / sda1,格式化降级的RAID,挂载它,rsync文件系统,确定你已经安装了grub MBR。 复制之后,您可能需要编辑/ etc / fstab。 然后重新启动使用退化的RAID作为你的根FS。

如果(也只有在)的情况下可以closures,将另一个驱动器从非RAID插槽中取出并插入到HID RAID卡中并将其添加到RAID 1arrays。 然后重新启动,你就完成了。

注意:如果“RAID”卡是假的,请不要混淆。 这不是真正的硬件突袭,但有没有任何优势的硬盘RAID的所有缺点(和更多)。 软件RAID更好。

Rick Moen在http://linuxmafia.com/faq/Hardware/sata.html有一个关于linux sata&raid控制器的精彩网页。 它会解释为什么fakeraid比无用的更糟糕。