Clonezilla 磁盘克隆备份教程
Clonezilla(再生龙)是一款免费开源的磁盘克隆与备份工具,功能类似于商业软件 Norton Ghost 和 Acronis True Image,但完全免费。它支持对整块磁盘或单个分区进行镜像备份和还原,是服务器运维和灾难恢复的重要工具。本文将详细介绍 Clonezilla 的使用方法,帮助你掌握磁盘级别的备份与恢复技能。
一、Clonezilla 概述
Clonezilla 有两个版本:
- Clonezilla Live:适合单机使用,从 USB 或光盘引导进行备份还原。
- Clonezilla SE(Server Edition):服务器版本,支持通过网络同时克隆多台机器,适合大规模部署。
Clonezilla 支持的文件系统包括 ext2/3/4、NTFS、FAT、Btrfs、XFS、ZFS 等主流格式。对于不支持的文件系统,Clonezilla 会自动使用逐扇区(dd)模式进行备份。
二、下载与准备启动介质
2.1 下载 Clonezilla Live
# 下载 Clonezilla Live ISO(基于 Debian)
wget https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/3.1.3-16/clonezilla-live-3.1.3-16-amd64.iso
# 校验文件完整性
sha256sum clonezilla-live-3.1.3-16-amd64.iso
2.2 制作启动 U 盘
可以使用 Ventoy 直接将 ISO 复制到 U 盘,或者使用 dd 命令:
# 使用 dd 写入 U 盘(注意替换设备名)
sudo dd if=clonezilla-live-3.1.3-16-amd64.iso of=/dev/sdb bs=4M status=progress
sync
三、使用 Clonezilla 备份磁盘
3.1 启动 Clonezilla
从 U 盘引导后,选择 Clonezilla Live 启动项。在语言选择界面可以选择中文,然后选择键盘布局。进入 Clonezilla 主菜单后,选择「device-image」(设备到镜像)模式。
3.2 选择备份目标位置
Clonezilla 支持多种备份存储位置:
- local_dev:本地磁盘或 USB 设备。
- ssh_server:通过 SSH 传输到远程服务器。
- samba_server:Windows 共享文件夹。
- nfs_server:NFS 网络文件系统。
- s3_server:AWS S3 兼容存储。
3.3 命令行模式备份整盘
除了交互式界面,也可以直接使用命令行模式进行备份:
# 备份整块磁盘到本地目录
/usr/sbin/ocs-sr -q2 -c -j2 -z5p -i 4096 -sfsck -senc -p poweroff savedisk backup_20260328 sda
# 参数说明:
# -q2 使用 partclone 工具
# -c 确认前等待用户确认
# -j2 克隆隐藏数据区
# -z5p 使用 zstd 压缩(并行模式)
# -i 4096 分割大小为 4096MB
# -sfsck 跳过文件系统检查
# -senc 跳过加密
# -p poweroff 完成后关机
# savedisk 备份整块磁盘
# backup_20260328 备份目录名
# sda 源磁盘
3.4 备份单个分区
# 备份单个分区
/usr/sbin/ocs-sr -q2 -c -j2 -z5p -i 4096 -sfsck -senc -p reboot saveparts root_backup sda1
四、使用 Clonezilla 还原磁盘
4.1 交互式还原
启动 Clonezilla 后选择「device-image」模式,然后选择「restoredisk」(还原整块磁盘)或「restoreparts」(还原单个分区)。选择之前创建的备份镜像和目标磁盘即可开始还原。
4.2 命令行还原
# 还原整块磁盘
/usr/sbin/ocs-sr -g auto -e1 auto -e2 -r -j2 -c -p reboot restoredisk backup_20260328 sda
# 还原单个分区
/usr/sbin/ocs-sr -g auto -e1 auto -e2 -r -j2 -c -p reboot restoreparts root_backup sda1
五、磁盘对拷(Disk to Disk)
Clonezilla 还支持磁盘到磁盘的直接克隆,无需先创建镜像文件:
# 整盘对拷:从 sda 克隆到 sdb
/usr/sbin/ocs-onthefly -g auto -e1 auto -e2 -r -j2 -sfsck -k -p reboot -f sda -d sdb
此模式适合硬盘升级或更换场景,例如从 HDD 迁移到 SSD。
六、通过网络进行远程备份
6.1 通过 SSH 备份到远程服务器
在交互式界面中选择 ssh_server 作为存储位置,然后输入远程服务器的 IP 地址、SSH 端口、用户名和存储路径:
# 也可以手动挂载 SSH 目录
sshfs user@192.168.1.100:/backup/clonezilla /home/partimag
6.2 使用 Clonezilla SE 批量克隆
Clonezilla SE 配合 DRBL(Diskless Remote Boot in Linux)可以通过 PXE 网络引导同时克隆多台机器。在搬瓦工 VPS 上搭建 DRBL 服务器:
# 安装 DRBL
apt update
apt install drbl -y
# 运行 DRBL 设置
/usr/sbin/drblsrv -i
/usr/sbin/drblpush -i
七、自动化备份脚本
可以编写自动化脚本实现定期备份:
#!/bin/bash
# Clonezilla 自动备份脚本
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup/clonezilla"
DISK="sda"
# 创建备份目录
mkdir -p ${BACKUP_DIR}
# 执行备份
/usr/sbin/ocs-sr -q2 -batch -j2 -z5p -i 4096 -sfsck -senc -p true savedisk ${DATE}_${DISK} ${DISK}
# 清理 30 天前的备份
find ${BACKUP_DIR} -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
echo "备份完成:${DATE}_${DISK}"
八、常见问题
8.1 还原时目标磁盘比源磁盘小
如果目标磁盘比源磁盘小,可以在备份时使用 -icds 参数跳过磁盘大小检查,但前提是源磁盘的实际数据量小于目标磁盘的容量。
8.2 备份文件太大
使用更高的压缩级别可以显著减小备份文件大小:
# 使用 zstd 最高压缩级别
/usr/sbin/ocs-sr -q2 -z9p savedisk backup sda
8.3 备份速度慢
降低压缩级别可以提高备份速度,或者使用 lz4 压缩算法:
# 使用 lz4 压缩(速度最快)
/usr/sbin/ocs-sr -q2 -z3 savedisk backup sda
总结
Clonezilla 是一款功能强大的免费磁盘克隆备份工具,掌握它可以帮助你有效应对服务器灾难恢复场景。无论是单机备份还是批量部署,Clonezilla 都能胜任。如果你需要一台 VPS 来搭建远程备份服务器,搬瓦工是不错的选择,访问 全部方案 页面了解详情,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的优惠,通过 bwh81.net 进入官网购买。