CentOS 交换空间 Swapper 恢复流程
一、先快速判断与启用
free -h、swapon --show。若显示 Swap: 0B,说明未启用。sudo swapon /swapfilesudo swapon /dev/sdXN 或 LVM 逻辑卷:sudo swapon /dev/mapper/centos-swap/swapfile swap swap defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0swapon --show、free -h。以上步骤可快速恢复被禁用的 Swap。二、有备份时的恢复(交换分区或交换文件)
swapon -sgunzip /backup/swap/file.img.gzdd if=/backup/swap/swap_backup.img of=/dev/sdXN bs=4M status=progressdd if=/backup/swap/swapfile_backup.img of=/swapfile bs=4M status=progressswapon /dev/sdXN 或 swapon /swapfileswapon --show、free -h三、无备份时的重建(按场景操作)
sudo fallocate -l 2G /swapfile(或 dd if=/dev/zero of=/swapfile bs=1M count=2048)sudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile/swapfile swap swap defaults 0 0swapon --show、free -hsudo vgssudo lvcreate -L 2G -n swap centossudo mkswap /dev/mapper/centos-swapsudo swapon /dev/mapper/centos-swap/dev/mapper/centos-swap swap swap defaults 0 0swapon --show、free -hmkdir /tmp/root && mount /dev/mapper/centos-root /tmp/rootvi /tmp/root/etc/default/grub,将 rd.lvm.lv=centos/swap 从 GRUB_CMDLINE_LINUX 中删除并保存mkdir /tmp/boot && mount /dev/vda1 /tmp/boot(设备名以实际为准)vi /tmp/boot/grub2/grub.cfg,删除所有 linux16 ... rd.lvm.lv=centos/swap ... 的启动项参数reboot四、启动失败或卡在 swapper 的应急排查
dmesg | grep -i "swapper\|panic";查看上次启动日志:journalctl -b -1ro 改为 rw,行尾追加 init=/bin/bash 启动五、验证与优化建议
swapon --show、free -h、cat /proc/swaps 应能看到已启用的交换设备/文件与大小sudo sysctl vm.swappiness=10vm.swappiness=10 并执行 sudo sysctl -p