我想在我的 Ubuntu 系统上设置软件 RAID-1,并找到了 /etc/raidtab 的示例:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
device /dev/sdb1
raid-disk 0
device /dev/sdc1
raid-disk 1
不过,我希望 raid 设备的路径是 /raid。只用就可以吗
raiddev /raid
...或者它真的必须命名为 /dev/md0 吗?
答案1
首先,mdraid 从很久以前就配置了持久性超级块。配置现在通常由 mdadm 内部存储在每个分区内。 /etc 中通常拥有的唯一配置是一个/etc/mdadm/mdadm.conf
,它看起来像这样(省略了一堆注释):
# Please refer to mdadm.conf(5) for information about this file.
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md0 metadata=0.90 UUID=a1b8efea:2114fd99:28a5f279:815d333e
ARRAY /dev/md/pv0 metadata=1.0 UUID=c840d0de:0626d783:3f1b28dc:c5ec649a name=Zia:pv0
它提供了路径(我相信它需要与 udev 的想法相匹配)和一些用于识别数组的信息。它实际上并没有说明 RAID 级别、磁盘数量,甚至哪些磁盘(DEVICE partitions
意思是“检查所有连接的磁盘”)。这实际上相当不错。如果您关闭、将所有磁盘移动到不同的端口并重新启动,它仍然可以工作。如果您在更换磁盘时错误地这样做了,那就太好了。或者当您添加新控制器时,导致重新编号。仍然有效。
创建 mdraid 数组时,您可以指定元数据版本(使用-e
)。如果您使用 1.x 元数据,则可以指定数组的名称。默认情况下,udev 将创建一个/dev/mdX
(从相当高的数字开始,例如 127)和一个/dev/md/NAME
.你可以更改 udev 配置以将它们放在其他位置,但设备位于 /dev 中,这是一个非常牢固的传统。您还可以给它们任何您想要的名称,它是对内核真正重要的设备号。
但请记住,设备名称和安装点是不同的。你可以山如果您愿意,可以将 /dev/md0 上的文件系统更改为 /raid,可以在 /etc/fstab 中执行此操作。就像使用 /dev/sda1 或任何其他分区一样。
另外,如果您在安装程序中进行了设置,那么一切都会为您处理好。至少 Debian 安装程序可以,Ubuntu 也应该如此。
答案2
当前的软件 RAID 工具是mdadm
.与大多数设备一样,RAID 设备/dev
通常具有以下形式的条目/dev/md999
(例如/dev/md0
)。创建设备后,配置通常会存储在其中,/etc/mdadm/mdadm.conf
因此 RAID 设备将在启动时自动重新组装。
大致相当于上面的命令(加上安装为/raid
)是:
mdadm /dev/md0 --create --raid-devices=2 --level=1 /dev/sdb1 /dev/sdc1
mkfs /dev/md0 # optionally specifying -text3 or -text4
mount /dev/md0 /raid
请注意,用于软件 RAID 设备的分区应设置为0xDA
(非 fs 数据),除非您有特殊原因(和必要的支持)使用类型0xFD
(自动检测 raid)。
指定 RAID 设备的行/etc/mdadm/mdadm.conf
可以附加:
mdadm --examine --scan >> /etc/mdadm/mdadm.conf