|
News,
Internal,
Projects,
Home Software, Support, Documentation |
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 $ |
|