MDが有効な状態でMDの名前を変更できますか?私が知る限り、それは不可能です。
mdadm -A --update=name --name=ibmlinux-root /dev/md126
ls /dev/md/126_0
/dev/md/126_0
ls /dev/md/ibmlinux-root
error: no such file or directory
ただ停止し、名前を更新して再組み立てしてください。
mdadm --stop /dev/md126
mdadm -A --update=name --name=ibmlinux-root /dev/md126
これで問題は... /dev/md126は/にマウントされたルートデバイスなので、マウント解除できません。
最善の方法は、live-cdを使用して再起動し、名前を変更してから再起動することです(動作します。これを何度も実行しました)。
しかし、私はこのディレクトリにDebianスクリプトを使用するより速くて簡単な解決策が欲しいです。
/usr/share/initramfs-tools/scripts/local-premount
私の考えは、スクリプトを作成してmdの名前を変更し、再起動後にスクリプトを削除することです。
スクリプトを作成しました。
vim /usr/share/initramfs-tools/scripts/local-premount/md
#!/bin/sh -e
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
mdadm --stop /dev/md126
mdadm -A --update=name --name=ibmlinux-root /dev/md126
実行可能にし、initramfsとgrubを更新しました。
chmod +x /usr/share/initramfs-tools/scripts/local-premount/md
update-initramfs -cv -k all
update-grub2
リブートしたらチャジャン…新しい名前が..127になりましたね! :(
ls /dev/md/127_0
/dev/md/127_0
ls /dev/md/ibmlinux-root
error: no such file or directory
私は何を見逃していますか?また、スクリプトを/etc/initramfs-tools/scripts/init-premount/に入れようとしましたが、何も変更されませんでした。
答え1
私のルート配列が0.90メタデータで作成されたことを忘れました。メタデータ1.2として再生成し(現代のグラブは問題なく起動できます)、名前を更新するために/ etc / mdadm / mdadm.confを編集しました(メタデータ0.90では許可されていません)、MD Raidで命名)
vim /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
initramfsとgrubを更新して再起動します。
update-initramfs -cv -k all
update-grub2
shutdown -r now
再起動後...
ls /dev/md
ibmlinux:backup ibmlinux:root
initramfsを使用するスクリプトは、md127の名前をmd0または必要に応じて変更できます。
/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..)