SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Unix Operating Systems > Solaris Operating System > Sun Solaris Administration

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-21-2008, 09:18 PM
Poul H. S.
 
Posts: n/a
Default SunFire V20z, SunOS 5.10, disc problem

Hi

I have a disk with a few bad blocks, and that should not be a big deal,
but as I have several ways to solve my problem, and none of them seems
very pleasingly to me, I would like your opinions...

Server:
HW: Sun Fire V20z
OS: Solaris 5.10 3/05
LSILogic disc volume (mirrored root)
Problem:
One side of mirror broke, the other side (the current) has
read errors on some blocks.
Notes: SunOS 5.10 3/05 is pre-GRUB

The normal solution would be to reinstall server and redeploy
application as the user data are on netapp/database-server, but I would
do a lot of work to avoid deploying this application...

Another fair solution would be to reinstall the server and restore
appliction - but we threw away our installer a bit too early, so we
would need to setup an installer for this purpose only, and that would
be a hazle!

I assume that we can't rebuild the mirror, because it has read-errors.

I assume fsck can't do the job, as the repairing needs to be done on the
physical disc and not on the virtual disc that solaris sees.



Now is time to ask for your qualified ideas?



And then I continue with my possible solution (please feel free to
interupt at any time):

I would boot from the net, perform dd to rescue the blocks, inclusive
Master Boot Record et al. and finally dd to a blank disk
(hopefully without errors). That ought to leave me with a bootable
system, of course with a few missing files, as they would fail to be
read from the corrupt disc, but that is only a few files, and they
could easily be recovered from backup.

Does this sound like a possible solution?

If so, I need some pointers to block sizes and starting points of
what to dd...


Hope that you can help me...

Thanks
Poul Sørensen
[email protected]

ps:
Here are some basics:

fdisk /dev/rdsk/c1t0d0p0
Total disk size is 8941 cylinders
Cylinder size is 16065 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
1 Active Solaris2 1 8940 8940 100

format:
0. c1t0d0 <DEFAULT cyl 8938 alt 2 hd 255 sec 63>
/pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0
Total disk cylinders available: 8938 + 2 (reserved cylinders)
Part Tag Flag Cylinders Size Blocks
0 root wm 515 - 1789 9.77GB (1275/0/0) 20482875
1 swap wu 1 - 514 3.94GB (514/0/0) 8257410
2 backup wm 0 - 8937 68.47GB (8938/0/0) 143588970
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 1790 - 3064 9.77GB (1275/0/0) 20482875
5 unassigned wm 3065 - 4977 14.65GB (1913/0/0) 30732345
6 unassigned wm 4978 - 8935 30.32GB (3958/0/0) 63585270
7 unassigned wm 8936 - 8937 15.69MB (2/0/0) 32130
8 boot wu 0 - 0 7.84MB (1/0/0) 16065
9 unassigned wm 0 0 (0/0/0) 0


And from our console log (something like):
Searching for device at HBA 0, ID 0, LUN 0
Drive 0 on adapter 0 is predicting a fture failure
The sense qualifer is 12h

HBA ID LUN VENDOR PRODUCT REV SYNC WIDE CAPACITY.
0 0 0 LSIL GIC 1030 IM. IM 1000 16 73547 MB.
0 7 0 LSILogic LSI1030[ 402] 1032920 320.0 16
LSI Logic Corp. MPT boot ROM successfully installed!