DD 命令在 1.5TB 外部驱动器上运行超过 17 小时

DD 命令在 1.5TB 外部驱动器上运行超过 17 小时

我曾经用dd它来nohup擦除 1.5TB 的磁盘,但现在我无法获得进度反馈。因为已经过去了 17 个多小时,我很担心……

  • 我在卸载磁盘的情况下运行了该命令。
  • 该磁盘是通过外部 SATA 端口连接的外部备份。
  • Ubuntu 10.04

有关该过程的一些信息:

$ ps ax | grep dd
1469 ?        D     95:54 dd if=/dev/zero of=/dev/sde

$ ps -eo pid,comm,lstart,etime,time,args|grep dd
21469 dd              Mon Jun 22 17:36:07 2015    17:38:47 01:36:02 dd if=/dev/zero of=/dev/sde

我应该等待、重新启动系统或者做其他事情吗?

答案1

您没有指定块大小dd,因此它以 512 字节块写入。这就是它如此缓慢的原因。

  1. 附加运行dd到某个终端(例如使用雷普特)。这样,您将能够读取其标准输出。您可能必须使用sudo或任何其他方法以 root 身份运行它。

    $ ps aux | grep [d]d
    (take note of PID)
    $ reptyr PID_OF_DD
    
  2. 发送SIGUSR1dd— 它将报告进度,您将能够计算出驱动器中有多少已经归零。

    kill -s USR1 PID_OF_DD
    
  3. 您可以终止dd并再次运行它,这次指定块大小(例如,dd bs=4K对于 4K 块)和偏移量,以避免覆盖已经清零的空间。使用寻找参数跳过与dd书面报告一样多的数据。

    dd if=/dev/zero of=/dev/sde bs=4K seek=NUMBER_OF_4K_BLOCKS_ALREADY_ZEROED
    

如果您无法dd使用重新连接reptyr,但您记得在哪个目录中运行,那么您可以跳过步骤 1。然后在步骤 2 中,统计信息将被写入该目录中dd名为的文件中。nohup.out

答案2

您没有指定bs(例如bs=4k)参数。这会导致写入速度相当慢,对于 1.5TB 的数据来说,超过 17 小时并不意外。

编辑,(提供选项)回答问题:

  • 等待终将使你到达
  • 重启似乎反应过度
  • 您可以终止 dd 进程并使用 bs 参数重新启动它,但我不确定这是否会给您带来任何好处,这取决于当前操作的进展情况,这几乎是无法回答的。

相关内容