我有一台 Ubuntu 机器(10.04,但在 8.04 中遇到同样的问题),带有一堆驱动器,我将其用作文件服务器:
- 1 个 SATA 用作启动盘
- 2 个 IDE 组成 RAID1
- 2 个 SATA 组成 RAID1
问题是 RAID1 中的驱动器在重新启动时会更改设备名称。
这是一个问题,因为在我的 mdadm.conf 中,对 /dev/sda1 的引用可能在下次重新启动时不起作用,因为 /dev/sda1 可能是来自另一个阵列的磁盘。
/etc/mdadm/mdadm.conf 如下所示:
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=c3d6f9e1:b8096c45:c9e2b015:e64a66e3
devices=/dev/sdd1,/dev/sde1
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=00.90 UUID=e3b0837c:b53a5846:70fdb0c1:78e75d0a
devices=/dev/sda1,/dev/sdb1
MAILADDR [email protected]
任何能解决此问题的帮助都将不胜感激。
答案1
使用 中的 UUID /etc/fstab
。
# /dev/sda2
UUID=b1a9ff81-5382-40ef-b159-61cd48a6a91e / ext3 relatime,errors=remount-ro 0 1
您可以通过以下方式找到 UUID:
$ sudo blkid
这将打印设备名称及其 UUID 的列表。
执行以下一项或多项操作也很有用:
$ ls -l /dev/disk/by-uuid
$ ls -l /dev/disk/by-id
$ ls -l /dev/disk/by-label
$ ls -l /dev/disk/by-path
另一个用于匹配设备的有用命令是findfs
。
答案2
感谢@Zoredache 的评论(他指出即使设备名称发生变化,mdadm 也应该能够重建阵列)我开始将其视为重建问题,从而实现更有效的研究。
首先我发现了这个:
http://www.uluga.ubuntuforums.org/showthread.php?p=9202425
这让我想到了这一点:
新手只能发布一个超链接(哈哈),所以你必须自己在上面链接的页面上找到链接。或者也许有人可以帮我把它放在这里?
解决方案是从源代码编译 mdadm 并放弃 apt 版本。
-麦克风