温馨提示×

如何重建debian swapper分区

小樊
37
2026-09-07 10:52:37
栏目: 智能运维

在 Debian(以及其他 Linux 发行版)中,swapper 分区通常指的是 swap 分区。如果你误删、损坏或需要重建 swap 分区,可以按照以下步骤操作。


一、确认当前 swap 状态

swapon --show
free -h
lsblk

如果看不到 swap,或者你想重建,就继续。


二、方案选择

你有 两种方式 重建 swap:

  1. 使用独立分区(推荐服务器)
  2. 使用 swap 文件(推荐简单/虚拟机/云主机)

方案 A:使用独立分区重建 swap(传统方式)

1. 使用分区工具创建 swap 分区

例如使用 fdiskparted

sudo fdisk /dev/sda
  • 新建一个分区(如 /dev/sdaX
  • 设置类型为 Linux swap(fdisk 中类型是 82

然后:

sudo mkswap /dev/sdaX
sudo swapon /dev/sdaX

2. 写入 /etc/fstab

sudo blkid /dev/sdaX

编辑:

sudo nano /etc/fstab

添加:

UUID=xxxx-xxxx   none   swap   sw   0   0

3. 验证

swapon --show
free -h

方案 B:使用 swap 文件(最简单、推荐)

1. 创建 swap 文件

sudo fallocate -l 4G /swapfile
# 如果不支持 fallocate:
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

2. 设置权限

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

3. 写入 fstab

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

三、如果之前 swap 是 LVM

如果是 LVM:

sudo lvcreate -L 4G -n swap debian-vg
sudo mkswap /dev/debian-vg/swap
sudo swapon /dev/debian-vg/swap

并在 /etc/fstab 中配置。


四、调整 swappiness(可选)

cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10

持久化:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

五、常见问题

1. 休眠(hibernate)需要 swap ≥ 内存

如果你要用 systemctl hibernate,swap 必须 ≥ 物理内存。

2. 加密 swap

可使用 cryptsetup + /etc/crypttab


如果你愿意,可以告诉我:

  • 物理机 / 虚拟机 / 云服务器
  • 是否使用 LVM / 加密
  • 当前磁盘布局(lsblk 输出)

我可以给你精确到命令的方案

0