これは私の/etc/mdadm/mdadm.confです。
ARRAY /dev/md/root metadata=1.2 name=root UUID=331728d9:c4d12r4f:f589d3ze:01ab3c17
ARRAY /dev/md/backup metadata=1.2 name=backup UUID=429845f1:d5e24f5g:8135dgte:120ff5c0
この状況に関するレポートが見つかりました。
find /dev/md -ls
1656 0 drwxr-xr-x 2 root root 80 nov 8 05:30 /dev/md
1784 0 lrwxrwxrwx 1 root root 8 nov 8 05:30 /dev/md/ibmlinux:backup -> ../md127
1657 0 lrwxrwxrwx 1 root root 8 nov 8 05:30 /dev/md/ibmlinux:root -> ../md126
ご覧のとおり、md126とmd127がありますが、md0とmd1という名前を強制的に指定できますか? mdadm.confで冗長配列を作成してみましたが、うまくいきません。システムは Debian SID です。
私はこの結果が欲しい:/dev/md/nameを維持し、md127とmd126の代わりにmd0とmd1を使用してください。
find /dev/md -ls
1656 0 drwxr-xr-x 2 root root 80 nov 8 05:30 /dev/md
1784 0 lrwxrwxrwx 1 root root 8 nov 8 05:30 /dev/md/ibmlinux:backup -> ../md1
1657 0 lrwxrwxrwx 1 root root 8 nov 8 05:30 /dev/md/ibmlinux:root -> ../md0
それでは、mdadm.confを使ってみましょう。
ARRAY /dev/md0 metadata=1.2 name=root UUID=331728d9:c4d12r4f:f589d3ze:01ab3c17
ARRAY /dev/md1 metadata=1.2 name=backup UUID=429845f1:d5e24f5g:8135dgte:120ff5c0
initramfsを更新して再起動した後...
find /dev/md -ls
9250 0 drwxr-xr-x 2 root root 80 nov 8 05:50 /dev/md
9299 0 lrwxrwxrwx 1 root root 8 nov 8 05:50 /dev/md/ibmlinux:root -> ../md126
9251 0 lrwxrwxrwx 1 root root 8 nov 8 05:50 /dev/md/ibmlinux:backup -> ../md127
同じ。
答え1
エイリアスと数値を同時に指定することはできないため、mdadm.conf
mdadmメタデータを使用する必要があります。
デフォルトでは、ホスト名と番号(スーパーマイナー)の両方がメタデータに保存されます。だからそこからあなたのお気に入りのMD番号を設定することができます。
番号を手動で1回組み合わせることで変更できます(例:42)。
# mdadm --stop /dev/md126
# mdadm --assemble /dev/md42 --update=name /dev/sdx3 /dev/sdy3
# mdadm --stop /dev/md42
この変更はメタデータに反映する必要があります。
# mdadm --examine /dev/sdx3
Name : host:42
自動アセンブリでは、ホスト名も一致する限り、この番号を使用する必要があります。
ホスト名が問題になる可能性があるため、HOMEHOST <ignore>
mdadm.confに追加して無視できます。
を使用することもできますHOMEHOST <none>
。この場合、前のコマンドはメタデータに保存されているホスト名を--assemble --update
提供しません。Name : 42
アレイ仕様自体は変更されませんARRAY /dev/md/name UUID=...
。ここではUUIDだけで十分です。メタデータ=名前=などのコンテンツを追加する場合は、値がまだ一致していることを確認する必要があります。それ以外の場合、ARRAY 行全体は無視されます。
答え2
見つかった解決策:汚れているが効果的です。
/etc/initramfs-tools/scripts/init-premount にスクリプトを生成します。
vim /etc/initramfs-tools/scripts/init-premount/md
#!/bin/sh
# Stop lvm
lvm vgchange -an vg-backup
lvm vgchange -an vg-ppclinux
sleep 3
# Stop raid
mdadm --stop /dev/md126
mdadm --stop /dev/md127
sleep 3
# Assemble with new names
mdadm -A /dev/md0 /dev/sda2 /dev/sdb2
mdadm -A /dev/md1 /dev/sdc1 /dev/sdd1
sleep 3
# Create the symlinks
mkdir /dev/md
ln -sv /dev/md1 /dev/md/ibmlinux:backup
ln -sv /dev/md0 /dev/md/ibmlinux:root
# Start lvm
lvm vgchange -ay vg-ppclinux
lvm vgchange -ay vg-backup
権限の更新
chmod 755 /etc/initramfs-tools/scripts/init-premount/md
initramfsとgrubのアップデート
update-initramfs -cv -k all
update-grub2
そして再起動後..
find /dev/md -ls
11344 0 drwxr-xr-x 2 root root 80 nov 8 06:12 /dev/md
11345 0 lrwxrwxrwx 1 root root 8 nov 8 06:12 /dev/md/ibmlinux:root -> /dev/md0
9440 0 lrwxrwxrwx 1 root root 8 nov 8 06:12 /dev/md/ibmlinux:backup -> /dev/md1
ログにはこのエラー/警告メッセージのみが表示されます。
PV /dev/md0 9:0 is duplicate for PVID ........ on 9:126 /dev/md126 failed to create online file
しかし、すべてがうまくいきます(pvs、lvcreate、mdadm..)