神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!
1..在我的6.5系统装在120G的ssd上,.gxbak目录上挂了个md126的3.5T的raid5的数据盘,把系统盘,也就实根下的120G备份到3,5T下面
df -h
lsblk
备份系统盘到/gxbak下面,压缩和不压缩的两个img文件
dd bs=512 count 250068999 if=/dev/sda | gzip -6 > /gxbak/ghost.img.gz
dd bs=512 count 250068999 if=/dev/sda of/=/gxbak/ghost.img
2查看
可以查看所有磁盘上的所有分区的尺寸和布局情况。
-u,让start和end中数字的单位是512字节,也就是一个sector扇区的大小
3. 镜像的命令格式说明
执行:
# dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda of=/ghost.img
这样,就可以把我需要的分区数据全部copy到ghost.img文件中。镜像制作完成了!
然后,我们就可以把U盘插到其他系统上,用U盘启动,进入centos7LiveCD,打开命令行,
执行如下命令:
dd if=/ghost.img of=/dev/sda
完成后,拔掉U盘,启动计算机,就可以看到我们的Linux系统已经安装完毕了!
注意:
不要直接在计算机上用本地磁盘启动系统后执行dd命令生成本地磁盘的镜像。而应该使用livecd启动计算机。
因此计算机运行时会对系统盘产生大量写操作。 直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动!
如果备份文件太大了,想把备份放到U盘里,要使用 dd 和 gzip 生成压缩的镜像文件,可以执行命令:
# dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda | gzip -6 > /ghost.img.gz
还原时,可以执行下列命令:
# gzip -dc /ghost.img.gz.gz | dd of=/dev/sda
gzip参数:
-c 表示输出到stdout
-d 表示解压缩
-1 表示最快压缩
-9 表示最好压缩
默认使用的是-6压缩级别。
4.不压缩备份系统盘到/gxbak下面
dd bs=512 count 250068999 if=/dev/sda of/=/gxbak/ghost.img
dd的参数250068999( 只有比上面的 加1,就可以了,这里加了个8,所有尾数是9了)
5.压缩备份系统盘到/gxbak下面
dd bs=512 count 250068999 if=/dev/sda | gzip -6 > /gxbak/ghost.img.gz
6.下载centos7LiveCD镜像,使用软碟通制作U盘启动盘
centos7liveCD下载地址:http://mirrors.163.com/centos/7/isos/x86_64/
7.重启电脑,按F11选择U盘启动,启动进入界面后su到root账户使用lsblk查看所有磁盘
su root
8.创建挂载目录把3.5T,和sda挂载到LIVE系统下
mkdir /mnt/da
mkdir /mnt/db
9.挂载成功
mount /dev/md126 /mnt/db
mount /dev/sda /mnt/da
10.进入挂载目录查看之前备份的镜像大小,压缩的1.9G,没压缩的120G,
cd /mnt/db
ls
11.对压缩的镜像ghost.img.gz进行还原,大约1.5小时重启,后恢系统复正常
gzip -dc /mnt/db/ghost.img.gz | dd of=/dev/sda
12..没压缩的镜像ghost.img进行还原 ,大约2小时,后黑屏,重启后系统恢复正常了。
dd if=/mnt/db/ghost.img of=/dev/sda
13.查看dd备份的进度
killall -s SIGUSR1 dd
14.把1.9G的备份放到U盘里很方便的
参考教程https://www.cnblogs.com/wanghuaijun/p/5531512.html