Linux软件RAID-1和设备名称

Mag*_*nus 4 raid

我想在我的 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 吗?

der*_*ert 5

首先,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 也应该如此。