cancel
Showing results for 
Search instead for 
Did you mean: 

Fails to boot of mirrored rootdisk on SF480/Sol10 06.06/VxVM 5.0

Steffen_Soerens
Level 3
Hi

See details below and let me know if more would assist you in helping me!

Installing Storage Foundation 5.0 on Solaris 10 06/06 on a SF4x0. To encapsulate internal fiber disk I needed to follw this doc.

http://sunsolve.sun.com/search/document.do?assetkey=1-26-102613-1

otherwise orig. partition scheme gets lost.

After successfull encapsulation of rootdisk2, I used vxdiskadm to initialized and add the second internal disk rootdisk to rootdg as a sliced type and then mirrored rootdisk2 onto rootdisk. Only it seems not to be a alternate bootdisk, ie. it can't boot off rootdisk nor does it seem to hold partition sheme so it later might be unencapsulated if upgrading Storage Foundation.

Any clues or hints very appreciated!

Would it have been better to use vxrootmir to mirror rootdisk2 and if so howto prepare/add rootdisk to rootdg first?

mssE:/> /etc/vx/bin/vxrootmir -?
VxVM vxrootmir ERROR V-5-2-1481 Usage: /etc/vx/bin/vxrootmir

Does SF 5.0 have a problem finding your boot disk because of usage of other driver than maybe expected (sdd versus sd), given vxrootmir fails detect such and initial problem with encap of rootdisk2?

AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@9,600000/SUNW,qlc@2/fp@0,0/ssd@w2100000087153a41,0
1. c1t1d0
/pci@9,600000/SUNW,qlc@2/fp@0,0/ssd@w2100000c509c3355,0


mssE:/> prtvtoc -s /dev/rdsk/c1t1d0s2
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 0 8395200 8395199
1 3 00 8395200 4202688 12597887
2 5 00 0 143349312 143349311
3 7 00 12597888 4202688 16800575
4 15 01 143267904 81408 143349311
5 0 00 16800576 8395200 25195775
7 14 01 0 143349312 143349311
mssE:/> prtvtoc -s /dev/rdsk/c1t0d0s2
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
2 5 00 0 143349312 143349311
4 15 01 0 81408 81407
7 14 01 81408 143267904 143349311

mssE:/> vxprint -g rootdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg rootdg rootdg - - - - - -

dm rootdisk c1t0d0s2 - 143267904 - NOHOTUSE - -
dm rootdisk2 c1t1d0s2 - 143267904 - - - -

v opt gen ENABLED 8395200 - ACTIVE - -
pl opt-01 opt ENABLED 8395200 - ACTIVE - -
sd rootdisk2-03 opt-01 ENABLED 8395200 0 - - -
pl opt-02 opt ENABLED 8395200 - ACTIVE - -
sd rootdisk-04 opt-02 ENABLED 8395200 0 - - -

v rootvol2 root ENABLED 8395200 - ACTIVE - -
pl rootvol2-01 rootvol2 ENABLED 8395200 - ACTIVE - -
sd rootdisk2-B0 rootvol2-01 ENABLED 1 0 - - Block0
sd rootdisk2-02 rootvol2-01 ENABLED 8395199 1 - - -
pl rootvol2-02 rootvol2 ENABLED 8395200 - ACTIVE - -
sd rootdisk-01 rootvol2-02 ENABLED 8395200 0 - - -

v swapvol swap ENABLED 4202688 - ACTIVE - -
pl swapvol-01 swapvol ENABLED 4202688 - ACTIVE - -
sd rootdisk2-01 swapvol-01 ENABLED 4202688 0 - - -
pl swapvol-02 swapvol ENABLED 4202688 - ACTIVE - -
sd rootdisk-02 swapvol-02 ENABLED 4202688 0 - - -

v var fsgen ENABLED 4202688 - ACTIVE - -
pl var-01 var ENABLED 4202688 - ACTIVE - -
sd rootdisk2-04 var-01 ENABLED 4202688 0 - - -
pl var-02 var ENABLED 4202688 - ACTIVE - -
sd rootdisk-03 var-02 ENABLED 4202688 0 -
3 REPLIES 3

Volker_Hermin1
Level 4
You simply need to run /usr/lib/vxvm/bin/vxbootsetup. That will bring the VTOC in sync with the subdisks on your rootmirror. 10 points, please ;)

Rob_Wojtowicz
Not applicable
How I would fix this issue:


(Remove the rootdisk (change all to rootmirror if that is the bad one) from Veritas totally)
vxprint �htg rootdg (grep names of all plexes on disk and remove them)
vxplex �g rootdg �o rm �f dis rootvol-01
vxplex �g rootdg �o rm �f dis swapvol-01
(repeat for any volumes which have a plex on the suspect disk)
vxdg �g rootdg rmdisk rootdisk (use suspect disk name for rootdisk)
vxdisk rm c1t0d0s2 (remove disk from Veritas)
(Do the below if it is a 280/480/880 with Fiber attached disks)
(luxadm remove_device �F /dev/rdsk/c1t0d0s2)
(ignore error messages, you do not have to remove disk unless you know )
(it is failed)
devfsadm �C �c disk
format (to check)
(label the disk as also mentioned previously)
prtvtoc /dev/rdsk/c1t0d0s2 > /tmp/foo
vi /tmp/foo (remove all slices except for slice 2)
( list contents of /tmp/foo - should look similar to the following):

# cat /tmp/foo
* /dev/rdsk/c1t0d0s2 partition map
*
* Dimensions:
* 512 bytes/sector
* 107 sectors/track
* 27 tracks/cylinder
* 2889 sectors/cylinder
* 24622 cylinders
* 24620 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* Unallocated space:
* First Sector Last
* Sector Count Sector
* 0 2889 2888
* 18813168 4276159906 5777
* 18813168 4276159906 5777
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
2 5 00 0 71127180 71127179
fmthard �s /tmp/foo /dev/rdsk/c1t0d0s2 (reformats and labels new replacement)
(disk)
(Instruct Vxvm to re-read the device tree)
# vxdctl enable
(initialize the new disk)
# /etc/vx/bin/vxdisksetup �i c1t0d0 format=sliced
(add the disk into Veritas as rootdisk)
vxdg �g rootdg adddisk rootdisk=c1t0d0
vxdisk list (to check)
/etc/vx/bin/vxrootmir �v rootdisk (-v is verbose)
(you will see output such as the following)
(! vxassist -g bootdg mirror rootvol layout=contig,diskalign rootdisk)
(! vxbootsetup -g bootdg -v rootdisk)
(! vxmksdpart -f -v -g rootdg rootdisk-01 0 0x2 0x200)
(! vxpartadd /dev/rdsk/c1t0d0s2 0 0x2 0x200 9424 16779432)
(! /usr/sbin/installboot /usr/platform/SUNW,Ultra-250/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0)
(! vxeeprom devalias vx-rootdisk /dev/dsk/c1t0d0s0)
/etc/vx/bin/vxmirror �g rootdg rootmirror rootdisk (mirrors all other volumes)
(from rootmirror to fresh rootdisk)
vxprint �htg rootdg (to verify)
vxdisk list (to verify)
dumpadm (to make sure dump device is set correctly)
format (look for swap on partition 1 on rootdisk)
(if swap is not partition 1, set as mentioned earlier with)
(/usr/lib/vxvm/bin/vxmksdpart �g rootdg rootdisk-02 1 0x03 0x01 )
(rootdisk-02 being the subdisk that swapvol is using for that DISK, in this (case swapvol is using rootdisk-02 for plex swapvol-01, assuming rootdisk and
(swapvol-01 were on the failed disk � see the example below which can be)
(found via the vxprint �htg rootdg output)
(v swapvol - ENABLED ACTIVE 4194828 ROUND - swap)
(pl swapvol-01 swapvol ENABLED ACTIVE 4194828 CONCAT - RW)
(sd rootdisk-02 swapvol-01 rootdisk18807390 4194828 0 c1t0d0 ENA)
(pl swapvol-02 swapvol ENABLED ACTIVE 4194828 CONCAT - RW)
(sd rootmirror-02 swapvol-02 rootmirror18807390 4194828 0 c1t1d0 ENA)

(you should now have all volumes mirrored, both rootdisk and rootmirror bootable as well as defined in eeprom )

Hope this helps
Thanks,
Rob

Steffen_Soerens
Level 3
Thanks Rob!

Fix my problem, only I had to rename my rootvol2 to rootvol for vxrootmir to work :)
Care then to make sure either rename it backto rootvol2 or edit vfstab to reflect the new volume name for following reboots.

/Steffen