假定读者熟悉各种类型的 raid 实现,它们的优点和缺点。这不是一个教程,只是一组关于如何在 Linux 系统上实现 root 挂载 raid 的指令。所有熟悉 Linux raid 所必需的信息都直接或通过引用在此列出,请在发送电子邮件提问之前阅读它。
点击此处浏览本文档的作者最新版本。欢迎更正和建议!
Root-RAID-HOWTO -- 已过时
提供 LaTeX (用于 DVI 和 PostScript)、纯文本和 HTML 版本。
http://www.linuxdoc.org/HOWTO/Root-RAID-HOWTO.html提供 SGML 和 HTML 版本。
ftp.bizsystems.net/pub/raid/
提供 LaTeX (用于 DVI 和 PostScript)、纯文本和 HTML 版本。
http://www.linuxdoc.org/HOWTO/Boot+Root+Raid+LILO.html提供 SGML 和 HTML 版本。
ftp.bizsystems.net/pub/raid/
截至本文撰写之时,尚未以令人满意的方式解决停止 root 挂载的 RAID 设备的问题。Ed Welbon 提出并由 Bohumil Chalupa 实施的一种变通方法已纳入本文档,该方法消除了每次启动时对 raid1 和 raid5 设备进行长时间 ckraid 的需要。如果没有这种变通方法,每次系统重新启动时都必须对 md 设备执行 ckraid。在大型阵列上,这可能会导致严重的可用性性能下降。在我的 Pentium 166 运行的 128MB 内存的 6GB RAID1 设备上,每次重新启动后,执行 ckraid 需要超过半个小时的时间 :-(。在我的 13GB RAID5 阵列上,使用 20mb/sec scsi 适配器,则需要一个多小时。
该变通方法在关机时将阵列的状态存储在实际的引导设备上,并将其与系统首次构建时放置在那里的参考状态进行比较。如果在重新启动时状态匹配,则在下次启动时重建阵列上的超级块,否则操作员会收到状态错误的通知,并且救援系统将保持运行,所有 raid 工具都可用。
重建超级块会导致系统忽略阵列在没有 mdstop 的情况下断电,方法是将所有驱动器标记为 OK,就像什么都没发生一样。这仅在关机时所有驱动器都 OK 的情况下有效。如果阵列在坏驱动器的情况下运行,则操作员必须在重新启动 md 设备之前移除坏驱动器,否则数据可能会损坏。
这些都不适用于 raid0,raid0 在关机前不需要 mdstopped。
最终提出的解决此问题的方法包括类似于 initrd 的 finalrd,以及在关机时当阵列以只读方式挂载时,将 clean 标志写入阵列的 mdrootstop。我相信还有其他方法。
与此同时,该问题目前已被绕过。当这个问题得到更简洁的解决时,请告知我!!!
以下个人的著作和电子邮件帮助本文档成为可能。许多想法都窃取自他人的有益工作,我只是尝试将所有内容都以 COOKBOOK 形式呈现,以便直接使用。感谢
本文档是 Michael Robinton michael@bzs.org 的 GNU copyleft 作品。
特此授予为任何目的使用、复制、分发本文档的许可,前提是作者/编辑的姓名和本声明出现在所有副本和/或支持文档中;并且本文档的未修改版本可免费获得。本文档的发布是为了希望它有用,但不作任何明示或暗示的保证。虽然已尽一切努力确保本文档中记录的信息的准确性,但作者/编辑/维护者对因使用本文档中记录的信息而造成的任何错误或任何损害(直接或间接)不承担任何责任。