CentOS Stream 9 の root を含むVG名を変更してみる。
作業手順は、下記サイトを参考に実行。
作業環境
- CentOS Stream 9
- Volume Group Name: cs_centos9-1 を vg00 に変更
$ uname -a
Linux centos9-1 5.14.0-319.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 25 19:53:58 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS Stream release 9
$ vgs
VG #PV #LV #SN Attr VSize VFree
cs_centos9-1 1 2 0 wz--n- 38.41g 0
レスキューモードで起動
ISOメディアをセットしマシンを起動。
「3」を入力しエンターを入力(「3) Skip to shell」を選択)
「Please press ENTER to get a shell:」でエンターを入力
粛々と手順を実行していく
$ vgdisplay
--- Volume group ---
VG Name cs_centos9-1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 38.41 GiB
PE Size 4.00 MiB
Total PE 9833
Alloc PE / Size 9833 / 38.41 GiB
Free PE / Size 0 / 0
VG UUID m2T0SN-opU4-tRWD-HPg3-Ls24-sUQg-VKPYx9
$ vgrename cs_centos9-1 vg00
Volume group "cs_centos9-1" successfully renamed to "vg00"
$ vgchange -ay vg00
2 logical volume(s) in volume group "vg00" now active
$ lvdisplay
--- Logical volume ---
LV Path /dev/vg00/swap
LV Name swap
VG Name vg00
LV UUID SNA1FM-eG15-ZT28-kffk-Uuxm-WPim-815cD7
LV Write Access read/write
LV Creation host, time centos9-1, 2023-08-30 18:42:18 +0000
LV Status available
# open 0
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
--- Logical volume ---
LV Path /dev/vg00/root
LV Name root
VG Name vg00
LV UUID 26PgP3-Atpu-dsP4-migP-z5Oa-wRib-uVEeXg
LV Write Access read/write
LV Creation host, time centos9-1, 2023-08-30 18:42:18 +0000
LV Status available
# open 0
LV Size 34.41 GiB
Current LE 8809
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3
getコマンドが存在しないとエラーになったが、そのまま続行。おそらく実行するコマンドではなく、コメント内容だと思われる。
$ mount /dev/vg00/root /mnt
$ get boot info from /etc/fstab
bash: get: command not found
$ mount /dev/sda1 /mnt/boot
$ mount --bind /proc /mnt/proc
$ mount --bind /dev /mnt/dev
$ mount --bind /sys /mnt/sys
$ chroot /mnt
$ vi /etc/fstab
# 修正前
/dev/mapper/cs_centos9--1-root / xfs defaults 0 0
UUID=5bf7e6af-f051-4326-8166-7d75cc551e86 /boot xfs defaults 0 0
UUID=D8B9-AFCD /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cs_centos9--1-swap none swap defaults 0 0
# 修正後
/dev/mapper/vg00-root / xfs defaults 0 0
UUID=5bf7e6af-f051-4326-8166-7d75cc551e86 /boot xfs defaults 0 0
UUID=D8B9-AFCD /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/vg00-swap none swap defaults 0 0
$ vi /etc/default/grub
# 修正前
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs_centos9--1-swap rd.lvm.lv=cs_centos9-1/root rd.lvm.lv=cs_centos9-1/swap"
# 修正後
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap"
$ vi /boot/grub2/grub.cfg
# ファイルが存在しなかった。
grub.cfgが存在しなかったが続ける
$ dracut -f --regenerate-all
$ dracut -f
$ dracut -f -v /boot/initramfs-$(uname -r).img $(uname -r)
dracut: Executing: /usr/bin/dracut -f -v /boot/initramfs-5.14.0-319.el9.x86_64.img 5.14.0-319.el9.x86_64
dracut: dracut module 'systemd-networkd' will not be installed, because command 'networkctl' could not be found!
〜省略〜
dracut: dracut: using auto-determined compression method 'pigz'
dracut: *** Creating initramfs image file '/boot/initramfs-5.14.0-319.el9.x86_64.img' done ***
$ exit
exit
$ systemctl reboot -f
変更前のVG(cs_centos9-1)を参照しようとしてブート失敗。。
うまくなかった箇所はどこか
/boot/grub2/grub.cfg ファイルがなかった。参考にした内容を見ると、「またはfstabから名前」とある。
# mount /dev/sda1(or some name from fstab) /mnt/boot
/etc/fstabの中身でboot文字列があるのは以下2行。
UUID=5bf7e6af-f051-4326-8166-7d75cc551e86 /boot xfs defaults 0 0
UUID=D8B9-AFCD /boot/efi vfat umask=0077,shortname=winnt 0 2
作業前のマウント状態は、以下。/dev/sda1が/boot/efi、/dev/sda2が/bootなので、sda2をマウント、ついでにsda1をefiにマウントする手順でもう一度実行してみる。
$ mount /dev/sda2 /mnt/boot
$ mount /dev/sda1 /mnt/boot/efi
chroot後、最初に存在し無かった/boot/grub2/grug.cfgファイルが存在するようになったので修正
$ vi /boot/grub2/grub.cfg
# 修正前
set kernelopts="root=/dev/mapper/cs_centos9--1-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs_centos9--1-swap rd.lvm.lv=cs_centos9-1/root rd.lvm.lv=cs_centos9-1/swap "
# 修正後
set kernelopts="root=/dev/mapper/vg00-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap "
再度リブート
同じように失敗。cs_centos9-1が見つからないと。。
後不足していそうな手順としては以下コマンド、頭に「#」が無かったので飛ばしていたが実行指定みる。
grub2-mkconfig -o grub.cfg
再再度リブート
無事ログインプロンプトが表示され。VG名が以下の通り変更できていることを確認できた。
$ vgdisplay
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 38.41 GiB
PE Size 4.00 MiB
Total PE 9833
Alloc PE / Size 9833 / 38.41 GiB
Free PE / Size 0 / 0
VG UUID m2T0SN-opU4-tRWD-HPg3-Ls24-sUQg-VKPYx9