12-19-2008 08:16 AM
I'm running vxvm 4.1 on solaris 10. My rootdisk failed, I replaced it, tried to recover using vxdiskadm, but got an error - error: /usr/lib/vxvm/voladm.d/bin/disk.repl: -1: bad number.
I found http://seer.entsupport.symantec.com/docs/294946.htm, which tells me to try the command line:
vxdg -g <dg> -k adddisk dmname=daname
which looked like it was working fine - vxprint showed rootvol and swapvol recovering.
The problem is they still show as recovering. I've let it sit overnight to see if it was finishing something up. These are small disks, so it really shouldn't have taken very long. There is no IO seen by iostat, and there are no tasks listed with vxtask.
Anyone got any ideas?
root@arizona:~# vxprint
Disk group: rootdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg rootdg rootdg - - - - - -
dm rootdisk c2t0d0s2 - 35365968 - - - -
dm rootmirror c1t0d0s2 - 35358848 - - - -
v rootvol root ENABLED 26976200 - ACTIVE - -
pl rootvol-01 rootvol DISABLED 26976200 - RECOVER - -
sd rootdisk-02 rootvol-01 ENABLED 26976200 0 - - -
pl rootvol-02 rootvol ENABLED 26976200 - ACTIVE - -
sd rootmirror-02 rootvol-02 ENABLED 26976200 0 - - -
v swapvol swap ENABLED 8382648 - ACTIVE - -
pl swapvol-01 swapvol DISABLED 8382648 - RECOVER - -
sd rootdisk-01 swapvol-01 ENABLED 8382648 0 - - -
pl swapvol-02 swapvol ENABLED 8382648 - ACTIVE - -
sd rootmirror-01 swapvol-02 ENABLED 8382648 0 - - -
Bill
12-22-2008 12:55 PM
these commands will fix the state of plexes..
# vxmend -g <dg_name> -o force off <PLEX_NAME>
# vxmend -g <dg_name> on <PLEX_NAME>
# vxmend -g <dg_name> fix clean <PLEX_NAME>
# vxvol -g <dg_name> start <VOLUME_NAME>
12-22-2008 03:29 PM
After talking with support, they came up with the same answer as sunshine, and then had an "easier quick fix." They had me try disassociating the plexes and then reattaching them:
# vxplex -g rootdg dis rootvol-01
# vxplex -g rootdg att rootvol rootvol-01
but that gave me
VxVM vxplex ERROR V-5-1-1315 Volume rootvol: Plex rootvol-01 does not meet root usage type restrictions
Then they just had me remove the disassociated plexes with vxedit, remove the disk from the diskgroup, reinitialize it, and mirror from vxdiskadm. This worked fine.
# vxedit -g rootdg -r rm rootvol-01
# vxdg -g rootdg rmdisk rootdisk
# /etc/vx/bin/vxdiskunsetup -C c2t0d0
# /etc/vx/bin/vxdisksetup -i c2t0d0 format=sliced
# vxdiskadm
...