记一次车祸现场,参考 修改根目录所在 VG 名称 | 简书
1. 错误示范
最近对根目录所在 VG 进行了重命名操作,如下所示,根分区所在 VG 为centos
:
> pvs
PV VG Fmt Attr PSize PFree
/dev/sda7 centos lvm2 a-- 102.56g 0
/dev/sdb centos lvm2 a-- <223.57g 584.00m
> vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 3 0 wz--n- <326.13g 584.00m
> lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home centos -wi-ao---- <34.81g
root centos -wi-ao---- 283.00g
回想起 LVM 有vgrename
命令,于是就想当然的进行了如下操作:
# 先将 centos 这个 VG 重命名为 centos-new
> vgrename centos centos-new
# 之后修改 /etc/fstab
> grep centos /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
> sed 's/centos/centos-new/g' /etc/fstab | grep centos-new
/dev/mapper/centos-new-root / xfs defaults 0 0
/dev/mapper/centos-new-home /home xfs defaults 0 0
/dev/mapper/centos-new-swap swap swap defaults 0 0
之后忘了改grub
就直接重启,于是grub
找不到之前的 LV 进不去系统。。。Fine,作死成功T_T
注:要想进入系统,在
grub
引导界面按e
进行编辑,将 LV 修改为对应的新名称即可,之后再按照下面的流程修改grub
配置文件
2. 正确姿势
2.1 使用 vgrename 修改 VG 名称
> vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 3 0 wz--n- <326.13g 584.00m
> vgrename centos centos-new
2.2 修改 /etc/fstab 文件
> grep centos /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
> sed 's/centos/centos-new/g' /etc/fstab | grep centos-new
/dev/mapper/centos-new-root / xfs defaults 0 0
/dev/mapper/centos-new-home /home xfs defaults 0 0
/dev/mapper/centos-new-swap swap swap defaults 0 0
2.3 修改 GRUB_CMDLINE_LINUX
> vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
修改GRUB_CMDLINE_LINUX
:
- 将
centos/root
修改为centos-new/root
- 将
centos/swap
修改为centos-new/swap
2.4 重建 grub2 引导文件
# For UEFI devices
> grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
# For Legacy devices
> grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统,问题解决。