2009年8月20日木曜日

clonezilla linux 系统备份还原

经过前2天的努力(星期4到今日凌晨2点,当然不是一直在工作了,呵呵),终于使用clonezilla1.0.10.8在vmware上备份和还原ubuntu7.10的整个磁盘和整个分区成功了,现将经验记录在博客中。

已开始使用Hiren'sBootCD72.ISO(一个哥们介绍的)中的Ghost8.2来进行ubuntu磁盘备份(在虚拟机中先试验),方式是磁盘与磁盘对拷贝。拷贝了之后,发现Ghost8.2没有将MBR拷贝上(即GRUB没有复制),导致新的磁盘挂载上后不能够启动ubuntu系统。

为了能解决新磁盘的启动问题,我使用了ubuntu7.10的Live CD进行引导,在终端中使用如下命令修复(或者说是复制)GRUB:

sudo grub

>grub (hd0,0)

>setup (hd0)

这样GRUB修好了,但是启动到了一半,到开始检查磁盘时(fsck /dev/sda),报磁盘有错误,查找资料后大概说明,是使用虚拟机导致的,也许在真实的机子上就不会出现这样的问题了。但是心有不甘,于是开始google了一大批资料,其中有些提到了clonezilla这个工具,发现它是个好东东呀(竟然可以是繁体中文环境呀,中国人中有牛人呀!)。下面是clonezilla的网址和一些中文介绍:

www.clonezilla.org

以下是引用:

Ghost是一个很著名的系统备份还原软件,最早的时候是一款个人软件,后来被财大气粗的赛门铁克公司收购并推出分别针对个人和企业的NortonGhost和SymentecGhost的商业版。在MS Windows下非常流行使用Ghost来备份还原系统,那么我们使用Ubuntu这样子的Linux应该用什么来备份还原系统呢?而且能和Ghost的使用一样轻松呢?原本我们应该可以考虑选择Ghost,因为Ghost是支持ext2/ext3以及Linux swap格式的,但是Ghost只有For Windows程序,只能在Windows环境下执行Ghost来备份(这一点可能不绝对,Ghost的光盘可能具备引导计算机能力并启动Ghost程序,由于没有原版Ghost,无法确认),最重要的是据传Ghost在备份还原Linux系统分区的关于Grub的处理不完善,导致Boot Loader容易出错。并且Ghost已经是商业软件,需要使用就得掏钱买了。购买具备群播还原能力的SymantecGhost那就更贵了,而且不够灵活。
我们有比Ghost更好的选择——Clonezilla,Clonezilla是什么样的软件呢。Clonezilla是一款由台湾国网中心的达人们开发的系统备份还原软件,遵守GUN授权方式的自由软件。Clonezilla可谓简约而不简单,不但具备单机备份还原能力,还具备多点还原能力,不但可以备份还原Linux系统的文件系统格式分区,配合国网中心开发的drbl-winroll还能够还原WindowsXP的同时为所还原的客户端设定用户名、密码以及随机SID。而这一切都是免费的!Clonezilla是由udpcast + Partimage + DRBL组成的,即是说Clonezilla的核心部分就是Partimage (被盾)。
Clonezilla的功能特性:


自由软件,由台湾国网中心开发。
支持多种操作系统,包含Linux (ext2, ext3, reiserfs, xfs, jfs), M$ Windows (fat, ntfs)。
支援GNU/Linux下的LVM2
支持群播(Multicast),配合PXE网络启动功能加上DRBL,Clonezilla具备群播能力,可用于大规模备份和恢复。客户端硬件条件满足的情况下(网络唤醒和PXE),可远端处理,无须人到客户机前操作。
基于Partimage的功能(仅能处理分区)上,Clonezilla可以备份和还原分区以及整块硬盘。
配合drbl-winroll,可以在还原客户端Windows XP时指定其工作组、主机名等并写入随机SID。
有基于Debian的Clonezilla免安装的Clonezilla Live可用。
引用结束。

于是我下载了 clonezilla1.0.10.8(最新的稳定版),先使用ISO光盘影像方式(这个比较简单)。

将它插入光驱,启动弹出使用界面,中文的很好懂,这里就不多说了。但有一点说一下,就是当选择clone的源本地磁盘或目的磁盘时,需要使用空格键选中(选中的标记是*)。一开始我不知道(它的界面上没有提示),总是什么也不做就重启(纳闷)。

使用虚拟机试了一下,磁盘对拷,整个磁盘备份为镜像文件,整个分区备份为镜像文件,从本地磁盘回复整个磁盘,从本地磁盘中的镜像文件恢复整个磁盘,从本地磁盘中的镜像文件恢复一个磁盘分区。这些都实验成功。

总结几点如下:

1.它可以复制磁盘的MBR到镜像磁盘的MBR(也可以通过选择不复制MBR),可以解决GRUB问题。

2.在本份整个磁盘到镜像文件时也复制磁盘的MBR(也可以通过选择不复制MBR),回复时也将回复MBR。

3.在分区的备份和恢复中,并不改变这个分区的格式。例如我做了个实验,将/dev/sda1的格式改为FAT32的,然后恢复磁盘分区,再用Hiren'sBootCD72.ISO的分区工具查看/dev/sda1的格式,仍然是FAT32的,所以不能启动ubuntu。使用分区工具将/dev/sda1改为linux ext3格式,再恢复此磁盘分区,于是成功了。

4.在整个磁盘备份为镜像文件,整个分区备份为镜像文件时,采用了压缩技术,可以减少磁盘空间。

5.这一点很重要,如果从一个40GB的磁盘进行整个磁盘备份为镜像文件,回复时如果新的磁盘小于40GB,将不能恢复成功,如果大于40GB(如80GB),则可以回复成功,而且后面的40GB空间依然可以使用Hiren'sBootCD72.ISO的分区工具进行分区和使用。

综合以上几点,产生了以下的用法。

使用虚拟机(使用本地磁盘小一些,8GB),进行安装ubuntu7.10,之后安装一系列需要的软件。然后将整个磁盘映像备份到移动磁盘中。之后我们就可以在任何大于8GB的真实的计算机上恢复(如果这样可行的话),这样就可以大大减少安装时间,多方便呀。

后面还可以研究的内容:

1.使用clonezilla的USB disk启动盘,一般的计算机有可能没有光驱了(或光驱坏掉了)。只要计算机的BIOS支持从USB设备启动,我们就可以使用它,方便!

2.研究clonezilla live版本的其它的功用,例如使用NFS(网络文件系统)镜像和恢复本地磁盘。

3.研究DRBL: Clonezilla server edition,它可以从网络上同步恢复多台客户机(采用广播方式),这样复制大批计算机时将非常方便。

0 件のコメント: