title: centos/rocky/redat 8 删除swap分区,重启后无法进入系统 date: 2022-10-21 16点23分 tags: [centos,linux,rocky,redhat] category: 运维
介绍
由于centos 被红帽收购后,centos 8 刚出一年就要“夭折”了,变成了centos stream,现在centos 8 的接替版本有不少发行版如rocky linux 、almalinux(这两个发行版三大云服务都已经支持了)… 扯远了。 之前写过一篇centos 7 版本删除swap分区后需要做的操作,本来想着在8 版本上也能通用但失算了,所以来记录一下踩的坑。
删除swap分区
先检查一下swap内存,
[root@template-rocky8 ~]
total used free shared buff/cache available
Mem: 1722 187 1289 8 245 1377
Swap: 1639 0 1639
找到对应的分区
从下面能看到是/dev/mapper/rl-swap硬盘分区(顺带提一嘴,/dev/mapper/ 这个开头的都是LVM管理的硬盘,好处可以自行了解。)
[root@template-rocky8 ~]
/dev/mapper/rl-root / xfs defaults 0 0
UUID=1636f04f-505e-458c-b46d-b8719d16bac3 /boot xfs defaults 0 0
UUID=B056-5CAB /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/rl-swap none swap defaults 0 0
临时禁用swap
[root@template-rocky8 ~]
swapoff /dev/mapper/rl-swap
[root@template-rocky8 ~]
total used free shared buff/cache available
Mem: 1722 186 1268 8 266 1377
Swap: 0 0 0
删除LVM的Logical Volume,LV(逻辑卷)
检查一下lv的名称,你会发现有多个名称,如/dev/mapper、/dev/rl,下面命令查看,发现是通过软连接实现,都指向了/dev/dm-1、/dev/dm-0上
[root@template-rocky8 ~]
--- Logical volume ---
LV Path /dev/rl/swap
LV Name swap
VG Name rl
.........
--- Logical volume ---
LV Path /dev/rl/root
LV Name root
VG Name rl
.........
[root@template-rocky8 ~]
total 0
lrwxrwxrwx. 1 root root 7 Oct 21 16:08 rl-swap -> ../dm-1
lrwxrwxrwx. 1 root root 7 Oct 21 15:17 rl-root -> ../dm-0
crw-------. 1 root root 10, 236 Oct 21 15:17 control
[root@template-rocky8 ~]
total 0
lrwxrwxrwx. 1 root root 7 Oct 21 16:08 swap -> ../dm-1
lrwxrwxrwx. 1 root root 7 Oct 21 15:17 root -> ../dm-0
删除swap分区
[root@template-rocky8 ~]
Do you really want to remove active logical volume rl/swap? [y/n]: y
Logical volume "swap" successfully removed.
更新/etc/fstab文件
更新后的文件,如需对比请看前文。
[root@template-rocky8 ~]
/dev/mapper/rl-root / xfs defaults 0 0
UUID=1636f04f-505e-458c-b46d-b8719d16bac3 /boot xfs defaults 0 0
UUID=B056-5CAB /boot/efi vfat umask=0077,shortname=winnt 0 2
[root@template-rocky8 ~]
grub 更新
修改 /etc/default/grub
更改前
[root@template-rocky8 ~]
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 resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
更改后,删除了于swap分区相关的路径(/dev/mapper/rl-swap、rd.lvm.lv=rl/swap)。
[root@template-rocky8 ~]
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 resume=rd.lvm.lv=rl/root"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
重建grub配置
如何区分区是legacy 模式还是UEFI,具体看/sys/firmware/efi 这个目录是否存在,如果不存在则是legacy,反之则是UEFI。
检查系统安装模式
[root@template-rocky8 ~]
UEFI
legacy BIOS mode(传统模式安装的系统)
grub2-mkconfig -o /boot/grub2/grub.cfg
UEFI BIOS mode(UEFI安装的系统)
本文中为UEFI,注意不同发行版在/…/EFI/这个目录名称是不同的,若是redhat则是/boot/efi/EFI/redhat/grub.cfg
[root@template-rocky8 ~]
Generating grub configuration file ...
Adding boot menu entry for EFI firmware configuration
done
验证
重启验证
[root@template-rocky8 ~]
中间可能会检查一下硬盘,需要一定时间。
参考资料
redhat 8.0 产品文档 14.7章节,为swap删除LVM2逻辑卷 ,吐槽一下8的文档还没更新完成,里面缺少了更新grub的配置 redhat 7.0 产品文档 15.2章节,删除交换空间
|