max*_*xim 10 raid mdadm initramfs
是否可以使用mdadm及其扫描功能组装特定的 RAID 阵列,但不需要配置文件?
背景:
我使用定制的 initramfs 来设置我的系统(dm-crypt 和其他东西)。一切都在 init 脚本中完成和配置,这就是我想要保留它的方式,即没有任何额外的配置文件。
我的目标:
在 init 脚本中,我想仅使用命令行来组装一个特定的 RAID 阵列。该阵列通过其 UUID 进行标识,给出了 md 设备名称,并应扫描阵列成员(因为例如连接的 USB 记忆棒或故障设备会弄乱 /dev/sdX 名称)。所有其他设备和潜在的 RAID 阵列都将被忽略,因为在引导期间只有一个阵列是感兴趣的(携带根文件系统)。
彻底阅读 mdadm 的手册页并执行了几个测试,我想出了这个:
mdadm --assemble --uuid <uuid> /dev/md0
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但这是正确的方法吗?
来自手册页:
如果只列出了一个设备,但没有给出 --scan,那么 mdadm 就像提供了 --scan 一样,并从配置文件中提取了身份信息。
Mar*_*ark 16
如果您知道数组 UUID,那么mdadm --assemble /dev/md0 --uuid <uuid>
(注意参数顺序的细微差别)将执行您想要的操作:扫描所有未使用的卷,以md
查找具有给定 UUID 元数据的卷。其他选项:
mdadm --assemble /dev/md0 --name <name>
(与 做相同的事情--uuid
,但使用数组名称而不是 UUID。)mdadm --assemble /dev/md0 --super-minor <minor id #>
(与 做同样的事情--uuid
,但在元数据中有次要设备号。仅推荐用于 0.90 版元数据。)mdadm --assemble /dev/md0 /dev/disk/by-id/<disk>...
(如果udev
设置了/dev/disk/by-id
别名,在硬件更改时应该是静态的。)mdadm --assemble --scan
配置文件中没有列出阵列(扫描所有未使用的卷以获取md
元数据,并根据找到的内容组装 RAID 阵列。请注意,如果您有多个阵列并且只想设置其中一个,或者如果您的阵列已获得分裂,这不会做你想要的。) 归档时间: |
|
查看次数: |
50470 次 |
最近记录: |