Korea FreeBSD Users Group News, Internal, Projects, Home
Software, Support, Documentation

Re: [KFUG] (READ_DMA retrying..)



[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ] [ °Ë»ö]

[ÀÌÀü ±Û] [´ÙÀ½ ±Û] [ÀÌÀü ´ñ±Û] [´ÙÀ½ ´ñ±Û]


Pyun YongHyeon 쓴 글:

> On Wed, Mar 24, 2004 at 10:00:21AM +0900, blueruin wrote:
>  > Pyun YongHyeon 쓴 글:
>  > >  > 
>  > >  > 궁금한건
>  > >  > 1. 저것이 배드섹터등의 하드디스크 오류가 확실한가?
>  > > 
>  > > 네. fsck(8)의 'CANNOT READ BLK' 메세지에 의하면 맞습니다.
>  > > 
>  > >  > 2. 저 디스크의 자료를 읽을수(백업할수)있도록 마운트 하려면 어떻게 해야하는가?
>  > >  > 입니다.
>  > >  > 
>  > > 대부분의경우 read-only로 mount는 가능합니다. 디스크가 /data에 mount된다면
>  > > 
>  > > #mount -o ro /data
>  > > 후에 필요한 파일을 백업하면 됩니다.
>  > > 
>  > 
>  > 마운트는 가능한데 파일읽는도중 READ_DMA 에러가 발생합니다.
>  > 근데 배드섹터라면 일부분의 파일만 이상이 있어야 하는데 하드전체(200G)에 걸쳐
>  > 대부분의 파일이 그렇습니다.
>  > 단단히 걸린걸까요? -_-;
>  > 
> 대부분의 파일이 그렇다는건 어떻게 확인한건가요?
> 파일시스템의 inode-list부분이 손상을 받으면 해당 inode가 가리키는
> 모든 파일이 손상된것처럼 보입니다만 실제로는 손상된 부분은 몇몇
> block에 불과할 수도 있습니다.
> 

대부분의 파일그렇다는건 대부분의 파일을 read 할 수 없다는것이었습니다.
몇몇block 에 불과할수 있다는 문구가 위안이 됩니다 ...

>  > >  > bsdforums.org 중 비슷한 증상의 글을 읽어보니 배드섹터라는 답글이 있는데
>  > >  > 근 4~5년동안 요즘하드디스크에서 배드나는건 처음겪어봅니다 :(
>  > >  > 
>  > > 보통은 정전이나 순간정전으로 인한 하드디스크의 헤드가 디스크의 플레터를
>  > > 손상시키는 경우가 대부분입니다.(그러니까 sync가 되지 않은상태에서 절대
>  > > reset 버튼을 누르면 않됩니다.)
>  > > 위의 fsck메세지로 봐서는 super block이 손상된것 같습니다. 파일
>  > > 시스템이 UFS1을 사용하는지 아니면 UFS2를 사용하는지 먼저 알아야 합니다.
>  > > UFS1이라면 alternate super block이 block 32에 위치합니다만 UFS2라면
>  > > block 160에 위치합니다.
>  > > alternate super block의 위치는 newfs로 확인가능합니다.
>  > > <For UFS1>
>  > > #newfs -N -O1 /dev/ad2s1d
>  > > <For UFS2>
>  > > #newfs -N -O2 /dev/ad2s1d
>  > > 위의 명령으로 newfs에서 alternate super block을 표시했을 겁니다.
>  > > 
>  > 
>  > 네 UFS2같습니다.
>  > 
>  > > UFS2라면 다음과 같이 하면 fsck를 수행할 수 있습니다.
>  > > #fsck_ffs -b 160 /dev/as2s1d
>  > > 
>  > 
>  > 이것조차 정상수행이 안되네요.
>  > 4번째 시도해서 마지막에 종료되었다는 메세지를 봤습니다.
>  > 하지만 역시 무엇을 수정했는지 모를정도로 똑같습니다 (__)
>  > 
> 무엇이 똑 같다는 말씀인가요?
> fsck_ffs(8)가 inode-list block에 대한 'CANNOT READ BLK'을 표시하면
> 치유가 불가능합니다. fsck_ffs(8)의 화면을 볼수있을까요?(serial
> cable이 있으면 쉽게 받을 수 있습니다.)

약 4번정도 fsck_ffs 를 실행했는데 3번은 중간에 에러메시를 출력하면서 리붓팅되
거나 시스템이 멈춰버렸습니다.
마지막에 한번 성공을 했는데(약 4시간정도 소요) 다시 파일을 읽으려니 read 가 안
되고 READ_DMA 에러를 내었고요.
fsck_ffs 의 주요내용은 "CANNOT READ BLK" 가 맞는것 같습니다.
정확히 말하면 CANNOT 은 아니고 다음과 같은 메시지가 계속 반복됩니다.
dmesg 에도 한차례나오고요.

TIMEOUT - READ_DMA retrying (2 retries left) LBA=...
WARNING - READ_DMA interrupt was seend but imeout fired LBA=..
FAILURE - READ_DMA status=51<READY,DSC,ERROR> error=40<UNCORRECTABLE> LBA=...

치유가 불가능한것일까요?

그리고 serial cable 은 어떤것인가요?
FX케이블을 말씀하시는건가요? 사용방법을 가르쳐주시면 시도해보겠습니다.

여기까지 쓰고 마지막으로 다시 힘을내서 fsck_ffs 결과를 그대로 올려드릴려고 (실
시간 타이핑이라도..) 돌렸더니 이제 아래메시지 (giving up on 90 buffers..) 를
내면서 바로 재부팅되버립니다.
다시 시도해도 마찬가지네요.

>  > 
>  > > 정상적으로 수정이 완료되면 이제 super block을 alternate super block
>  > > 의 내용으로 update하면 됩니다.(original super block은 이미 망가졌기
>  > > 때문에)
>  > > 
>  > > <For UFS1>
>  > > #dd if=/dev/ad2s1c skip=16 of=/dd_save.ufs1 bs=512 count=16
>  > > #dd if=/dev/ad2s1c skip=32 of=/dev/ad2s1c seek=16 bs=512 count=16
>  > > 
>  > > <For UFS2>
>  > > #dd if=/dev/ad2s1c skip=128 of=/dd_save.ufs2 bs=512 count=16
>  > > #dd if=/dev/ad2s1c skip=160 of=/dev/ad2s1c seek=128 bs=512 count=16
>  > > 위의 내용은 제가 시험해볼 수 없는것이라 혹시 잘못되더라도 제게
>  > > 손해배상이나 비난을 말아 주세요.
>  > > 
>  > > 또한 bad block이 파일시스템의 inode list가 아닌 data block에 있다면
>  > > badsect(8)를 이용해서 이를 수정할 수도 있습니다만 fsck_ffs(8)가
>  > > 먼저선행되어야 하겠습니다.
>  > > badsect(8)에 대해서 알고싶다면 다시 문의하세요.
>  > > 
>  > 
>  > 지금상황은 하드가 완전 맛이 갔나봅니다.
>  > 하드에서 드륵드륵 끼륵끼륵 하는 소리가 심하게 들립니다.
>  > 부팅할때 하드를 올려놓을때 오류가 발생하고
>  > 겨우 readonly 마운트는 되지만 파일하나 못읽고 있습니다.
>  > 대부분의 디렉토리에서 ls조차 되지 않으니...
> 
> inode-list block이 손상되면 ls는 아무것도 할 수가 없습니다.
> 
>  > 결국 다음과 같은 메세지를 출력하고 리붓합니다.
>  > 
>  > ...
>  > Fatal trap 12: page fault while in kernel mode
>  > cpuid = 0; apic id = 00
>  > fault virtual address = 0x6a
>  > fault code            = supervisor read, page not present
>  > ..
>  > ..
>  > panic: page fault
>  > 
>  > syncing disks, buffers remaining.... 109 109 109 109 109 109 109 109 109 109
>  > ad0: WARNING - WRITE_DMA interrupt was seend ut timeout fired LBA=8523315
>  > 109 109 109 109 109
>  > giving up on 90 buffers
>  > Uptime: 5m12s
>  > Automatic reboot in 15 seconds - press a key on the console to abort
>  > --> Press a key on the console to reboot,
>  > --> or switch off the system no.
>  > 
>  > 
>  > 이거 정말 길이 없단말일까요 ㅠㅠ
>  > 아.. 정말 중요한 자료들 많이 들었는데..
>  > 지푸라기라도 잡고싶은 심정입니다 ..
>  > 
> 중요한 데이터라면 디스크 복구를 전문으로하는 회사가 용산에 있는걸로
> 알고 있습니다. 이경우 별도의 장비를 이용해서 기존 디스크의 데이터를
> 최대한 읽어서 복구하고 데이터를 복구할 확률이 상대적으로 높습니다. 
> (이작업후 디스크는 물리적인 손상으로 더이상 사용못하고 교환이
> 불가능합니다.)
> 
> 위의 증상으로는 super block과 몇몇 inode-list block이 같이 손상된것
> 으로 보입니다. super block은 쉽게 복구가 가능하지만(super block은
> backup이 여러개 존재합니다.) inode-list block의 경우는 수동으로
> 해당하는 파일을 찾아서 fsdb(8)로 파일을 만들어야 하는데 시간도 많이
> 걸리고 text파일이 아닌 binary일경우  성공한다는 보장을 할 수 없습니다.

네 안그래도 복구업체에 견적을 의뢰했는데 하드디스크재구입비용까지 하면 100만원
가량 나올것 같습니다.
자료가 중요하긴 합니다만 100만원이 현금으로 나간다고 하니 좀더 고려해봐야할것
같습니다.
걱정되는것은 이미 물리적으로 손상이 많이 된것같아(하드긁는소리가 심한걸로 봐
서) 복구업체에서도 복구가 될런지 모르겠습니다..
암튼 복구업체에 맡기지 않는다면 제가 더할수 있는 방법이 무엇이 있을까요?
전부는 아니더라도 일부라도 살리고 싶습니다.

-- 
blueruin (at) netffice.com
icq#58016695
_______________________________________________
한국 FreeBSD 사용자 그룹(KFUG) questions 메일링 리스트
questions at kr.FreeBSD.org
http://www.kr.FreeBSD.org/mailman/listinfo/questions


[ ³¯Â¥¼ø »öÀÎ ] [ ´ñ±Û¼ø »öÀÎ ] [ ÃÖ»óÀ§ »öÀÎ] [ °Ë»ö]

Copyright © 1998-2005 Korea FreeBSD Users Group.
All rights reserved. webmaster at kr.FreeBSD.org
$Date: 2004/03/25 03:38:13 $
Powered by FreeBSD