系统克隆命令疑问

2022-12-07 14:34:02 +08:00
 linuxgo
最近折腾 pve 虚拟机,买了个大的 ssd 替换原来的硬盘,想用 dd 进行系统克隆,看介绍说 bs 用来指定块大小,块大小会影响到如何处理读错误。
想问下,两个硬盘都是固态硬盘,这个 bs 的值要怎么指定?就用 512 还是要用其他值?
用下面的命令是不是就可以了?克隆完的系统可以直接引导吗?
#dd if=/dev/sda1 of=/dev/sdb1 bs=512 conv=noerror,sync
1661 次点击
所在节点    Linux
13 条回复
lechain
2022-12-07 14:43:20 +08:00
遇事不决 rsync
churchmice
2022-12-07 14:47:01 +08:00
大小不一样的盘 dd 完了你还得修改分区表,不然大硬盘看着就跟小硬盘一样大了
eason1874
2022-12-07 14:51:09 +08:00
bs 是硬盘物理块大小(常见的都是 512 )的倍数就行,用啥都行,只是稍微影响速度,我都懒得测哪个值最优,直接 1M
linuxgo
2022-12-07 15:01:38 +08:00
@churchmice 那有什么办法克隆完就能正常用呢
linuxgo
2022-12-07 15:03:27 +08:00
@eason1874 ssd 一般都是 4K 对齐,这个是不是用 4K 最好呢
churchmice
2022-12-07 19:51:15 +08:00
@linuxgo dd 克隆是跳过文件系统的,方法也是有的
你先把大硬盘分区好,文件系统一般是放头上的,从 data 开始的 lba 开始 dd ,这需要你有一定的动手能力
等你这都折腾完了还不如直接 rsync 来的快
aru
2022-12-07 21:29:36 +08:00
用 1M 或者更大,512 字节会很慢
linuxgo
2022-12-07 21:59:12 +08:00
我考虑了下,其实下个 winpe 的 iso ,写到 u 盘上启动电脑再用 ghost 对两个硬盘对拷应该更方便
msg7086
2022-12-08 03:24:25 +08:00
无脑 bs=128M 都行。bs 超过 1M 问题都不大。
改分区表也简单,有工具的,resize 一下就行。
别忘记 dd 引导就行。

读错误不是你要考虑的问题,除非你 SSD 坏了,读不出数据。
iwantcomputer
2022-12-09 02:19:43 +08:00
pve 有没有做 LVM ?分区是 GPT 还是 MBR ?

如果直接 dd 确实会有分区大小的问题,d 完之后新盘显示的空间还是旧盘的大小,后面的部分是未分配状态。如果没有 LVM ,那要考虑一下新盘比旧盘大出来的部分,怎么加入到现有的分区 /文件系统中使用。
levenwindy
2022-12-10 00:17:56 +08:00
我是 tar 备份,新硬盘装上一样的 pve ,tar 解压出来,重启就一样了,单盘没分区
linuxgo
2023-01-01 10:30:05 +08:00
今天把 64G 的硬盘成功换成了 1T ,先用 dd 把小硬盘整个克隆到大硬盘上,然后按照这个文章写的修改分区大小就可以了
https://help.mikrotik.com/docs/display/ROS/RouterOS
linuxgo
2023-01-01 10:37:53 +08:00
说错了,我是用的 winpe 启动电脑进行的硬盘克隆,然后用新硬盘引导进入系统后做的扩展

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX