个人工具

UbuntuHelp:Clonezilla Server Edition/zh

来自Ubuntu中文

Liuzitian讨论 | 贡献2009年10月21日 (三) 23:14的版本 (创建新页面为 '{{Translation}} {{From|https://wiki.ubuntu.com/php5}} {{Translator|Michael Lau}} {{Languages|php5}} == 简介 == 也许您已经熟悉了Norton Ghost®这个拥有专利的...')

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索


简介

也许您已经熟悉了Norton Ghost®这个拥有专利的商业软件,以及相对而言,开源的Partition Image。然而,这些软件都有一个相同的问题,那就是在批量安装系统时仍需要花费大量的时间。也许您也已经听说过赛们铁克对于这一问题的解决方案——支持multicast(组播?)技术的Symantec Ghost Corporate Edition®,但是这里将要介绍的是另一个开源的同时支持unicast(单播?)与multicast(组播?)的系统克隆方案,Clonezilla,基于DRBL(无盘系统)、Partition Image、ntfsclone与UDP cast,使得您可以进行裸机的备份与恢复。Clonezilla有live版与服务器版两个版本,其中前者用于对于一台计算机的备份与恢复,后者则是用于大批量(40台以上)计算机的统一备份与恢复。Clonezilla通过只恢复硬盘中已被使用的部分来提升效率。在NCHC(国家实验研究院高速网络与计算中心),Clonezilla使用multicast(组播?)仅仅用10分钟就将5.6GB的系统映像克隆到了41台计算机上。

Clonezilla 特性

  • 基于GPL协议的免费软件
  • 支持的文件系统:ext2/3、reiserfs、xfs、GNU/Linux下的jfs、FAT、 NTFS。因此无论Linux于Microsoft Windows,您都可以用Clonezilla来克隆(只备份/恢复已用空间的功能仅支持上述文件系统,对于没有列出的文件系统将会进行全盘备份/恢复)。
  • 支持GNU/LINUX 下的 LVM2(Linux逻辑盘卷管理),不包括LVM1。
  • .服务器版支持multicast(组播?)。如果客户端的PXE与LAN唤醒可以使用,您甚至可以远程备份/恢复计算机
  • 分区克隆基于Partimage、ntfsclone和DD,但是Clonezilla也能够克隆全盘。
  • 通过使用我们研发的另一款免费软件drbl-winroll,Microsoft Windows的客户端可以自动调整主机名、用户组以及SID。

版本

  • Clonezilla Live: 允许您通过CD/DVD或USB 闪存来引导和运行Clonezilla(仅支持unicast模式)。
  • Clonezilla 服务器版: 在批量克隆前必须架设一个DRBL服务器(支持unicast与multicast)
本手册只针对于服务器版

如何架设Clonezilla服务器

您必须首先架设一个DRBL服务器才可以进行大批量系统克隆。我们强烈推荐您记下客户端的MAC地址并让DRBL服务器在客户端启动时提供相同的IP地址,从而有效防止您在错误的客户端上进行克隆操作。除此之外,如果您不为客户端提供静态IP地址,由于不同的操作系统(比如,GNU/Linux和Microsoft Windows)使用不同的DHCP客户端ID,会导致这样令人烦扰的结果: 同一客户端通过DRBL引导GNU/Linux时,会使用一个IP地址;当登录本地Microsoft Windows时却会使用另一个。当然,如果您确定在这个DRBL环境中没有其他的计算机,以及对于上述问题不是非常在意的话,仍然可以在dhcpd.conf中使用这样的配置。在这种情况下,您甚至可以使用[[UbuntuHelp:[impatient|impatient method]]]"来设置DRBL环境。

Linux下的无盘系统 (DRBL)

架设LINUX服务器

安装好GNU/Linux并配置所有的网卡。下面我们将使用“eth0”来连接网络,eth1/2/3用于DRBL环境。将IP地址全部设为私有地址(比如 192.168.x.x, 在接下来的示范中,我们使用eth1:192.168.101.254, eth2:192.168.102.254, eth3:192.168.103.254...); 请记住, 私有IP (例如 192.168.x.x)是用在DRBL环境中的。

nano -w /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#Gateway - 
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules

#eth1
auto eth1
iface eth1 inet static
    address 192.168.101.254
    network 192.168.101.0
    netmask 255.255.255.0
    broadcast 192.168.101.255

#eth2
auto eth2
iface eth2 inet static
    address 192.168.102.254
    network 192.168.102.0
    netmask 255.255.255.0
    broadcast 192.168.102.255

#eth3
auto eth3
iface eth3 inet static
    address 192.168.103.254
    network 192.168.103.0
    netmask 255.255.255.0
    broadcast 192.168.103.255

重启网络

sudo /etc/init.d/networking restart

在架设DRBL服务器时,您的防火墙规则将被覆盖,在架设完成之后您可以重新配置您的防火墙。需要注意的是,在DRBL环境下,NFS、NIS、tftp与dhcp服务是必需的,确定您没有在防火墙规则中禁止这些服务。 您也可以做如下设置来使得Clonezilla工作的更好. 如果在您的GNU/Linux版本中支持reiserfs文件系统,相比ext2/3,它可以工作得更出色。目前的Ubuntu(8.04)默认文件系统是ext3。 Linux在服务器上安装完成之后, 确定硬盘的DMA模式已经开启,来加快硬盘的读取速度(输入 "hdparm /dev/sdx" 来检查DMA状态,如果没有,输入"hdparm -d1 -c3 -k1 /dev/sdx"启用DMA)。如果您Linux系统的硬盘在 "Primary IDE"模式下则用/dev/sda替代/dev/sdx。如果您看到这样的信息,HDIO_GET_DMA failed: Inappropriate ioctl for device那么在只有一个NIC的情况下,您需要设定2个IP地址。比如一个在eth0上,另一个在eth0:1。前者用来连接公网,后者连接DRBL环境。注意,如果您此时在客户端上没有通过MAC地址设置静态IP地址可能会导致一些问题!在这里,如果不在DHCP服务中设置MAC地址,DRBL服务器会给任何一台连接上eth0的客户端安排IP地址。因此除非您非常有经验,否则最好不要使用2个IP地址。推荐两个或以上的NIC!

nano -w /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#Gateway - 
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules

#eth0:1
auto eth0:1
iface eth0:1 inet static
    address 192.168.100.254
    network 192.168.100.0
    netmask 255.255.255.0
    broadcast 192.168.100.255

客户端设置

安装 "drbl"

  • 将DRBL key添加到您的apt-key中
wget http://drbl.nchc.org.tw/GPG-KEY-DRBL
apt-key add GPG-KEY-DRBL
  • 按照如下步骤编辑/etc/apt/sources.list :
nano -w /etc/apt/sources.list

Ubuntu Hardy (8.04):

deb http://free.nchc.org.tw/ubuntu hardy main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable
Ubuntu Gutsy (7.10):
deb http://free.nchc.org.tw/ubuntu gutsy main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable

Ubuntu Feisty (7.04):

deb http://free.nchc.org.tw/ubuntu feisty main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable
Ubuntu Edgy (6.10):
deb http://free.nchc.org.tw/ubuntu edgy main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable

Ubuntu Dapper (6.06):

deb http://free.nchc.org.tw/ubuntu dapper main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable

Ubuntu Breezy (5.10):

deb http://free.nchc.org.tw/ubuntu breezy main restricted universe multiverse
deb http://free.nchc.org.tw/drbl-core drbl stable
  • 第一行您也可以使用任何Debian或Ubuntu源,但是第二行是有关DRBL的代码,请不要改动。如果您想使用测试版DRBL,将第二行换成:
deb http://free.nchc.org.tw/drbl-core drbl stable testing

非稳定版DRBL,将第二行换成:

deb http://free.nchc.org.tw/drbl-core drbl stable testing unstable
  • 输入并执行 "apt-get update"
apt-get update
  • 输入并执行 "apt-get install drbl" to install drbl program.
apt-get install drbl