简介

如果要全面了解 DRBL 和 Clonezillia,建议阅读官方文档。本文只对DRBL with Clonezilla 服务器版在公司的部署和使用做快速说明。

Clonezilla

简言之,Clonezillia 是一个磁盘数据的克隆工具,支持磁盘-磁盘,磁盘-镜像文件的克隆操作,既可以针对整个磁盘克隆操作,也可以针对磁盘分区操作。支持磁盘硬阵列(公司设备使用阵列卡)克隆,但不支持软阵列(包括主板配置阵列及操作系统实现)。如果大家有使用过主要支持windows 的磁盘克隆工具ghost ,就会知道这种磁盘数据的克隆速度是很快的,用来安装系统远比用安装盘快的多,并且系统内已经预安装了很多软件。这正好符合我们的生产需要,我们的硬件有固定的几种规格,不需要太担心驱动问题。通过磁盘克隆的方式,省却了每次都要安装Debian 系统,Oracle 数据库,Tomcat 服务,环境变量配置,软件安装等的麻烦,大大提高了生产效率。

Clonezillia 本身是一个定制的 Linux 操作系统,live 版可以装在光盘,u盘或者硬盘里,用 Clonezilla 引导计算机启动可以对计算机的磁盘进行克隆操作。之前我们公司生产新设备的方式就是以“磁盘-磁盘”的方式为主,以一个生产好的磁盘做为克隆的母盘,另一个空磁盘(一般要和母盘同规格)做目标盘,借在同一个 PC 服务器上,这个服务器用 Clonzilla live U 盘引动启动做克隆。

这种方式的不便在于:

  1. 要维护一个母盘,如果要维护多个版本的系统就需要维护多个母盘;

  2. 一次只能生产一个磁盘;

  3. 每次生产都要手工拆装服务器磁盘。

这些不便在使用了 Clonezillia 的服务器版后都得到了解决。

使用服务器版的 Clonezilla 生产/维护,基本两种操作:

  1. Clonezilla 服务器向接入网内网络启动的客户端推送无盘 Clonezilla 系统,客户端进入 Clonezilla 后使用“磁盘-文件”模式的 “save disk”可以把本机的磁盘备份成一个镜像文件,保存到服务器的 “/home/paritmag/" 目录下。这相当于过去“母盘”的制作,因为一个没有程序数据生成的母盘镜像大小不超过 10G ,这样在我们的大容量阵列存储(挂载在 /home/partimag/)能维护多个母盘版本。

  2. 客户端在进入 Clonzilla 后选择 “磁盘-文件”模式的 “restore to disk”,可以选择服务器 “/home/partimag/”目录下的母盘镜像,克隆到本机的磁盘上(要满足本机磁盘容量 >= 母盘容量)。这相当于过去“母盘->目标盘”的克隆过程,但不需要拆装磁盘,只是客户机和服务器的网络数据交互,可以同时生产多台设备。

通过 Clonezilla 服务器版,接入网络的虚拟机进行整盘备份和数据恢复/克隆都非常方便。

Clonezilla 的服务器版和 DRBL 服务器绑在一起(来自同一个机构),所以关于部署,看 DRBL 的部署文档就可以。

DRBL

DRBL 是向网内客户机推送无盘操作系统的服务器,除了能推送 Clonezilla 外,还能推送其他多种 Linux, BSD发行版。公司内生产环境除了使用 DRBL 推送的 Clonezilla 外,还可以利用 DRBL 推送的 Debian 7 系统,比如:

  1. 设备的系统分区数据损坏,无法启动需要修复,靠网络引导进入 DRBL 的系统选择界面时,选择第一个 “Debian 7”(默认停留在第二个“Clonezillia”7秒无按键就进入Clonezilla),就进入了一个无盘版的 Debian 7 , 基本工具都有,可以对磁盘数据进行修复,这省却了使用修复光盘;

  2. 在完成“小容量母盘数据”->“大容量目标盘”的克隆后,有一部分分区表外的 free 磁盘空间,想要用起来是需要先fdisk 修改第三个分区的分区表再使用 resize2fs 扩展分区的,resize2fs 前需要先 umout 第三分区,因为数据库服务等需要,强行 umout 可能会有问题,这是 reboot 通过网络引导,进入 DRBL 的 Debian 再 resize2fs /dev/sda3 (一般会提示你先e2fsck -f,那就先执行之)更有效率。

安装

DRBL 服务可以安装在 Debian,Ubuntu,CentOs 等系统上,公司 DRBL 服务器 10.10.10.210 使用 Debian 7 ,安装比较简单。

操作系统安装

使用 Debian 7 的 Live CD 或 Live USB 安装,安装过程注意以下几点:

DRBL 安装

编辑 /etc/apt-get/source.list ,添加 DRBL 的 Wheezy (Debian 7.x)源:

deb http://free.nchc.org.tw/debian/ wheezy main
deb http://free.nchc.org.tw/drbl-core drbl stable

以后的安装过程也要更新 Debian 7 的软件包,为了下载更快,最好也添加 163 的 Debian 7 源

deb http://mirrors.163.com/debian wheezy main non-free contrib
deb http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free
deb-src http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free
deb http://mirrors.163.com/debian-security wheezy/updates main contrib non-free
deb-src http://mirrors.163.com/debian-security wheezy/updates main contrib non-free

软件库中安装 DRBL 的密钥

wget -q http://drbl.nchc.org.tw/GPG-KEY-DRBL -O- | sudo apt-key add -

然后运行

apt-get update
apt-get install drbl

配置

DRBL 服务器

DRBL 服务器的配置基本是 drblsrv -i,然后交互式地敲入一系列选项,个人配置公司环境的经验,基本上都选择默认选项,注意以下几点:

DRBL 上建立客户端文档文件系统

首先保证 Debian 7 服务器的ip配置:

drblpush -i 基本一路默认,有几个特殊的注意

如果曾经 drblpush 过,想重新用这个配置push,只需要 drblpush -c /etc/drbl/drblpush.conf (上一次的配置。有时候有这样的需要,比如你手工修改了 /etc/dhcp/dhcpd.conf,造成drbl客户端无法正常工作,重新drblpush一遍可以由drbl程序重新生成dhcpd.conf)

管理客户端开机模式

drblpush 后,客户端网络启动可以进入DRBL默认的系统选择页面,这里没有clonezilla选项。还需要服务器上用 dcs 命令修改下客户端的开机模式。

键入 dcs 命令,按以下截图配置

至此 ,DRBL-Clonezilla 服务器配置完毕,可以在网络内的客户机上网络启动测试了。

客户端系统的使用