记一次车祸现场,参考 修改根目录所在 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

重启系统,问题解决。

参考文章

  1. 修改根目录所在 VG 名称 | 简书