克隆备份系统 还原系统 (转)

  
  上周公司买了5套高配置PC机来做测试用。上面要装好CentOS 加上一堆工具,有web的,数据库的,还有一些自己开发的工具。有些朋友肯定想,直接用kickstart不就行了,确实、kickstart可以快速的装很多台机器的系统,可是上面的应用程序呢?总不能装好系统再去一台台装吧。而且在编译安装程序的时候还经常会报一些错误需要手动解决。开始的时候我想用DD 来搞定。
结果我想简单了。
  先拿来一台机器装了一上午完成,系统和应用程序都装好了而且测试应用程序运行正常,500G硬盘一共使用30G左右。从另外一台机器上把硬盘拆下来
装上,用CentOS光盘直接启动进入 rescue模式,开始DD 。具体命令dd if=/dev/sda of=/dev/sdb 也没加参数就直接开始了。然后就是漫长的等待,
结果我从中午12点一直等到下午4点他也没完成@_@。我可不想等到下班,终止其操作,后来又想是不是因为没加bs呢?命令改为 dd if=/dev/sda of=/dev/sdb bs=1M 结果又等到5点,还是觉得太慢了。这还不如我直接一台台装的快呢!于是在网上开始搜索相关的软件,开始找到了 Partimage 和 G4L,down下来试用了一下感觉都不是很满意,操作比较复杂而且不能完全满足我的要求。后来QQ群里的一个朋友让我试试 一款叫"再生龙"的工具。下载一用非常满意,这才是我想要的~~~
  Clonezilla - 再生龍還原系統 是台湾人开发的一款开源的备份与还原系统,功能十分强大。下面是引用其官网的部分介绍。
  #可還原再生多種作業系統,包含Linux (ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs), Mac OS (HFS+), 微軟Windows (fat, ntfs), FreeBSD, NetBSD, OpenBSD (UFS),以及VMware ESX (VMFS)。這些檔案系統只備份有存資料的硬碟空間,因此可以節省備份時間與硬碟空間。其他不支援的檔案系統Clonezilla採用全部複製(dd) 的方式處理。
  #支援GNU/Linux下的LVM2 (尚未支援LVM1)
  #支援群播(Multicast)。配合PXE網路開機,搭配DRBL的Clonezilla可以使用播(multicast)的方式,適合用來大備份與還原。硬體設備功能足夠時(用戶端支援Wake on LAN與PXE),可以遠端操作,人不需到現場
而且他支持多国语言,界面友好,操作简单。这些我都很喜欢。
http://clonezilla.nchc.org.tw/这是他的官网,如果想多了解一些可以去看看,
下面我简单说下怎么用他来克隆linux系统
我下载了Clonezilla live 的ISO,地址是:http://cdnetworks-kr-2.dl.sourceforge.net/project/clonezilla/clonezilla_live_stable/clonezilla-live-1.2.4-28-686.iso
一共一百多兆。因为没有空白CD 我就直接找了个U盘 用UltraISO试用版 把ISO写到了U盘上,然后直接启动。
下面是他的界面。

我选的是第一个选项,选择后进入语言选择界面,很丰富,呵呵我选择的繁体中文

然后是键盘分布,我选择了不改变,下面就进入主题了,进入选择模式界面
选择使用再生龙,或者是进入shell,我选使用,进入备份还是还原

我要克隆整个硬盘,所以选择了下面那项,下面问你是专家还是初学者
我建议大家选择专家模式,因为我第一次用初学模式时候出现了mount 错误,说无法对挂载中的分区进行操作,估计是初学者模式进行了一些mount操作。
丰富的进阶选项
我选择的是第一项,本地到本地,下面是选择硬盘
选择母盘,千万别选错了。
再选择目标盘
各种选项,根据需要自己选择
继续下一步,
如果下次操作相同的话可以直接用上面图里的命令来执行。
 
各种警告,就是怕你哪部做错了,呵呵,下面就开始复制了
复制结束后问你还要做什么
 
好了,到这里为止一块儿硬盘就复制完成,把目标盘安装到那台机器上开机,系统自检,进入shell,打开gnome,运行程序OK,一切正常。
复制一块儿已经使用30G空间的500G硬盘用了大概10分钟左右,速度还可以。
因为实际操作中无法截图,上面面这些截图都在虚拟机上完成,不过步骤是一样的
 
 
********************************************************************
********************************************************************

Clonezilla是一个用于Linux,Free-Net-OpenBSD,Mac OS X,Windows以及Minix的分区和磁盘克隆程序。它支持所有主要的文件系统,包括EXT,NTFS,FAT,XFS,JFS和Btrfs,LVM2,以及VMWare的企业集群文件系统VMFS3和VMFS5。Clonezilla支持32位和64位系统,同时支持旧版BIOS和UEFI BIOS,并且同时支持MBR和GPT分区表。它是一个用于完整备份Windows系统和所有安装于上的应用软件的好工具,而我喜欢用它来为Linux测试系统做备份,以便我可以在其上做疯狂的实验搞坏后,可以快速恢复它们。

Clonezilla也可以使用dd命令来备份不支持的文件系统,该命令可以复制块而非文件,因而不必在意文件系统。简单点说,就是Clonezilla可以复制任何东西。(关于块的快速说明:磁盘扇区是磁盘上最小的可编址存储单元,而块是由单个或者多个扇区组成的逻辑数据结构。)

Clonezilla分为两个版本:Clonezilla Live和Clonezilla Server Edition(SE)。Clonezilla Live对于将单个计算机克隆到本地存储设备或者网络共享来说是一流的。而Clonezilla SE则适合更大的部署,用于一次性快速多点克隆整个网络中的PC。Clonezilla SE是一个神奇的软件,我们将在今后讨论。今天,我们将创建一个Clonezilla Live USB存储棒,克隆某个系统,然后恢复它。

Clonezilla和Tuxboot

当你访问下载页时,你会看到稳定版和可选稳定发行版。也有测试版本,如果你有兴趣帮助改善Clonezilla,那么我推荐你使用此版本。稳定版基于Debian,不含有非自由软件。可选稳定版基于Ubuntu,包含有一些非自由固件,并支持UEFI安全启动。

在你下载Clonezilla后,请安装Tuxboot来复制Clonezilla到USB存储棒。Tuxboot是一个Unetbootin的修改版,它支持Clonezilla;你不能使用Unetbootin,因为它无法配合工作。安装Tuxboot有点让人头痛,然而Ubuntu用户通过个人包归档包(PPA)方便地安装:

  1. $ sudo apt-add-repository ppa:thomas.tsai/ubuntu-tuxboot
  2. $ sudo apt-get update
  3. $ sudo apt-get install tuxboot

如果你没有运行Ubuntu,并且你的发行版不包含打包好的Tuxboot版本,那么请下载源代码tarball,并遵循README.txt文件中的说明来编译并安装。

Figure 1: Creating a partition on the USB stick for Clonezilla.
图1: 在USB存储棒上为Clonezilla创建分区

安装完Tuxboot后,就可以使用它来创建你精巧的可直接启动的Clonezilla USB存储棒了。首先,创建一个最小200MB的FAT 32分区;图1(上图)展示了使用GParted来进行分区。我喜欢使用类似“Clonezilla”这样的标签,这会让我知道它是个什么东西。该例子中展示了将一个2GB的存储棒格式化成一个单个分区。

然后,启动Tuxboot(图2)。选中“预下载的(Pre-downloaded)”然后点击带省略号的按钮来选择Clonezilla文件。它会自动发现你的USB存储棒,而你需要选中分区号来确保它找到的是正确的那个,我的例子中是/dev/sdd1。点击确定,然后当它完成后点击退出。它会问你是否要重启动,不要担心,现在不用重启。现在你有一个精巧的便携式Clonezilla USB存储棒了,你可以随时随地使用它了。

Figure 2: Fire up Tuxboot.
图2: 启动Tuxboot

创建磁盘镜像

在你想要备份的计算机上启动Clonezilla USB存储棒,第一个映入你眼帘的是常规的启动菜单。启动到默认条目。你会被问及使用何种语言和键盘,而当你到达启动Clonezilla菜单时,请选择启动Clonezilla。在下一级菜单中选择设备镜像,然后进入下一屏。

这一屏有点让人摸不着头脑,里头有什么localdev,sshserver,sambaserver,以及nfsserver之类的选项。这里就是要你选择将备份的镜像拷贝到哪里,目标分区或者驱动器必须和你要拷贝的卷要一样大,甚至更大。如果你选择localdev,那么你需要一个足够大的本地分区来存储你的镜像。附加的USB硬盘驱动器是一个不错的,快速而又简单的选项。如果你选择任何服务器选项,你需要能连接到服务器,并提供IP地址并登录上去。我将使用一个本地分区,这就是说要选择localdev。

当你选择local_dev时,Clonezilla会扫描所有连接到本地的存储折本,包括硬盘和USB存储设备。然后,它会列出所有分区。选择你想要存储镜像的分区,然后它会问你使用哪个目录并列出目录。选择你所需要的目录,然后进入下一屏,它会显示所有的挂载以及已使用/可用的空间。按回车进入下一屏,请选择初学者还是专家模式。我选择初学者模式。

在下一屏中,你可以选择存盘,就是选择创建整个硬盘的镜像,还是创建分区镜像,创建分区镜像允许你选择单个分区。我想要选择分区。

下一屏中,它会问你新建镜像的名称。在接受默认名称,或者输入你自己的名称后,进入下一屏。Clonezilla会扫描你所有的分区并创建一个检查列表,你可以从中选择你想要拷贝的。选择完后,在下一屏中会让你选择是否进行文件系统检查并修复。我才没这耐心,所以直接跳过了。

下一屏中,会问你是否想要Clonezilla检查你新创建的镜像,以确保它是可恢复的。选“是”吧,确保万无一失。接下来,它会给你一个命令行提示,如果你想用命令行而非GUI,那么你必须再次按回车。你需要再次确认,并输入y来确认制作拷贝。

在Clonezilla创建新镜像的时候,你可以好好欣赏一下这个友好的红、白、蓝三色的进度屏(图3)。

Figure 3: Watch the creation of your new image.
图3: 守候创建新镜像

全部完成后,按回车然后选择重启,记得拔下你的Clonezilla USB存储棒。正常启动计算机,然后去看看你新创建的Clonezilla镜像吧。你应该看到像下面这样的东西:

  1. $ ls -l /2014-08-07-11-img/
  2. total 1241448
  3. -rw-r--r-- 1 root root 1223 Aug 7 04:22 blkdev.list
  4. -rw-r--r-- 1 root root 636 Aug 7 04:22 blkid.list
  5. -rw-r--r-- 1 root root 3658 Aug 7 04:24 clonezilla-img
  6. -rw-r--r-- 1 root root 12379 Aug 7 04:24 Info-dmi.txt
  7. -rw-r--r-- 1 root root 22685 Aug 7 04:24 Info-lshw.txt
  8. -rw-r--r-- 1 root root 3652 Aug 7 04:24 Info-lspci.txt
  9. -rw-r--r-- 1 root root 171 Aug 7 04:24 Info-packages.txt
  10. -rw-r--r-- 1 root root 86 Aug 7 04:24 Info-saved-by-cmd.txt
  11. -rw-r--r-- 1 root root 5 Aug 7 04:24 parts
  12. -rw------- 1 root root 1270096769 Aug 7 04:24 sda6.ext4-ptcl-img.gz.aa
  13. -rw-r--r-- 1 root root 37 Aug 7 04:22 sda-chs.sf
  14. -rw-r--r-- 1 root root 1048064 Aug 7 04:22 sda-hidden-data-after-mbr
  15. -rw-r--r-- 1 root root 512 Aug 7 04:22 sda-mbr
  16. -rw-r--r-- 1 root root 750 Aug 7 04:22 sda-pt.parted
  17. -rw-r--r-- 1 root root 625 Aug 7 04:22 sda-pt.parted.compact
  18. -rw-r--r-- 1 root root 514 Aug 7 04:22 sda-pt.sf

恢复Clonezilla镜像

恢复镜像和创建镜像类似。再次使用Clonezilla启动,经过同样的初始化步骤后,选择devimage,然后在localdev屏,选择你要恢复的镜像所在的位置,它要么在本地设备上,要么在网络共享上。然后继续下面的操作,确保你的恢复镜像正确,并选择了正确的位置。

 

转自: http://storysky.blog.51cto.com/628458/291587/

http://linux.cn/article-3888-1.html

posted @ 2015-06-22 14:28  上帝抬不动的石头  阅读(1622)  评论(0)    收藏  举报