Linux-RAID 常见问题解答 | ||
---|---|---|
上一页 |
唯一剩下的存档似乎可以在以下网址找到:http://marc.theaimsgroup.com/?l=linux-raid&r=1&w=2
此 FAQ 的最新版本将可从 LDP 网站 http://www.tldp.org/FAQ/ 获取。
目前,大多数主要发行版都附带基于 2.4 的内核,其中已包含必要的补丁。如果您的发行版仍在使用 2.2.x 内核,请升级!
如果您从 ftp.kernel.org 下载 2.2.x 内核,则您需要修补您的内核。
这取决于您正在使用的内核系列。如果您正在使用 2.4.x 内核,那么您已经拥有可用的最新 RAID 代码。如果您正在运行 2.2.x,请参阅以下说明以了解如何查找。
最简单的方法是检查 /proc/mdstat 中的内容。/proc/mdstat。这是来自应用了 RAID 补丁的 2.2.x 内核的示例。
[gleblanc@grego1 gleblanc]$ cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid5] [translucent] read_ahead not set unused devices: <none> |
如果您将 RAID 编译为模块,则您的内核中的“Personalities”行可能看起来与上面不完全相同。大多数发行版会将 RAID 编译为模块,以节省启动软盘上的空间。如果您未使用任何 RAID 集,那么您可能会在“Personalities”行的末尾看到一个空白,请不要担心,这只是意味着 RAID 模块尚未加载。
这是来自未应用 RAID 补丁的 2.2.x 内核的示例。
[root@serek ~]# cat /proc/mdstat Personalities : [1 linear] [2 raid0] read_ahead not set md0 : inactive md1 : inactive md2 : inactive md3 : inactive |
适用于 2.2.x 内核(最高到 2.2.13,包括 2.2.13)的补丁可从 ftp.kernel.org 获取。使用与您的内核版本最匹配的内核补丁。例如,2.2.11 补丁也可以在 2.2.12 和 2.2.13 上使用。
![]() | 这些补丁不再从此位置可用!我还没有找到它们的新位置,如果您知道它们去了哪里,请给我发电子邮件。 |
适用于 2.2.14 及更高版本内核的补丁位于 http://people.redhat.com/mingo/raid-patches/。使用适合您内核的正确补丁,这些补丁在其他内核版本上不起作用。请使用 wget/curl/lftp 之类的工具来检索此补丁,因为这比使用 Netscape 之类的客户端对服务器更友好。使用 Lynx 下载补丁对我来说并不成功;wget 可能是最简单的方法。
目前有两套工具可用。这两套工具都运行良好,并且具有基本相同的功能。我推荐使用较新的工具集,因为它们更容易使用,但我也会提及在哪里获取旧工具。
新的工具集称为 mdadm。它没有太多的主页,但您可以从 http://www.cse.unsw.edu.au/~neilb/source/mdadm/ 下载 tarball 和 RPM。我建议任何尚不熟悉“raidtools”软件包的人都使用这些(实际上,我建议已经熟悉 raidtools 软件包的人也切换到这些)。
旧的工具集称为 raidtools。它们可从 http://people.redhat.com/mingo/raidtools/ 获取。我相信还有其他位置可用,因为 Red Hat Linux 的发货基于编号为 1.00.3 的 tarball,我在网上找不到它。如果有人知道这些在哪里,请告诉我。
有几件事应该表明磁盘何时发生故障。在/var/log/messages中应该有很多消息指示访问该设备时出错,这应该是一个很好的迹象,表明出了问题。
您还应该注意到您的/proc/mdstat看起来不同了。这是来自良好的 /proc/mdstat 的片段
[gleblanc@grego1 gleblanc]$ cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid5] [translucent] read_ahead not set md0 : active raid1 sdb5[0] sda5[1] 32000 blocks [2/2] [UU] unused devices: <none> |
这是来自一个/proc/mdstat其中一个 RAID 集缺少磁盘的情况。
[gleblanc@grego1 gleblanc]$ cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid5] [translucent] read_ahead not set md0 : active raid1 sdb5[0] sda5[1] 32000 blocks [2/1] [U_] unused devices: <none> |
我不知道是否/proc/mdstat将反映 HOT SPARE 的状态。如果您已设置一个,则应注意/var/log/messages任何磁盘故障。我想获得一些磁盘故障的日志,以及/proc/mdstat来自具有热备系统的日志。
软件 RAID 通常不会将磁盘标记为坏,除非它确实坏了,因此您可能需要一块新磁盘。大多数质量不错的磁盘都有 3 年保修期,但一些例外(且昂贵)的 SCSI 硬盘驱动器可能有长达 5 年或更长时间的保修期。越来越多的硬盘驱动器供应商在其“消费级”驱动器上提供 1 年保修。我建议尽可能避免使用任何保修期为 1 年的驱动器。如果仍在保修期内,请尝试让制造商更换故障磁盘。
当您获得新磁盘时,请关闭系统电源并安装它,然后对驱动器进行分区,使其具有与您丢失的 RAID 分区大小相同的分区。设置好分区后,只需运行 mdadm --add /dev/md0 /dev/hdc1,其中/dev/md0是您要向其添加分区的 RAID 阵列,以及/dev/hdc1是您尝试添加的分区。重建应立即开始。
如果您更喜欢使用 RAIDtools 套件,则可以使用命令 raidhotadd 将新磁盘放入阵列并开始重建。有关更多信息,请参阅《软件 RAID HOWTO》的第 6 章。