Howto recover vxdg with only one side of mirrors
Hi
Had a mirror between to SAN arrays A + B on an older solaris 7/32b + vxvm 3.1, which needs to migrate to new vxdmp version.
Shut solaris 7 down, moved SAN B luns to new solaris 10 + vxvm 5.0, which now fails to import vxdg's, even after running vxdisk clearimport on all luns.
Any hints appreceiate, TIA
ims-v3:/> vxdisk -o alldgs list
DEVICE TYPE DISK GROUP STATUS
c0t0d0s2 auto:sliced rootdisk rootdg online
c0t1d0s2 auto:sliced rootdisk2 rootdg online
c6t0d0s2 auto:sliced - - online
c6t0d1s2 auto:sliced - (arr1imsdg) online
c6t0d2s2 auto:sliced - (arr2imsdg) online
c6t0d3s2 auto:sliced - (arr2imsdg) online
c6t0d4s2 auto:sliced - (arr2imsdg) online
c6t0d5s2 auto:sliced - (arr2imsdg) online
c6t0d6s2 auto:sliced - (arr2imsdg) online
c6t0d7s2 auto:sliced - (arr2imsdg) online
c6t0d8s2 auto:sliced - (arr2imsdg) online
c6t0d9s2 auto:sliced - (arr2imsdg) online
c6t0d10s2 auto:sliced - (arr2imsdg) online
c6t0d11s2 auto:sliced - (arr2imsdg) online
c6t0d12s2 auto:sliced - (arr2imsdg) online
c6t0d13s2 auto:sliced - (arr2imsdg) online
c6t0d14s2 auto:sliced - (arr2imsdg) online
c6t0d15s2 auto:sliced - (backupdg) online
c6t0d16s2 auto:sliced - (backupdg) online
c6t0d17s2 auto:sliced - (backupdg) online
c6t0d18s2 auto:sliced - (backupdg) online
c6t0d19s2 auto:sliced - (backupdg) online
c6t0d20s2 auto:sliced - (backupdg) online
c6t0d21s2 auto:sliced - (backupdg) online
c6t0d22s2 auto:sliced - (backupdg) online
c6t0d23s2 auto:sliced - (backupdg) online
c6t0d24s2 auto:sliced - (backupdg) online
c6t0d25s2 auto:sliced - (backupdg) online
c6t0d26s2 auto:sliced - (backupdg) online
c6t0d27s2 auto:sliced - (backupdg) online
c6t0d28s2 auto:sliced - (backupdg) online
c6t0d29s2 auto:sliced - (backupdg) online
c6t0d30s2 auto:sliced - (backupdg) online
c6t0d31s2 auto:sliced - (backupdg) online
c6t0d32s2 auto:sliced - (backupdg) online
c6t0d33s2 auto:sliced - (backupdg) online
c6t0d34s2 auto:sliced - (backupdg) online
c6t0d35s2 auto:sliced - (backupdg) online
c6t0d36s2 auto:sliced - (backupdg) online
c6t0d37s2 auto:sliced - (backupdg) online
ims-v3:/> vxdisk list c6t0d1s2
Device: c6t0d1s2
devicetag: c6t0d1
type: auto
hostid:
disk: name= id=1434971136.7192.ims
group: name=arr1imsdg id=985687944.1167.ims
info: format=sliced,privoffset=1,pubslice=4,privslice=3
flags: online ready private autoconfig
pubpaths: block=/dev/vx/dmp/c6t0d1s4 char=/dev/vx/rdmp/c6t0d1s4
privpaths: block=/dev/vx/dmp/c6t0d1s3 char=/dev/vx/rdmp/c6t0d1s3
guid: -
udid: IBM%5F2145%5FDISKS%5F60050768019201DD480000000000064D
site: -
version: 2.1
iosize: min=512 (bytes) max=2048 (blocks)
public: slice=4 offset=0 len=62908416 disk_offset=2048
private: slice=3 offset=1 len=2047 disk_offset=0
update: time=1435240653 seqno=0.54
ssb: actual_seqno=0.0
headers: 0 248
configs: count=1 len=1486
logs: count=1 len=225
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-001503[001255]: copy=01 offset=000231 enabled
log priv 001504-001728[000225]: copy=01 offset=000000 enabled
Multipathing information:
numpaths: 4
c6t0d1s2 state=enabled
c5t0d1s2 state=enabled
c5t1d1s2 state=enabled
c6t1d1s2 state=enabled
ims-v3:/> vxdg import arr1imsdg
VxVM vxdg ERROR V-5-1-10978 Disk group arr1imsdg: import failed:
Disk for disk group not found
ims-v3:/> vxdg -C import arr1imsdg
VxVM vxdg ERROR V-5-1-10978 Disk group arr1imsdg: import failed:
Disk for disk group not found
ims-v3:/> vxdg -f import arr1imsdg
VxVM vxdg ERROR V-5-1-10978 Disk group arr1imsdg: import failed:
Disk group version doesn't support feature; see the vxdg upgrade command
ims-v3:/> vxdg upgrade arr1imsdg
VxVM vxdg ERROR V-5-1-2356 Disk group arr1imsdg: upgrade failed: No valid disk found containing disk group
Would it somehow be possible to import a non-deported DG from only half the disks (one side mirror)?
Old solaris 7 booted fine and imported DGs and then I could disassociate plexs from SAN B, no problem.
(Got pre-4.1 manual scripted vx config backup data of mirrored config)
So did you do step 3
3. On Sol 7 system disassociate SAN B plexes and remove SAN disks from diskgroup
where I have just realised I missed out "B", so should say "remove SAN B disks from diskgroup"
So SAN B disks should not be in a diskgroup, so if SAN B is still connected to both hosts (there is no need to disconnect and reconnect SANs during this), then you should remove SAN B disks from diskgroup on Sol 7 system (no need to take down App for this), but you may have to remove disassociated plexes and subdisks to be able to remove disks.Other alternative is to use vxdisksetup -f -i if SAN B is disconnected on Sol7 but you will need to specify privlen as this is bigger in more current versions so you wil need to make sure disk is created with same privlen as it had originally.
First run for exmaple "vxdisk list c6t0d1" to see what private region size is and output to a file so you can make sure it is the same afterwardsThen, for example for a 16MB private region, run:
vxdisksetup -fi c6t0d1 privlen=16384
And then run "vxdisk list c6t0d1" to make sure offsets and lengths are the same for private and public regions.
If you run vxdisksetup -f, then if you present LUNS back to Sol7, make sure you destroy or rename diskgroup as you don't want to have 2 diskgroups with the same name.
Mike