温馨提示×

Debian Swapper备份与恢复

小樊
54
2025-10-01 17:57:26
栏目: 智能运维

Debian Swapper(交换分区/文件)备份与恢复指南

一、备份交换分区/文件

1. 确定交换空间位置

首先需确认系统中交换分区(如/dev/sda2)或交换文件(如/swapfile)的位置。常用命令:

sudo swapon --show  # 显示当前启用的交换空间及大小
sudo fdisk -l       # 查看磁盘分区详情(确认交换分区设备名)

2. 备份交换分区(块设备)

若使用交换分区,使用dd命令完整复制分区内容到备份文件:

sudo dd if=/dev/sda2 of=/path/to/backup/swap_backup.img bs=4M status=progress
  • 参数说明if为输入文件(交换分区设备),of为输出文件(备份路径),bs为块大小(提升速度),status=progress显示进度。
  • 压缩备份(可选):若备份文件较大,用gzip压缩以节省空间:
    sudo gzip /path/to/backup/swap_backup.img
    

3. 备份交换文件(普通文件)

若使用交换文件(如/swapfile),可直接用ddrsync复制:

sudo dd if=/swapfile of=/path/to/backup/swapfile_backup.img bs=4M
# 或使用rsync(保留文件属性)
sudo rsync -a /swapfile /path/to/backup/

4. 注意事项

  • 备份前关闭交换空间(避免数据不一致):
    sudo swapoff -a
    
  • 确保备份路径有足够磁盘空间(备份文件大小约等于交换空间容量)。
  • 备份文件需存储在安全位置(如外部存储或单独分区),防止系统故障导致数据丢失。

二、恢复交换分区/文件

1. 准备工作

  • 若恢复到原交换分区,需确保分区未被挂载(可通过swapoff -a关闭)。
  • 若恢复到新交换分区,需提前创建分区(使用fdisk/gparted)并调整大小(与原分区一致或更大)。
  • 解压缩备份文件(若之前压缩):
    sudo gunzip /path/to/backup/swap_backup.img.gz
    

2. 恢复交换分区(块设备)

使用dd命令将备份文件内容写入目标分区:

sudo dd if=/path/to/backup/swap_backup.img of=/dev/sda2 bs=4M
  • 参数说明if为备份文件路径,of为目标分区设备(如/dev/sda2)。

3. 恢复交换文件(普通文件)

将备份文件复制到原位置,并设置正确权限:

sudo cp /path/to/backup/swapfile_backup.img /swapfile
sudo chown root:root /swapfile  # 设置所有者为root
sudo chmod 600 /swapfile        # 设置权限(仅root可读写)

4. 启用并验证交换空间

  • 恢复后,使用mkswap重新格式化(若为分区):
    sudo mkswap /dev/sda2  # 仅分区需要此步骤
    
  • 启用交换空间:
    sudo swapon /dev/sda2  # 分区
    sudo swapon /swapfile  # 文件
    
  • 验证是否启用成功:
    sudo swapon --show    # 查看启用的交换空间
    free -h               # 查看虚拟内存使用情况
    

5. 更新/etc/fstab(持久化配置)

若恢复到原位置,需确保/etc/fstab中包含正确条目(避免重启后失效):

  • 对于交换分区:
    echo "/dev/sda2 none swap sw 0 0" | sudo tee -a /etc/fstab
    
  • 对于交换文件:
    echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    

6. 注意事项

  • 恢复前关闭系统或进入单用户模式(如通过GRUB引导至维护模式),避免数据冲突。
  • 若恢复到新分区,需确保其UUID与原分区一致(可使用tune2fs -U <原UUID> /dev/sdXn修改,通过blkid查看原UUID)。
  • 生产环境中,建议先在测试环境验证备份/恢复流程,确保操作正确性。

通过以上步骤,可安全完成Debian系统中交换分区或交换文件的备份与恢复,保障系统虚拟内存的可靠性。

0