Linux软件RAID-1和设备名称

Linux软件RAID-1和设备名称

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

相关内容