ddrescue重建损坏磁盘

原创 2011年01月24日 22:25:00

比较古老的硬盘,经常会出现读取错误。用DDRESCUE备份毁坏磁盘,然后尝试修复备份。

dd_rescue的好处

想象一下, 你的某个分区失效, 存在一些硬错误, 你不会想继续写所有数据到这块硬盘. 这时候需要把上面数据拷贝出来. 然而, 通常情况下, 你不能访问文件, 因为文件系统已损坏.

目前, 你可能会拷贝整个分区到一个文件, 或烧入到一个CD-Rom, 这样将不再丢失所有数据. 你也能创建一个loop设备, 使用fsck修复损坏的分区, 然后访问上面的数据.

在Un*x系统上使用cat或dd拷贝损坏分区将会失败, 因为他们遇见错误后会终止拷贝. 而dd_rescue将尝试从坏扇区读出数据, 然后继续下面的扇区. 输出文件(output file)会存在有一些错误. 你能通过写入日志文件看到这些错误的位置.

当遇见错误的时候, dd_rescue的数据丢失率是非常低的. 如果你终止当前拷贝, 你不会丢失所有数据. 可在所有地方继续. 输出文件将不断被填充, 而不像其他Un*x工具会有截端.

如果你的分区有一个坏扇区, 你能考虑从两边拷贝, 这将是个不错的主意.两个块大小是个不错的优化, 更大的块将有更好的优化效果. 不过在硬盘发生错误的情况下, 你想恢复的是每个扇区上的数据. 所以harbs最佳设置成硬件扇区大小(通常是512字节), softbs数值会大一些, 缺省是16K.

在Debian上安装dd_rescue

运行下面命令安装ddrescue

#apt-get install ddrescue

在Ubuntu上安装ddrescue

sudo apt-get install ddrescue

ddrescue的语法

dd_rescue [options] infile outfile

目前我们将看到怎么使用ddrescue在损坏硬盘上恢复数据

如果你有一块损坏的硬盘/dev/sda1和一块没有所有数据的硬盘/dev/sda2. 目前如果你想把数据从/dev/sda1拷贝到/dev/sda2上, 运行下面命令:

# dd_rescue /dev/sda1 /dev/sda2/backup.img

如果你使用ubuntu linux, 运行下面命令(拷贝sda1所有数据到sda2):

sudo dd_rescue /dev/sda1 /dev/sda2/backup.img

目前你需要检查备份(拷贝)数据的连续性:

#fsck -y /dev/sda2/backup.img

如果你使用ubuntu linux, 运行下面命令:

sudo fsck -y /dev/sda2/backup.img

检查完后, 从加载映像文件到本地的recoverydata分区:

#mount /dev/sda2/backup.img /mnt/recoverydata

如果你使用ubuntu linux, 运行下面命令:

sudo mount /dev/sda2/backup.img /mnt/recoverydata

你将能通过加载的分区(/mnt/recoverydata)访问映像文件(backup.img)上的数据, 然后检查是否有所有问题.

恢复映像

如果你想恢复映像到损坏的硬盘, 运行下面命令:

#dd_rescue /dev/sda2/backup.img /dev/sda1

如果你使用ubuntu linux, 运行下面命令:

sudo dd_rescue /dev/sda2/backup.img /dev/sda1

使用SSH拷贝磁盘映像到远程机器上

如果你想通过ssh拷贝磁盘映像到远程机器上, 运行下面命令:

#dd_rescue /dev/sda1 - | ssh username@machineip ‘cat /datarecovery/backup.img’

如果你使用ubuntu linux, 运行下面命令:

sudo dd_rescue /dev/sda1 - | ssh username@machineip ‘cat /datarecovery/backup.img’

然后会显示用户口令输入提示, 输入指定用户的口令, 然后dd_rescue开始拷贝, 结束后通过网络拷贝到远程机器上.

可能的错误

如果你在拷贝中遇见下面错误可忽略:

dd_rescue: (warning): output file is not seekable!
dd_rescue: (warning): Illegal seek

如果你需要压缩磁盘映像文件, 运行下面命令:

#tar zcvf - /dev/sda1 | ssh username@machineip ‘cat@@>/tmp /datarecovery/backup.tar.gz’

如果你使用ubuntu linux, 运行下面命令:

sudo tar zcvf - /dev/sda1 | ssh username@machineip ‘cat@@>/tmp /datarecovery/backup.tar.gz’

下载地址:

ftp://mirror.yongbok.net/gnu/ddrescue/ddrescue-1.14.tar.gz

ftp://mirror.yongbok.net/gnu/ddrescue/ddrescue-1.14.tar.gz.sig

ftp://mirror.yongbok.net/gnu/ddrescue/ddrescue-1.14.tar.lz

ftp://mirror.yongbok.net/gnu/ddrescue/ddrescue-1.14.tar.lz.sig

本文由风信网络提供 http://www.ithov.com 欢迎免费转载,转载时请保留该信息,谢谢合作!

重建表决磁盘和OCR文件

在没有备份的情况下,重建表决磁盘和OCR文件,创建成功后可以通过SRVCTL工具 重新添加资源到OCR中,下面以两节点RAC为例 1)再节点1执行如下命令清空clusterware的配置信...
  • huangliang0703
  • huangliang0703
  • 2015年04月01日 20:32
  • 1028

移动硬盘提示磁盘结构损坏且无法读取怎么办

移动硬盘出现“磁盘结构损坏且无法读取”,1、突然关机;2、硬盘没有正常通过系统卸载;3、病毒破坏;4、有可能是usb供电不足;5、也可能是文件丢失;6、还可能是盘片损坏。      ...
  • lien0906
  • lien0906
  • 2017年06月11日 19:46
  • 1626

一次Linux磁盘损坏导致系统不可用恢复实例

一次Linux磁盘损坏导致系统不可用恢复实例 (1)/dev/sda3:File …(inode #139928,mod time Thu May 28 03:28:11 2015) Has 1...
  • ljunjie82
  • ljunjie82
  • 2015年07月11日 17:38
  • 1366

文件系统损坏的修复过程

最近碰到两次在做扩卷等操作时整个卷数据损坏丢失的情况,有必要记录下问题的处理过程。 如果你是晚班,遇到这种情况,突然一个卷不见了,你先做好下面两件事。 1 记录好你之前所有的操作命令,用以判断...
  • fishriver
  • fishriver
  • 2014年03月04日 16:58
  • 4433

如何恢复损坏的表决磁盘(votedisk)和OCR

今天是2014-03-28,继续写RAC的内容,今天写的是如何恢复损坏的表决磁盘(votedisk)和OCR。  首先查看目前状态: [root@rac-two bin]# ./ocrcheck ...
  • xiaohai20102010
  • xiaohai20102010
  • 2014年03月28日 00:32
  • 1502

Hadoop集群硬盘故障分析与自动化修复

硬盘在服务器中起着至关重要的作用,对于硬盘的管理是IAAS部门的责任,但作为业务运维也需要懂得相关的技术。 可以采用LVM或裸盘来管理硬盘,用裸盘的好处是节省了硬盘I/O速度。需要根据不同的场景采用...
  • ebay
  • ebay
  • 2015年08月11日 15:10
  • 2111

有备份的情况下重建ocr磁盘

有备份的情况下重建ocr磁盘    转载自http://blog.csdn.net/tianlesoftware/archive/2010/12/02/6050606.aspx 一、通过i...
  • huoshuyinhua
  • huoshuyinhua
  • 2016年05月09日 17:45
  • 223

控制文件损坏重建

SQL> startup  ORACLE instance started. Total System Global Area 5010685952 bytes Fixed Size  ...
  • lmocm
  • lmocm
  • 2017年04月25日 16:48
  • 179

RAID5崩溃数据丢失的解决方案

第一部分:数据恢复方案 【用户单位】某医药公司 【故障描述】     IBM X3850服务器,5块73G SAS硬盘,其中4块组成一个RAID5,另一块做为热备盘(Hot-Spare),3号盘...
  • beiya123
  • beiya123
  • 2017年03月10日 13:32
  • 800

ASM磁盘头信息损坏和修复(kfed/dd)

KFED主要用来编辑和修复ASM metadata,可以在DiskGroup没有mount的情况下使用;因此在ASM无法启动、DiskGroup无法mount的时候可以尝试使用这个神器来修复。 k...
  • zhengwei125
  • zhengwei125
  • 2016年03月09日 16:20
  • 2462
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ddrescue重建损坏磁盘
举报原因:
原因补充:

(最多只允许输入30个字)