python

使用dd把linux系统克隆,进行备份与还原操作,把1.9G的系统备份放到U盘里很方便的xtggbmdk的博客-CSDN博客dd 备份

文章暂存

systemime
2021-04-25
7 min

摘要.

神奇的 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 扇区的大小

  1. 镜像的命令格式说明

执行:

# 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 https://blog.csdn.net/xtggbmdk/article/details/82706380?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

上次编辑于: 2021/5/20 下午3:26:49