Dmesg는 "복구되지 않은 읽기 오류"를 많이 보고하지만 rsync는 정상적으로 복제됩니다. 왜?

Dmesg는 "복구되지 않은 읽기 오류"를 많이 보고하지만 rsync는 정상적으로 복제됩니다. 왜?

나는 상당히 귀중한 데이터(잃어버린 경우 세상의 종말이 아니라 가지고 있으면 좋은)를 여러 개의 오래된 HDD에서 보다 안정적인 스토리지를 갖춘 새 NAS로 복사해 왔습니다.

읽는 동안 출력에 다음과 같은 많은 오류가 발생합니다(디스크가 꽤 오래되었기 때문에 완전히 예상치 못한 것은 아닙니다) dmesg.

[88577.880874] sd 38:0:0:0: [sdh] tag#5 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=3s
[88577.880889] sd 38:0:0:0: [sdh] tag#5 Sense Key : Medium Error [current] 
[88577.880893] sd 38:0:0:0: [sdh] tag#5 Add. Sense: Unrecovered read error
[88577.880897] sd 38:0:0:0: [sdh] tag#5 CDB: Read(10) 28 00 54 25 88 8f 00 02 00 00
[88577.880900] critical medium error, dev sdh, sector 1411745935 op 0x0:(READ) flags 0x80700 phys_seg 64 prio class 2

내가 읽은 모든 것에서 이것은 디스크가 잘 작동하지 않는다는 것을 나타내며 나는 그것에 대해 크게 걱정하지 않습니다.

그러나 놀랍게도 rsync데이터를 복사하는 데 사용하는 데이터(주로 디스크 이미지, ISO 등과 같은 대용량 파일)는 대부분의 오류를 보고하지 않는 것 같습니다.

현재 rsync통화는 한 시간 넘게 진행되었습니다. 나는 당시 그곳에 있었지만 2개의 I/O 오류 dmesgrsync보고되었습니다.

$ rsync -rlt --no-i-r --info=progress2 /mnt/olddisk/somedir /mnt/target
 47,316,611,088   5%   34.36MB/s    0:21:53 (xfr#26, to-chk=754/787)
rsync: [sender] read errors mapping "/mnt/oldisk/somedir/dir1/chunkyfile1.bin": Input/output error (5)
148,137,878,449  15%   49.70MB/s    0:47:22 (xfr#46, to-chk=734/787)
rsync: [sender] read errors mapping "/mnt/olddisk/somedir/dir2/chunkyfile2.bin": Input/output error (5)
206,615,147,043  22%   55.38MB/s    3:32:44  xfr#61, to-chk=719/787)

내가 알고 싶은 것은 "복구되지 않은" 오류와 "중요한" 오류가 어떻게든 수정되었는가입니다. 그들은 다시 시도해서 성공했는가? 커널은 rsyncI/O 오류가 발생했다는 사실을 받아들이면서 자동으로 불량/손상/빈 읽기 결과를 반환합니까?

내가 아는 한, 소스 드라이브와 상호 작용하는 다른 프로세스는 없습니다.

원본 디스크가 지루한 오래된 ext4로 포맷되어 있어서 해당 데이터에 오류 수정 코드가 내장되어 있지 않은 것 같습니다.

디스크가 외부 SATA 도크를 통해 연결되고 USB를 통해 연결되어도 문제가 됩니까? 이것이 문제의 원인일 수 있다는 것을 알고 있지만 오류에 "중간 오류"가 구체적으로 언급되어 있다는 점을 고려하면 나머지 시스템과의 통신보다는 디스크에서 실제로 진행되는 작업과 관련이 있는 것으로 의심됩니다.

답변1

일부 읽기가 다시 시도되었을 수 있습니다. 이는 여러 수준의 소프트웨어에서 수행될 수 있습니다. 한 가지 더: 미리 읽기입니다. 커널은 실제로 필요한 것보다 더 많은 정보를 요청할 수 있으므로 오류가 보고되고 잊어버릴 수 있습니다. 그리고 캐시가 후속 요청을 충족할 수 없으므로 읽기가 다시 수행됩니다. (게다가 디스크 자체가 요청한 것보다 더 많은 데이터를 읽을 수 있습니까? 아니면 온전성 검사를 수행하여 커널에 보고할 수 있습니까?)

관련 정보