고장난 드라이브에서 데이터를 구출하세요

고장난 드라이브에서 데이터를 구출하세요

NW에 데이터로 가득 찬 6TB WD My Cloud가 있고 방금 12TB WD My Book을 구입하여 Rpi4에 연결하고 데이터를 12TB 드라이브로 이동하기 시작했으며 6TB는 백업용으로만 사용할 계획입니다.

rsync를 통해 데이터를 복사하는 동안 rsync가 단일 파일에서 멈춘 것을 발견했습니다. 로그를 확인한 후 기존 6TB 드라이브에서 몇 가지 문제를 발견했습니다. 문제가 발생하기 전에 이 드라이브(1.1TB)에서 꽤 큰 데이터 블록을 복사할 수 있었기 때문에 전체 드라이브가 즉시 죽는 것이 아니라 불량 섹터에 대해 이야기하고 있는 것 같습니다. 데이터에 대한 일관성 검사는 수행하지 않았지만 업무상 중요하지는 않습니다. 중요한 데이터를 백업해 뒀는데, 가능하다면 복원하고 싶어요. 6TB 드라이브는 현재 다음 단계를 알아낼 때까지 플러그가 뽑혀 있습니다.

앞으로 나아갈 몇 가지 방법이 있습니다.

  1. 가능한 한 많은 양을 12TB 드라이브에 복사하고 rsync가 복사할 수 없는 파일은 건너뛰도록 하세요.
  2. ddrescue를 통해 6TB 드라이브의 백업 이미지를 12TB까지 생성해 보았습니다(아마도 가장 긴 프로세스일 것입니다).
  3. 어떤 파일이 손상되었는지 확인하고 긴 ddrescue 프로세스가 그만한 가치가 있는지 결정하십시오(여기에서 일부 정보를 찾았지만 매우 지루한 프로세스인 것 같습니다).https://wiki.archlinux.org/index.php/Identify_damaging_files#Ext2,_ext3,_and_ext4)

이제 내 질문은 다음과 같습니다.

  1. rsync는 실제로 오류를 발생시키지 않고 개별 파일에 멈춰 있을 뿐이며 rsync에 해당 파일을 건너뛸 수 있는 방법이 있는지 확실하지 않습니다.
  2. ddrescue를 통해 이미지를 생성하는 경우 6TB 이미지를 12TB 드라이브에 넣은 다음 동일한 드라이브에 최대한 많이 복원해야 합니다. 이것이 얼마나 실현 가능한지 잘 모르겠습니다. ddrescue 이미지 생성에 필요한 것으로 가정합니다.영원히, 하지만 마운트된 이미지의 파일을 동일한 드라이브에 정상 속도로 복사할 수 있어야 합니다.
  3. 모든 파일을 읽고 전체를 읽을 수 없는 파일을 나열할 수 있는 도구가 있습니까? 나에게는 이것이 가장 시간을 절약해 주는 방법처럼 들린다.

참고용으로 내 6TB 하드 드라이브의 일부 로그:

WDMyCloud6TB:/shares/Public# smartctl -l selftest /dev/sda4 
smartctl 5.41 2011-06-09 r3365 [armv7l-linux-3.2.26] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%     28014         2321175776
# 2  Extended offline    Completed: read failure       90%     28013         2321175776
# 3  Short offline       Completed: read failure       90%     28011         2321175776
# 4  Short offline       Completed: read failure       90%     28011         2321175776
# 5  Short offline       Completed without error       00%         0         -
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR-K   188   188   051    -    444
  3 Spin_Up_Time            POS--K   189   188   021    -    9516
  4 Start_Stop_Count        -O--CK   073   073   000    -    27858
  5 Reallocated_Sector_Ct   PO--CK   200   200   140    -    0
  7 Seek_Error_Rate         -OSR-K   100   253   000    -    0
  9 Power_On_Hours          -O--CK   062   062   000    -    28014
 10 Spin_Retry_Count        -O--CK   100   100   000    -    0
 11 Calibration_Retry_Count -O--CK   100   253   000    -    0
 12 Power_Cycle_Count       -O--CK   100   100   000    -    31
192 Power-Off_Retract_Count -O--CK   200   200   000    -    17
193 Load_Cycle_Count        -O--CK   191   191   000    -    27882
194 Temperature_Celsius     -O---K   098   094   000    -    54
196 Reallocated_Event_Count -O--CK   200   200   000    -    0
197 Current_Pending_Sector  -O--CK   200   200   000    -    1
198 Offline_Uncorrectable   ----CK   100   253   000    -    0
199 UDMA_CRC_Error_Count    -O--CK   200   200   000    -    0
200 Multi_Zone_Error_Rate   ---R--   100   253   000    -    0
WDMyCloud6TB:~# sudo fsck -v /dev/sda4
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sda4: clean, 128425/182996992 files, 1254382471/1463951872 blocks

WDMyCloud6TB:~# e2fsck -nv -b 32768 /dev/sda4
e2fsck 1.42.5 (29-Jul-2012)
/dev/sda4 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Killed

관련 정보