more sun more sun

Spent two days now on manually building subdisks to mirror some VxVM volumes. The reason was that were use layered volumes and the allocation policy mirror=enclosure doesn’t work reliably. And someone has to fix it.

Problem is, it’s so complicated by the layered vols that most people[*] don’t even see the actual error.

[*]Most people does include Symantec support line.

The procedure was roughly like this:

drop the  mirror plexes on one of the 2 storage arrays

vxprint -g dgname -rth | grep volumename | grep -v dcl | grep ^sd | grep storagearraytoclear > /tmp/subdisks_array_b

then for each volume, run a

vxmake -g dgname sd storagearraytokeep_lun-01  disk=storagearraytokeep_lun offset=0 len=length of original disk

01 means the first subdisk on that disk

length can be found in the vxprint output

then run and watch in vxtask list:

vxdg -g dg mv oldsd newsd -b

then remove the old subdisk using

vxedit -g dgname rm oldsubdisk

it is wise to not use rm -rf or anything like that here. we don’t wanna delete it if we messed up in the above steps.

Well, there is a summary too:

This method is clumsy, slow.

Next idea is to convert the volumes back to normal mirrors first, then drop all plexes in one array. Then vxevac (or the above procedure) to shuffle everything to the other array, then mirror up again.

TBH, it sucks to do this and i’ll go get some more sun very soon.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s