Linux下如何克隆磁盘/分区命令dd入门

折腾服务器或者是专业的服务器运维都会遇到迁移数据或磁盘的情况。Linux下就提供了非常简单且强大的命令,它可以拯救即将损坏磁盘的数据、远程备份或者进行完整的分区拷贝。

岩兔站整理了一下命令的简单用法,与大家分享一下。

为什么使用dd

如果是复制或备份数据,可以使用或者命令,但是通常的文件复制仅限于在多台正常运行的linux系统之内。使用命令,可以做到字节对字节的复制,所以在正式开始操作之前,一定要注意拼写,因为一条错误的语句很可能会将整个系统毁掉。

注意:如果命令中包含,在执行之前一定要再次确认每一个字母,避免拼写出错。

基础语法

下面可以开始简单的试用一下命令。

复制磁盘

比如你想将磁盘完整的复制,首先需要准备一个新的磁盘空间,如:。使用命令时需要包含表示源磁盘,和表示目标磁盘。所以命令如下:

# dd if=/dev/sda of=/dev/sdb

创建img镜像

将分区创建为镜像,并存储于目录下

# dd if=/dev/sda of=/home/sdadisk.img

创建分区镜像

上述都是复制整个磁盘,如果只想复制某个分区,如:,也是完全没问题。

同时可以使用参数,规定一次拷贝的字节数,如:。合理使用参数可以优化执行速度,的合理范围要参考本机的性能进行具体设置。

# dd if=/dev/sda2 of=/home/partition2.img bs=4096

还原镜像

还原镜像也很简单,原理与创建镜像相同,只需颠倒和两个参数的内容即可,如:

ddif=sdadisk.img of=/dev/sdb

异地备份

可以通过与命令组合,进行异地服务器磁盘的备份。如将远端服务器1.2.3.4的磁盘备份至本地

# ssh username@1.2.3.4 "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

成功备份的磁盘要注意测试。如果是可引导磁盘可将其还原至新计算机,尝试是否能正常启用。如果是普通数据盘,挂载后能正常读取。

覆写磁盘

更换磁盘时,如果原磁盘包含有敏感数据,处理起来就要小心了,因为所有删除甚至格式化的内容都有可能使用技术手段进行还原。

有人说最妥善最简单的方法是用锤子抹盘。但这样做未免有点太浪费了,使用命令即可完全抹盘。

使用0填充整个硬盘:

# dd if=/dev/zero of=/dev/sda1

或者,使用随机数填充整个硬盘,效果更佳:

# dd if=/dev/urandom of=/dev/sda1

监视进程

根据磁盘大小,dd运行过程可能会耗时很长,如果想要在执行过程中查看进度,需要使用工具。

首先安装工具

Ubuntu/debian# sudo apt install pv或CentOS# sudo yum install pv

然后运行命令,效果如下

# dd if=/dev/urandom | pv | dd of=/dev/sda14,14MB:00:05[98kB/s][]

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180810A00BFE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券