Clonezilla

概述

参考:

Clonezilla 是类似于 True ImageNorton Ghost 的分区和磁盘映像/克隆程序。它可以帮助您进行系统部署、裸机备份和恢复。可以使用三种类型的 Clonezilla:

  • Clonezilla live # Clonezilla live 允许您使用 CD/DVD 或 USB 闪存驱动器启动和运行 clonezilla(仅限单播)
  • Clonezilla lite server # Clonezilla 精简版服务器允许您使用 Clonezilla live 进行大规模克隆(支持单播、广播、多播、比特流)
  • Clonezilla SE # Clonezilla SE 包含在 DRBL 中,因此必须首先设置 DRBL 服务器才能使用 Clonezilla 进行大规模克隆(支持单播、广播和组播)

Clonezilla live 适用于单机备份和恢复。虽然 Clonezilla 精简版服务器或 SE 用于大规模部署,但它可以同时克隆多台(40 多台!)计算机。Clonezilla 仅保存和恢复硬盘中使用过的块。这提高了克隆效率。对于 42 节点集群中的一些高端硬件,报告了以 8 GB/分钟的速率恢复的多播。

CloneZilla 可以将 Linux 完整移植到另一台机器中,保证数据,分区,挂载,启动项。。所有的一切完全一致

注意:进行还原的机器需要与进行镜像封装的机器关键硬件配置一致,否则可能产生显卡驱动无法使用等问题

Clonezilla Live 本身就是一个小型的 Liunx 发行版,这就像是 Linux 版的 WinPE 一样。除了图形页面可供操作外,还可以通过命令行,执行诸如 ssh 之类的命令。这也就意味着,Clonezilla 可以读写远程存储设备中,封装好的 Linux 镜像可以直接写入到 NFS、S3 中,还原 Linux 时,也可以从这些远程存储设备中读取镜像。

Clonezilla 源码实际上是运行程序本身,因为它们使用脚本(bash 或 perl)编写的。最初始保存在 NCHC 存储库中。在这个存储库中,我们可以从 experimental/ 目录下找到 ARM 版本的 Clonezilla。

CloneZilla Live 安装与使用

此处可以看到 Clonezilla Live 的所有下载链接

点击第一项 alternative stable 下载

选择 2 文件格式,可以在 zip 和 iso 间进行切换

制作 CloneZilla 启动 U 盘

根据下载的文件类型的不同,有两种方式进行 U 盘制作

ISO 文件

若选择 iso 则通过软碟通 UltraISO (https://cn.ultraiso.net/xiazai.html)在 windows 设备上进行 U 盘刻录。

安装完软碟通 UltraISO后,插上待制作的 U 盘,打开软件,点击“打开”按钮,选择 CloneZilla 的 iso 文件打开

然后,点击顶部菜单栏的“启动”->“写入硬盘镜像”

选择 U 盘,点击“格式化”,格式选择 FAT32,格式化完毕后,写入方式选择“USB-HDD+”

点击“编写启动”->“syslinux”,写入 syslinux

写入 CloneZilla 镜像

至此 CloneZilla 启动 U 盘制作完毕

zip 文件

若选择 zip 则通过 Tuxboot (https://tuxboot.org/download/)进行 U 盘制作

插入 U 盘,打开 Tuxboot,选择预下载,找到下载的 CloneZilla zip 文件,Driver 里面选择 U 盘盘符,点击 OK 就可以开始制作了

完成后如图

至此 CloneZilla 启动 U 盘制作完毕。

封装Linux系统

启动服务器,优先从 USB 启动,进入 CloneZilla,界面如下:

  • 选择第一项 Clonezilla live (VGA 800 * 600),进入图形化界面

(2) 启动完毕,选择界面语言,选择“简体中文”。

(3) 不修改键盘配置,使用美式键盘

(4) 选择“使用再生龙”

(5) 选择“device-image 硬盘 / 分区「存到 / 来自」镜像文件”

设置镜像存储或读取的位置

为 Clonezilla 确定使用镜像文件的方式,比如本机分区(硬盘、U盘等)、远程主机目录等。这些方式任选其一即可

image.png

local_dev

1)准备另一个 U 盘作为封装镜像的存储盘

注意:绝对不可以使用同一个启动 U 盘作为镜像的存储盘

要准备另一个 U 盘才可完成封装工作,首先我们需要将此 U 盘进行格式化,并转换文件系统为 Linux 下通用的 ext4。如果 U 盘存在足够的空间且格式为 ext4,则不需要格式化操作

  • a) 将此 U 盘插入到需要封装的 Linux 机器上,在 Linux 系统上进行 ext4 的格式化
  • b) 打开 terminal,输入 sudo fdisk -l 查看当前所有磁盘,在该列表中应该可以看到 U 盘的名称,如/dev/sdb
  • c) 通过 sudo umount /dev/sdb 取消此 U 盘的挂载,注意:这一步必须做
  • d) 使用 sudo mkfs.ext4 /dev/sdb 进行 ext4 格式的格式化
  • e) 拔下格式化后的 U 盘,插上 CloneZilla 启动盘,重启电脑

2) 继续操作 Clonezilla

选择 local_dev,插入第一步准备好的 ext4 格式 U 盘,等待 5s 后按 enter 键检测 U 盘

下图中/dev/sda 是系统盘,/dev/sdc 是要把镜像文件拷贝到的 u 盘,执行 Ctrl + c 退出此窗口

选择插入的的 U 盘作为存放镜像文件的盘

选择第一项“no-fsck”,跳过检测

当前现在的目录名称为 u 盘的”/”, 通过上下键选择“”,之后使用“Tab”键选择“Done”即可

根据提示信息按 Enter 键继续

ssh_server

S3

export AK="XXX"
export SK="YYY"
export ENDPOINT="ZZZ"

tee /root/.passwd-s3fs <<EOF
${AK}:${SK}
EOF

chmod 600 /root/.passwd-s3fs

s3fs my-ocs-img /home/partimag -o passwd_file=/root/.passwd-s3fs -o url="https://${ENDPOINT}"

其本质是执行了如下命令:/usr/sbin/ocs-sr -q2 -c -j2 -zip -i 19146 -sfsck -senc -p choose savedisk sdo-img sdo

配置运行时参数

选择“初学模式”,进入 CloneZilla 功能界面

image.png

选择要执行的操作

选择“savedisk 存储本机硬盘为镜像文件”

输入要保存的镜像名称,并按 enter 结束

选择要封装的硬盘,如果机器上有多个硬盘,此时可以选择多个要备份的硬盘,空格键选中,回车继续

选择第一项默认使用 zip 压缩方式

选择“跳过检查与修正来源分区的文件系统”,这一步是用来检查硬盘的文件系统是否符合要求

选择“否”,这一步是用来检查保存的镜像是否可以被还原的

选择是否要对镜像进行加密,这里选择“不加密”

这一步用于选择镜像封装完成后要执行的操作,可选“关机”、“重启”等,这里选择“当操作执行完后再选择”

输入 y 后按“enter”回车,即可开始进行镜像封装了

镜像封装中

镜像封装完成,按 enter 键继续

选择“关机”或“重启”,注意:若选择“关机”或“重启”,不会有该界面出现,直接关机或重启;若选择重启,待屏幕黑屏后需将启动盘拔出。

还原Linux系统

在选择执行操作前,所有步骤与封装Linux系统前面的步骤一样

选择要执行的操作

选择“restoredisk 还原镜像文件到本机硬盘”

(14) 选择需要还原的镜像文件

(15) 选择需要还原到的本机硬盘,注意:该硬盘会被格式化!

选择硬盘时,如果镜像是从多块硬盘保存下来的,则可以选择多块硬盘;

如果封装镜像的硬盘是 2T,则不能在 1T 的硬盘上还原!!!

(16) 询问是否需要检查镜像完整性,这里选择“否”

(17) 询问完成还原后的操作,这一步与封装时一致,选择完后按 enter 键继续

(18) 输入 y,并按 enter 键继续

(19) 正在还原

(20) 待还原结束后按 enter 键继续,选择重启,待黑屏后拔掉 U 盘


最后修改 October 4, 2023: 合并 commit (98ba273b)