我想在我的 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
Run Code Online (Sandbox Code Playgroud)
不过,我希望 raid 设备的路径是 /raid。只用就可以吗
raiddev /raid
Run Code Online (Sandbox Code Playgroud)
...或者它真的必须命名为 /dev/md0 吗?
首先,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
Run Code Online (Sandbox Code Playgroud)
它给出了路径(我相信它需要与 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 也应该如此。