Re: Disk problems - hard error reading fsbn NNNNNNNN (Bullet dodged)

2004-12-06 Thread Matt Navarre
Matt Navarre wrote:
After a power outage last night I rebooted my computer and  fsck 
complained of the following :

ad1s2e: hard error reading fsbn 5103776  (ad1s2 bn 5103776; cn 317 tn 
177 sn 20) status=59 error=40

Then goes on for a while giving the same error on blocks 5103776 - 
5103807, except for block 5103777 which has error=01.

Does this mean the disk is failing, or can I just reformat? And what's 
the best way to recover any recoverable data from that slice? 
Unfortunately I don't have a recent backup, since my tape drive joined 
the choir invisible a while ago and I haven't had a chance to replace it.
I seem to have recovered all the data from the failing disk, just for 
posterity here's what worked for me.

First you need two things: A new hard disk and a FreeSBIE CD. Install 
the new harddisk and boot from the FreeSBIE cd. Then you need to make a 
filesystem on the new disk (see the Handbook for the Magic Spells, 
there's no /stand/sysinstall on the FreeSBIE cd). Mount the new disk. If 
your damaged drive has data on other slices that don't have errors mount 
them and recover the data. I used  cd /mnt/ufs.2; find ./ -xdev -print0 
| cpio -pa0V /mnt/ufs.1/gooddata.

Now, on to the damaged sectors, how to recover the data? dd stops when 
it hits bad blocks, so we can't use that to copy the slice. same with 
dump(8) as far as I can tell. So. Download dd_rescue from
http://www.garlof.de/kurt/linux/ddrescue/

Version 1.10 compiled and worked out of the box. No need to install it, 
just run it from the build folder:

./dd_rescue /dev/ad1s2e /mnt/ufs.1/ad1s2e.img
Wait. a long time. keep in mind that the slice you are writing to needs 
to be big enough to hold an image of the *entire* slice you are copying.

once dd_rescue finishes we're left with a (hopefully) usable image of 
the bad slice. Now we need to use it.

see the handbook entry on Network, Memory and File-Backed File systems:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/disks-virtual.html
Here's the basic quick and dirty:
mdonfig -a -t vnode -f /mnt/ufs.1/ad1s2e.img -u 6 #change 6 to an unused 
/mnt/md#, freesbie mounts it's filesystems on md[0-5] on my cd.
fsck_ffs /dev/md6
mount /dev/md6 /mnt/ufs.3

Now you should be able to get the data off the image and on to a real 
filesystem. You can check your data with ls -lR  ls.out on the image 
and the directory where your now hopefully rescued data is and diffing 
the output. I saw differences in dates on directories, so if that's a 
concern there's probably a better way to move the data than find/cpio.

Now I need to come up with a real backup scheme. This one has proved 
suboptimal.

Matt
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Disk problems - hard error reading fsbn NNNNNNNN (Bullet dodged)

2004-12-06 Thread Lowell Gilbert
Matt Navarre [EMAIL PROTECTED] writes:

 Now, on to the damaged sectors, how to recover the data? dd stops when
 it hits bad blocks, so we can't use that to copy the slice. same with
 dump(8) as far as I can tell. So. Download dd_rescue from
 http://www.garlof.de/kurt/linux/ddrescue/

Just out of interest: how is that different than dd conv=noerror?
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Disk problems - hard error reading fsbn NNNNNNNN (Bullet dodged)

2004-12-06 Thread Matt Navarre
Matt Navarre wrote:
Matt Navarre wrote:
After a power outage last night I rebooted my computer and  fsck 
complained of the following :

ad1s2e: hard error reading fsbn 5103776  (ad1s2 bn 5103776; cn 317 tn 
177 sn 20) status=59 error=40

Then goes on for a while giving the same error on blocks 5103776 - 
5103807, except for block 5103777 which has error=01.

Does this mean the disk is failing, or can I just reformat? And 
what's the best way to recover any recoverable data from that slice? 
Unfortunately I don't have a recent backup, since my tape drive 
joined the choir invisible a while ago and I haven't had a chance to 
replace it.

I seem to have recovered all the data from the failing disk, just for 
posterity here's what worked for me.

First you need two things: A new hard disk and a FreeSBIE CD. Install 
the new harddisk and boot from the FreeSBIE cd. Then you need to make 
a filesystem on the new disk (see the Handbook for the Magic Spells, 
there's no /stand/sysinstall on the FreeSBIE cd). Mount the new disk. 
If your damaged drive has data on other slices that don't have errors 
mount them and recover the data. I used  cd /mnt/ufs.2; find ./ -xdev 
-print0 | cpio -pa0V /mnt/ufs.1/gooddata.

Now, on to the damaged sectors, how to recover the data? dd stops when 
it hits bad blocks, so we can't use that to copy the slice. same with 
dump(8) as far as I can tell. So. Download dd_rescue from
http://www.garlof.de/kurt/linux/ddrescue/

Version 1.10 compiled and worked out of the box. No need to install 
it, just run it from the build folder:

./dd_rescue /dev/ad1s2e /mnt/ufs.1/ad1s2e.img
Wait. a long time. keep in mind that the slice you are writing to 
needs to be big enough to hold an image of the *entire* slice you are 
copying.

once dd_rescue finishes we're left with a (hopefully) usable image of 
the bad slice. Now we need to use it.

see the handbook entry on Network, Memory and File-Backed File systems:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/disks-virtual.html 

Here's the basic quick and dirty:
mdonfig -a -t vnode -f /mnt/ufs.1/ad1s2e.img -u 6 #change 6 to an 
unused /mnt/md#, freesbie mounts it's filesystems on md[0-5] on my cd.
fsck_ffs /dev/md6
mount /dev/md6 /mnt/ufs.3

Now you should be able to get the data off the image and on to a real 
filesystem. You can check your data with ls -lR  ls.out on the image 
and the directory where your now hopefully rescued data is and diffing 
the output. I saw differences in dates on directories, so if that's a 
concern there's probably a better way to move the data than find/cpio.

Now I need to come up with a real backup scheme. This one has 
proved suboptimal.

I forgot: Keep in mind that FreeBSD 5.x defaults to UFS2 and the 
downloadable FreeSBIE isos are 5.x. If your existing system is 4.X you 
won't be able to read the drive unless you give newfs(8) the -O 1 flag.

Matt
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to 
[EMAIL PROTECTED]

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Disk problems - hard error reading fsbn NNNNNNNN (Bullet dodged)

2004-12-06 Thread Matt Navarre
Lowell Gilbert wrote:
Matt Navarre [EMAIL PROTECTED] writes:
 

Now, on to the damaged sectors, how to recover the data? dd stops when
it hits bad blocks, so we can't use that to copy the slice. same with
dump(8) as far as I can tell. So. Download dd_rescue from
http://www.garlof.de/kurt/linux/ddrescue/
   

Just out of interest: how is that different than dd conv=noerror?
 

Huh, you learn something new every day. Actually dd_rescue looks closer 
to dd conv=noerror,sync since it replaces input errors with NULs. 

Anyway dd_rescue worked for me, tho I suspect that dd would have worked 
also, if I'd read the manpage closer. But, hey, Bad Disk + No Backups = 
Major Freakout Mode.
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]