May
25
[原]使用Mondo Rescue进行系统全备份
一套完整的生产应用系统,其部署和实施可能需要涉及多方厂商的协助和配合,如有硬件工程师、软件开发商、操作系统厂商、数据库厂商、系统集成商等等。若应用架构比较复杂,可能就完成基础的部署都需要一个不短的周期。项目开始时,协调这些人力、物理可能是比较简单的,但系统是不可能不发生问题的,若因某些原因,后期更换了服务器硬件或需重新部署整套应用,那该是多麻烦的一件事情。另外,如果需要同时在多台服务器上安装几乎完全相同的软件,一台一台安装相信也不是一个好办法吧。
这时,Mondo Rescue软件或许可以帮到您。他有点像Windows下的Ghost,但也有点不同。Ghost对Linux的操作,若采用全盘复制功能时,两边的硬盘大小不一会很难处理;若采用分区复制,那MBR需要手动创建,操作比较麻烦。而Mondo采用自带启动镜像的方式,不需要依赖第三方的操作系统软件,可直接进行系统复制的工作,操作简单。
一、Mondo Rescue简介
Mondo Rescue(以下简称Mondo)可以说是Linux 下的Ghost,它可以将你的系统像照相一样备份至磁带,CD-R,CD-RW,NFS或硬盘分区。Mondo广泛支援LVM,RAID,ext2, ext3, JFS, XFS,ReiserFS,VFAT等。这个软件可以让大家一步一步地将Linux系统备份出来,一旦今后出了问题,只要用创建好的MondoCD将系统还原至上次备份时的状态即可。
与Ghost相似,在进行备份的使用,应把应用与数据的备份分开处理。也就是说,使用Mondo来备份系统的基本应用配置,生产数据使用资料备份的方式处理,如定时备份到磁带等。
Mondo Rescue的官方网站:这里
架构:
Mondo Rescue由Mondo和Mindi两个包组成。Mondo是主程序用来备份和还原。Mindi则类似一个迷你的Linux,它包括核心,模块,函数库及一些做系统维护的重要工具。目前,Mondo已经支持Asianux 2/3系统平台。
二、安装和使用
使用时,先在需要备份的系统上安装Mondo软件,然后运行其后,根据提示进行备份,并生成今后使用的备份光盘。还原时,使用该光盘启动恢复即可。
1、准备
备份前,先把需要部署的应用都安装和配置完成。
然后,重新改系统,挂载需要备份的分区,停止已经启动的应用,建议把系统保留在“干净”的状态下进行备份的工作。
备份时的方式有多种,建议先备份到本地磁盘上。所以,需要在本地准备一个空闲空间,可足够存放后续备份的光盘镜像。
2、安装
在需要备份的系统上安装Mondo软件。需要安装的rpm包有好几个,为方便起见,我使用Asianux 3 for x86 做演示,其支持yum更新。
yum源缺了一个buffer包,先安装后yum install 即可:
本地下载:
※ 注意
如果您使用的是Asianux 2.0(对应红旗DC Server 5.0)版本,请从下面的链接获取对应的软件包:
3、执行备份
在英文环境下,启动备份程序:
选择备份到本地硬盘:
选择备份路径:
选择压缩率:
如果系统比较庞大,为方便今后刻录光盘,可把镜像分块,在这里输入每个镜像光盘的大小:
(一般,CD最大700MB,DVD最大4300MB)
镜像的名称:
需备份的路径:
(“/”表示系统全系统,后面可排除某些目录)
需排除在外的目录,这些目录不会备份到光盘镜像中:
(通常都是一些临时目录和资料数据目录)
这里,需要您确认创建备份镜像后,是否进行校验:
需要您确认是否标准的Linux 核心,“Yes”即可:
确认后,开始备份:
先后收集今后Mindi启动必须的文件信息,如BusyBox等:
进行备份:
完成:
请留意最后的日志信息:
结果:
三、恢复数据
使用刻录机,把上面生成的镜像刻录出来。需要恢复数据时,把机器设置为光驱引导,然后使用该光盘启动机器。
启动后的界面:
(有几个参数供选择,例如,如果硬盘已经分好区,不希望重新调整分区的,可以输入nuke noresize后回车)
选择自动恢复:
(交互方式可选择性更多,例如可恢复指定的目录数据等)
(ncurse库不是很匹配,屏幕有点错位,但不影响使用)
清除原磁盘数据后,进行分区及格式化:
恢复数据:
提示您编辑multipath.conf文件:
(若不需要修改,使用vi 的:q退出)
问您是否需要重建initrd.img镜像文件:
(如果备份后,曾经加入了新的硬件或做了其他驱动方面的改动的话,则需要重建initrd.img文件)
完成:
(会自动创建Grub,然后,可使用exit 重启机器)
四、可能的错误
我第一次运行的时候,提示错误:
后来,查询相关的日志文件:/var/log/mondoarchive.log,有:
原来,我把SWAP分区删掉了,但/etc/fstab中仍保存后相关的挂载配置,注释后,问题解决。
五、其他软件
除Mondo Rescue外,还有其他的开源软件采用类似的工作原理,如果您在使用Mondo Rescue时遇到问题,或许可试试它们:
mkCDrec 网址:http://mkcdrec.ota.be/project/
Partition Image 网址:http://www.partimage.org/
这时,Mondo Rescue软件或许可以帮到您。他有点像Windows下的Ghost,但也有点不同。Ghost对Linux的操作,若采用全盘复制功能时,两边的硬盘大小不一会很难处理;若采用分区复制,那MBR需要手动创建,操作比较麻烦。而Mondo采用自带启动镜像的方式,不需要依赖第三方的操作系统软件,可直接进行系统复制的工作,操作简单。
一、Mondo Rescue简介
Mondo Rescue(以下简称Mondo)可以说是Linux 下的Ghost,它可以将你的系统像照相一样备份至磁带,CD-R,CD-RW,NFS或硬盘分区。Mondo广泛支援LVM,RAID,ext2, ext3, JFS, XFS,ReiserFS,VFAT等。这个软件可以让大家一步一步地将Linux系统备份出来,一旦今后出了问题,只要用创建好的MondoCD将系统还原至上次备份时的状态即可。
与Ghost相似,在进行备份的使用,应把应用与数据的备份分开处理。也就是说,使用Mondo来备份系统的基本应用配置,生产数据使用资料备份的方式处理,如定时备份到磁带等。
Mondo Rescue的官方网站:这里
架构:
Mondo Rescue由Mondo和Mindi两个包组成。Mondo是主程序用来备份和还原。Mindi则类似一个迷你的Linux,它包括核心,模块,函数库及一些做系统维护的重要工具。目前,Mondo已经支持Asianux 2/3系统平台。
二、安装和使用
使用时,先在需要备份的系统上安装Mondo软件,然后运行其后,根据提示进行备份,并生成今后使用的备份光盘。还原时,使用该光盘启动恢复即可。
1、准备
备份前,先把需要部署的应用都安装和配置完成。
然后,重新改系统,挂载需要备份的分区,停止已经启动的应用,建议把系统保留在“干净”的状态下进行备份的工作。
备份时的方式有多种,建议先备份到本地磁盘上。所以,需要在本地准备一个空闲空间,可足够存放后续备份的光盘镜像。
2、安装
在需要备份的系统上安装Mondo软件。需要安装的rpm包有好几个,为方便起见,我使用Asianux 3 for x86 做演示,其支持yum更新。
# cd /etc/yum.repos.d
# wget ftp://ftp.mondorescue.org/asianux/3/mondorescue.repo
# wget ftp://ftp.mondorescue.org/asianux/3/mondorescue.repo
yum源缺了一个buffer包,先安装后yum install 即可:
# wget ftp://ftp.mondorescue.org/rhel/5/buffer-1.19-1.i386.rpm
# rpm -ivh buffer-1.19-1.i386.rpm
# yum install mindi mindi-busybox mondo
# rpm -ivh buffer-1.19-1.i386.rpm
# yum install mindi mindi-busybox mondo
本地下载:
下载文件
※ 注意
如果您使用的是Asianux 2.0(对应红旗DC Server 5.0)版本,请从下面的链接获取对应的软件包:
3、执行备份
在英文环境下,启动备份程序:
# unset LANG
# mondoarchive
# mondoarchive
选择备份到本地硬盘:
选择备份路径:
选择压缩率:
如果系统比较庞大,为方便今后刻录光盘,可把镜像分块,在这里输入每个镜像光盘的大小:
(一般,CD最大700MB,DVD最大4300MB)
镜像的名称:
需备份的路径:
(“/”表示系统全系统,后面可排除某些目录)
需排除在外的目录,这些目录不会备份到光盘镜像中:
(通常都是一些临时目录和资料数据目录)
这里,需要您确认创建备份镜像后,是否进行校验:
需要您确认是否标准的Linux 核心,“Yes”即可:
确认后,开始备份:
先后收集今后Mindi启动必须的文件信息,如BusyBox等:
进行备份:
完成:
请留意最后的日志信息:
引用
# mondoarchive
Initializing...
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
Done.
Execution run ended; result=0
Type 'less /var/log/mondoarchive.log' to see the output log
Initializing...
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
Done.
Execution run ended; result=0
Type 'less /var/log/mondoarchive.log' to see the output log
结果:
引用
# ll -h /var/cache/mondo/qktest-1.iso
-rw-r--r-- 1 root root 2.1G 05-25 15:00 /var/cache/mondo/qktest-1.iso
-rw-r--r-- 1 root root 2.1G 05-25 15:00 /var/cache/mondo/qktest-1.iso
三、恢复数据
使用刻录机,把上面生成的镜像刻录出来。需要恢复数据时,把机器设置为光驱引导,然后使用该光盘启动机器。
启动后的界面:
(有几个参数供选择,例如,如果硬盘已经分好区,不希望重新调整分区的,可以输入nuke noresize后回车)
选择自动恢复:
(交互方式可选择性更多,例如可恢复指定的目录数据等)
(ncurse库不是很匹配,屏幕有点错位,但不影响使用)
清除原磁盘数据后,进行分区及格式化:
恢复数据:
提示您编辑multipath.conf文件:
(若不需要修改,使用vi 的:q退出)
问您是否需要重建initrd.img镜像文件:
(如果备份后,曾经加入了新的硬件或做了其他驱动方面的改动的话,则需要重建initrd.img文件)
完成:
(会自动创建Grub,然后,可使用exit 重启机器)
四、可能的错误
我第一次运行的时候,提示错误:
引用
Perhaps Mindi's MakeMountlist() subroutine has a bug. We'll see.
Failed.
Fatal error... Pre-param initialization phase failed. Please review the error messages above, make the specified changes, then try again. Exiting...
Failed.
Fatal error... Pre-param initialization phase failed. Please review the error messages above, make the specified changes, then try again. Exiting...
后来,查询相关的日志文件:/var/log/mondoarchive.log,有:
引用
FATAL ERROR. Your system uses a LABEL partition (LABEL=SWAP-sda2), but you lack the tool to support it.
Please replace labels with their correct devices in /etc/fstab or install findfs|blkid|vol_id
Please replace labels with their correct devices in /etc/fstab or install findfs|blkid|vol_id
原来,我把SWAP分区删掉了,但/etc/fstab中仍保存后相关的挂载配置,注释后,问题解决。
五、其他软件
除Mondo Rescue外,还有其他的开源软件采用类似的工作原理,如果您在使用Mondo Rescue时遇到问题,或许可试试它们:
mkCDrec 网址:http://mkcdrec.ota.be/project/
Partition Image 网址:http://www.partimage.org/
夜无眠
2023/09/11 16:53
使用iso镜像文件创建虚拟机的时候提示partitioning hard drives failed是什么原因啊
linuxing 回复于 2024/01/16 23:00
大概率是使用的系统不支持当前的硬盘驱动
EEE
2022/01/11 14:48
备份的iso(备份有两个文件)可以直接创建成虚拟机么?
qq6346144
2021/10/13 22:06
恢复的时候提示partitioning hard drives failed是什么原因啊
小白
2021/09/28 14:58
为啥我按照操作 没有生成ISO文件呢 求帮助
剩余
2021/05/20 17:30
产生多个iso文件,每个iso文件都保存了什么信息
linuxing 回复于 2021/06/18 18:59
分块而已
aaa
2018/08/02 03:13
请问您现在 用什么 工具备份 linux系统 例如centos类型的系统
xia
2018/07/03 15:04
恢复的时候提示partitioning hard drives failed是什么原因啊
ding
2018/04/25 11:57
如果我是一个新的裸机 什么分区都没弄 而且硬盘空间和之前的不一样 我应该如何操作啊
流浪
2013/09/11 22:50
你好,我直接在vm上用iso进行安装,安装失败提示:没有文件系统可挂载root,请问这是什么错误呢
流浪
2013/09/09 10:24
按照上面的步骤,我产生了qktest-1.iso ... qktest-5.iso 5个iso文件,前4个有4.2g,第五个有3.6g。请问需要刻录这5个iso文件吗
linuxing 回复于 2013/09/09 17:22
是的,如果你的系统比较大,那可能会生成多个镜像光盘,在恢复时,会提示放入对应光盘的。
分页: 1/2 1 2