现有Linux系统制作ISO镜像——使用Mondo Rescue
Mondo Rescue是什么?
Mondo Rescue(简称 Mondo):是一款开源免费的故障恢复和备份工具,可以说是 Linux 操作系统下的 Ghost ,你可以轻松地创建系统(Linux 或 Windows)克隆或备份的 ISO 镜像,可以将这些镜像存放在 CD、DVD、磁带、USB 设备、硬盘和 NFS 上。
万一数据丢失了,你将能够可以从备份介质还原系统所有数据或根据实际需求还原所有数据。除此之外,Mondo Rescue 还可用来快速恢复或者重新部署工作镜像到其他系统中。
Mondo 支持 LVM 1/2、RAID、ext 2/3/4、JFS、XFS、ReiserFS、VFAT 等,并且可以轻松支持其他文件系统,支持软件 RAID 和大多数硬件 RAID 控制器,支持磁盘几何形状的调整,包括从非 RAID 到 RAID 的迁移。支持 BIOS 和 UEFI 引导模式。
Mondo 在所有主要的 Linux 发行版(Fedora、RHEL、OpenSUSE、SLES、Mageia、Debian、Ubuntu、Gentoo)上运行,可使用它来备份非 Linux 分区,例如:NTFS。
一、环境准备
(1) 镜像机要能上网,因为需要从网上装所需的包,没有网络的话,需要的软件包也早下载好了,可以离线安装,离线安装比较费事,尽量有网比较好
(2) 镜像机磁盘不要用lvm的,使用linux的标准分区,文件系统ext3、ext4、xfs都可以。
(3) 镜像机在装系统的时候,建立俩个分区就可以,一个/boot 分区,给210m,一个/ 分区,/ 分区看着给(30G左右),不要给太大,够装应用就可以,做好的镜像在还原到别的机器上的时候,会自动帮你扩展,给的太大,会出问题。千万不要创建swap分区,会出问题,swap分区系统装好了也可以创建的,不用担心
(4) 分区挂载格式要用盘符去挂载不要用UUID去挂载,不然做好镜像去还原的时候会识别不了 分区挂载文件:/etc/fstab 如下图:
(5)把安装完不需要的安装包尽量都删掉,减少根目录使用空间,根目录使用的大小尽量保持在10G以内,因为使用空间1G大概会生成300M的iso镜像,这样生成的镜像不至于那么大。
二. 安装mondo
centos7安装mondo
首先配置yum源:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
然后,配置repo:
cd /etc/yum.repos.d/
wget ftp://ftp.mondorescue.org/centos/7/x86_64/mondorescue.repo
sed -i "s/gpgcheck=1/gpgcheck=0/g" mondorescue.repo
cat mondorescue.repo
最后用yum安装Mondo:
yum makecache
yum install -y mondo
Ubuntu安装mondo
可以在官网下载Mondo Rescue - GPL disaster recovery solution
下载目录下面使用20.04版本演示
打开网站可以看到
右键复制下载地址
使用wget http://ftp.mondorescue.org/ubuntu/20.04/afio.sources.list
下载文件
输入以下代码更新apt-get源
sudo sh -c "cat mondorescue-test.sources.list >> /etc/apt/sources.list"
sudo apt-get update
可能会报错说你没配置ftp
解决方法:
安装ftp服务
sudo apt-get install vsftpd ftp
修改ftp主配置⽂件
sudo vim /etc/vsftpd.conf
修改内容如下
listen=NO
listen_ipv6=YES
anonymous_enable=YES
no_anon_password=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
local_root=/home/mirrors/software
anon_root=/home/mirrors/software
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
创建99local-ftp文件
sudo vim /etc/apt/apt.conf.d/99local-ftp
并写入内容
Dir::Bin::Methods::ftp "ftp";
再执行更新源命令sudo apt-get update
即可
这时候也可能会报错
大概意思是这个仓库的没有签名
网上搜了下 需要输入:
gpg --keyserver keyserver.ubuntu.com --recv 6BA8C2D220EBFB0E
最后的字符串就是提示出错的地方的一串字符串
然后输入
gpg --export --armor 6BA8C2D220EBFB0E | sudo apt-key add -
然后再update 就成功了 如下:
再输入sudo apt-get update
就正常了
然后再输入sudo apt-get install mondo
安装即可
三、运行mondo
安装完毕后,以 root 为身份用户,在终端下输入mondoarchive,即可进入图形操作界面
mondoarchive
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
.......
四、制作镜像
1.备份到什么介质
择Hard disk 备份ISO镜像到硬盘 如下图:
2.备份位置选择
输入备份ISO镜像所在目录的完整路径名或默认。默认就可以 如下图:
3.压缩类型选择
选择压缩类型:选择gzip压缩率大 建议选择 如下图:
4.压缩率选择
择压缩选项选择Maximum(9) 如下图:
5.选择每个镜像大小
键入你想要的每个ISO镜像的大小,以MB(兆字节)为单位。这个数值应当小于等于CD-R(W)(700)或DVD(4480)的容量。默认即可。默认正好是dvd容量(如果比较大,可以手动输入自定义容量) 如下图:
6.制定镜像名称
请制定ISO镜像的文件名:列如test。(自定义即可)或默认 镜像超过设定大小会自动生成下一个 如下图:
7.选择要备份的目录
输入想要备份的文件目录,默认为根目录 要备份全系统,默认选择根目录 如下图:
8.排除不需要备份的目录
请排除你不想要备份的文件系统(以“|”分隔)。例如:一般来说可能有一些文件是不需要的可能需要排除出去;/proc
和/tmp
,可以使用/proc|/tmp
。 如下图:
9.选择临时目录路径
输入你的临时目录路径,选择默认路径就可以 如下图:
10.选择暂存目录路径
输入你的暂存目录路径,选择默认路径就可以 如下图:
11.选择是否备份扩展的属性
选择备份扩展的属性,选择yes 如下图:
12..备份机器的内核
备份机器的内核,选择默认就可以,直接选择ok回车即可 如下图:
13.验证备份文件
如果你想要验证你的备份文件,那么在Mondo创建备份文件之后,点击“Yes”。 如下图:
14.再次确定是否备份
点击“Yes”。 如下图:
15.创建“/”文件系统目录
到此 软件自动去备份,无需人工交互操作
创建“/”文件系统目录 ,自动执行 ,如下图所示:
16.调用MINDI,创建boot+data磁盘。
调用MINDI,创建boot+data磁盘。自动执行,如下图:
17.备份文件系统
备份文件系统。这个过程根据系统的大小花费的时间不等,请耐心等待 自动执行,如下图:
18.备份大文件。
备份大文件。自动执行, 如下图:
19.运行“mkisofs”,创建ISO镜像。
运行“mkisofs”,创建ISO镜像。自动执行 如下图:
20.验证ISO镜像的压缩包
验证ISO镜像的压缩包 自动执行 如下图:
21.验证ISO镜像的大文件。
验证ISO镜像的大文件。自动执行 如下图:
22.归档完成
最后,Mondo归档完成。选择OK回车,回到shell提示符界面。如下图:
如果你已经选择了默认的备份路径,你将会在“/var/cache/mondo/”下看到一个ISO镜像文件。
[root@localhost ~]# cd /var/cache/mondo/
[root@localhost mondo]# du -sh *
4.0K difflevel.0
1.3G mondorescue-1.iso
到这步后,你就可以将备份镜像刻录到 CD/DVD 中了,便于以后恢复系统使用,可以用 Mondo 生成的 ISO 镜像引导操作系统,在引导提示符界面中选择“(手动输入)nuke”类型,恢复文件。