如何使用SystemImager备份Ubuntu


说明

我使用的是Ubuntu 8.10服务器,IP地址是192.168.0.100,作为SystemImager服务器,和一个Ubuntu 8.10系统(可以是一个服务器或桌面系统,取决于你想要备份什么),IP地址是192.168.0.101(这里指的是“客户端”)。此IP地址可静态指定的或通过DHCP指派,当我创建镜像时,我将使用ip切换技术,这意味着,如果客户端有一个静态IP地址,在你恢复镜像时,恢复后的系统将具有完全相同的IP地址,如果客户端通过DHCP获得IP,恢复系统将从DHCP得到其它IP,则使恢复后的IP可以是不同的。

在整个教程中,我假设你已经以root用户登录到这两个系统,输入:

sudo su

我将使用最新的稳定版SystemImager(写本文的时候是4.0.2),它还不可以从Ubuntu 8.10的升级库中获得(在8.10升级库中的版本是3.2.3,使用这个版本时,当我尝试恢复系统时,我无法从启动介质启动)。

请记住,SystemImager使用rsync,这意味着,任何人在系统恢复期间都可以访问你在服务器上的镜像,除非你在rsyncd配置中限制使用某些IP地址。因此,当你在Internet上做系统备份和恢复时,你应该小心一点(或通过隧道SSH使用rsync,但这是不属于本教程的范畴了),但对本地网络这应该能够很好工作。

在镜像服务器上安装SystemImager

服务端:

在镜像服务器上,您可以如下安装SystemImager:

apt-get install syslinux libappconfig-perl mkisofs binutilswget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-boot-i386-standard_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-common_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-initrd-template-i386_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-server_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemconfig/systemconfigurator_2.2.11-1_all.debdpkg -i systemimager-* systemconfigurator_2.2.11-1_all.deb

在黄金客户端上安装SystemImager

客户端:

在黄金客户端上,您可以如下安装SystemImager:

apt-get install libappconfig-perlwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-client_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-common_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemimager/systemimager-initrd-template-i386_4.0.2_all.debwget http://heanet.dl.sourceforge.net/sourceforge/systemconfig/systemconfigurator_2.2.11-1_all.debdpkg -i systemimager-* systemconfigurator_2.2.11-1_all.deb

在您创建了一个镜像前,您应该检查的/etc/fstab使用预设值取代所有relatime事件。如果你不这样做,恢复进程将有可能失败,因为启动镜像内核不知道relatime选项。

vi /etc/fstab

我原来的fstab看起来像这样:

# /etc/fstab: static file system information.

#

#

proc /proc proc defaults 0 0

# /dev/sda1

UUID=70d7109c-82d3-4bfa-8faa-554b1aae8935 / ext3 relatime,errors=remount-ro 0 1

# /dev/sda5

UUID=6d6205a6-c5dc-4790-a3c0-9823879c3484 none swap sw 0 0

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

正如你在第6行看到有一个relatime。因此,我修改如下:

# /etc/fstab: static file system information.

#

#

proc /proc proc defaults 0 0

# /dev/sda1

UUID=70d7109c-82d3-4bfa-8faa-554b1aae8935 / ext3 defaults,errors=remount-ro 0 1

# /dev/sda5

UUID=6d6205a6-c5dc-4790-a3c0-9823879c3484 none swap sw 0 0

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

在镜像创建完毕后,您可以将其更回原样,但无论什么时候在镜像服务器更新镜像时,你必须再次替换relatime。

在镜像服务器上创建一个黄金客户端的镜像

客户端:

为了将黄金客户端的镜像推送到镜像服务器,你应该关闭黄金客户端的所有防火墙,或至少允许连接到tcp 873端口(rsync使用)。现在,在黄金客户端,运行下面的命令:

si_prepareclient --server 192.168.0.100

服务端:

在镜像服务器上,运行:

si_getimage -golden-client 192.168.0.101 -image my_golden_client -ip-assignment replicant

这里my_golden_client的名字是要创建的镜像的名字。-ip-assignment可以是以下三个值:

dhcp:将动态给客户端分配IP地址的DHCP服务器。

    static:在自动安装过程中分配给客户端的IP地址,将永久分配给该客户端。

    replicant:我使用它作为备份和快速恢复机制的一台机器。

正如我在前面提到的,我在这里使用的replicant -它是理想的备份。

在镜像创建结束时,您会看到下列问题:

你想运行“si_clusterconfig”实用程序吗?(Y /[N]):输入n。

创建启动光盘

SystemImager允许你在没有安装镜像系统的系统上安装镜像。但是,我们必须告诉它镜像来自哪里,通过引导光盘可以做到这一点。要创建boot.iso镜像(然后,你可以刻录一张CD),运行下面的命令:

服务端:

si_mkautoinstallcd -append "IMAGESERVER=192.168.0.100 IMAGENAME=my_golden_client" --out-file /home/administrator/image.iso

请为镜像服务器和镜像名称填写正确的值,并在—out-file选项中指定输出目录。

您将被要求为““味道””,请输入黄金镜像的名称:

Here is a list of available flavors:

my_golden_client

  standard

Which flavor would you like to use? [standard]: 输入my_golden_client

在新系统上还原镜像/安装镜像

服务端:

在镜像服务器端,执行下列命令:

/etc/init.d/systemimager-server-rsyncd start

确定可以从外部访问TCP 873端口(防火墙!)。

客户端:

现在,插入启动光盘,并启动它。您的新系统将自动安装镜像my_golden_client!

如何使用SystemImager备份Ubuntu

服务端:

在成功恢复镜像后,您可以停掉rsyncd:

/etc/init.d/systemimager-server-rsyncd stop

更新镜像

如果你的黄金客户端已经发生了一些重要变化,现在想要更新你以前创建的镜像my_golden_client。

客户端:

在客户端运行:

si_prepareclient --server 192.168.0.100

请确认你的防火墙允许连接到tcp端口873。

服务端:

在镜像服务器上运行:

si_getimage -golden-client 192.168.0.101 -image my_golden_client -ip-assignment replicant

删除镜像

服务端:

如果你想删除镜像服务器上的镜像,只需要输入:

si_rmimage my_golden_client

my_golden_client应改为想要删除的镜像的名字。

相关内容