全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 3507|回复: 33
打印 上一主题 下一主题

不懂就问 网络全盘DD 原理+过程

[复制链接]
跳转到指定楼层
1#
发表于 2022-3-17 22:54:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 HardDisker 于 2022-3-21 00:35 编辑

论坛大佬多,不懂我就问问,关于网络全盘DD的原理+过程

假如我的VPS:(我举个特例,为了了解原理)
1. 内存 1GB
2. 硬盘 5GB
3. 网络DD包 大小 2GB,解压后正好 5GB

请问这种情况,DD的过程是?
方式一:把 5GB 硬盘分成2个区?DD包 下载到第2个分区 占用2GB,然后全盘 DD 第1个分区,之后删掉第2分区,合并到第1分区? - 问题是分区1只剩 3GB,不够 DD 解压后的 5GB 啊?
= 已验证,这个猜想不成立


方式二:5GB 硬盘只有1个分区,一边下 DD包 到内存,一边往这个分区里 DD 解压+写入? - 压缩包没下完整也可以这么实现吗?跟 MP4 分片一样?

请吊大的解答下,感谢!




总结:

1. DD的过程,是一边下载gz压缩包,一边在内存里解压,并同时写入硬盘

2. 内存大小
- 只要能运行就行,并不需要大于DD镜像大小

3. 硬盘大小
- 尽量大于等于DD镜像解压后的大小
- 也可以只大于DD镜像解压后实际占用的大小(有概率失败)



实践是检验真理的唯一标准,上 VMware 虚拟机:





看到这结果我彻底懵逼,求大佬们解答下
推荐
发表于 2022-3-17 22:58:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
推荐
发表于 2022-3-19 19:16:53 | 只看该作者
本帖最后由 HOH 于 2022-3-19 19:20 编辑

第一种,是发行版的live/netinst系统,解压到硬盘上之后,引导启动自动安装,linux一般用这种
第二种,是那种vhd的,这种才叫dd,直接复写进块设备里,包括分区表mbr什么的,windows一般用这种

你说的一般是从管道里直接写进硬盘,管道里有缓冲区在内存里,这个大小是内核配置的,所以不用写进硬盘上,就没有你说的空间不足的问题

那一个写脚本的,也就是个泥瓦匠罢了,你问他底层东西你还想得到答案?

点评

一键DD,,本质就是调用wget+dd的管道,你的理解又长又可笑。 你笑别人是泥瓦匠,别人不讲原理是不屑于讲,你看下你有多蠢  发表于 2022-3-19 23:49
我看你是天下第一装。实践出来的都不算什么,,你这一套一套自己没作品在这意Y的,,算个JB  发表于 2022-3-19 23:27
推荐
发表于 2022-3-19 23:24:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
推荐
发表于 2022-3-17 23:42:12 来自手机 | 只看该作者
都是你自己想象的,DD类似ghost全盘覆盖。
推荐
发表于 2022-3-17 23:39:55 来自手机 | 只看该作者
边下载边解压边写入。
推荐
发表于 2022-3-17 23:21:48 | 只看该作者
楼主您好,按我已有的操作经验来的答:

a. 我们常做的dd系统,是将一个磁盘的从头到尾覆盖。操作的对象是磁盘,不是分区,一般是要求目标磁盘的容量要大于(或等于)dd镜像释放后的容量
b. 应该是,边下载边dd的吧
26#
发表于 2022-3-21 13:01:16 | 只看该作者
5K哥最在行!但是他
24#
 楼主| 发表于 2022-3-20 00:06:36 | 只看该作者
机长 发表于 2022-3-17 23:42
都是你自己想象的,DD类似ghost全盘覆盖。

DD 全盘 类似 Ghost 我明白。

我不太明白,DD 和 Ghost 的区别。

Ghost 镜像需要放在其它盘,DD时候只有一个盘啊。
23#
 楼主| 发表于 2022-3-20 00:04:29 | 只看该作者
MoeWang 发表于 2022-3-19 23:57
看起来是这样的,结合大佬们的总结以及文档,大概已经懂了

嗯,我把我测试的结果贴上来了,很玄幻
22#
发表于 2022-3-19 23:57:14 | 只看该作者
HardDisker 发表于 2022-3-19 23:49
貌似是在内存里一边下载一边解压,我在路由器后台看到网络传输DD包500M左右后停止了一会,又开始传输 ...

看起来是这样的,结合大佬们的总结以及文档,大概已经懂了
21#
 楼主| 发表于 2022-3-19 23:49:04 | 只看该作者
MoeWang 发表于 2022-3-19 23:27
我前几天也有这个疑问,哈哈,有点类似c语言里的变量交换,说通白点就是,两个杯子交换里面的水,是需要第 ...

貌似是在内存里一边下载一边解压,我在路由器后台看到网络传输DD包500M左右后停止了一会,又开始传输
20#
发表于 2022-3-19 23:27:29 | 只看该作者
我前几天也有这个疑问,哈哈,有点类似c语言里的变量交换,说通白点就是,两个杯子交换里面的水,是需要第三个杯子的,但不知道dd是否可以做到两个杯子直接交换里面的水而不需要额外的空间(也就是第三个杯子),如果能的话搞不懂是怎么做到

点评

就是bash的管道。h2o那家伙JB都不懂,就喜欢搞一些词显得很专业。。。这骨子里多虚啊,不过他比那些晒房本的要好得多  发表于 2022-3-19 23:29
19#
发表于 2022-3-19 23:25:10 | 只看该作者
LiuJia 发表于 2022-3-17 23:21
楼主您好,按我已有的操作经验来的答:

a. 我们常做的dd系统,是将一个磁盘的从头到尾覆盖。操作的对象是 ...

大佬,我看有人dd win后,只有一个c盘,然后还有剩余的空间没分配,这种情况怎么处理,分区?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-21 22:38 , Processed in 0.074552 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表