CentOS Stream 9 の Volume Group Name を変更する

CentOS Stream 9 の root を含むVG名を変更してみる。
作業手順は、下記サイトを参考に実行。

https://forums.centos.org/viewtopic.php?t=73033

# 作業環境
- CentOS Stream 9
- Volume Group Name: cs_centos9-1 を　vg00 に変更
```bash
$ 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メディアをセットしマシンを起動。
![スクリーンショット 2023-10-07 13.52.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50452/c71be052-2bd6-8710-ae79-4dee4a0d7130.png)
![スクリーンショット 2023-10-07 13.53.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50452/980bc25b-678e-70cc-0e9b-db730fc69627.png)
「3」を入力しエンターを入力（「3) Skip to shell」を選択）
「Please press ENTER to get a shell:」でエンターを入力
![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50452/7fdc5508-74d4-4f8c-d432-74794b736076.png)
# 粛々と手順を実行していく

```bash
$ 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
```
```bash
$ vgrename cs_centos9-1 vg00
  Volume group "cs_centos9-1" successfully renamed to "vg00"
```
```bash
$ vgchange -ay vg00
  2 logical volume(s) in volume group "vg00" now active
```
```bash
$ 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コマンドが存在しないとエラーになったが、そのまま続行。おそらく実行するコマンドではなく、コメント内容だと思われる。
```bash
$ 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
```
```bash
$ 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
```
```bash
$ 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"
```
```bash
$ 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)を参照しようとしてブート失敗。。
![スクリーンショット 2023-10-07 14.41.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50452/120340c0-ba26-1262-83a5-d6714558f302.png)
![スクリーンショット 2023-10-07 14.50.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50452/10af1012-6bde-4fe7-9801-7bd82d8813bb.png)

# うまくなかった箇所はどこか
/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名が以下の通り変更できていることを確認できた。
```bash
$ 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
```