1832692 Members
2802 Online
110043 Solutions
New Discussion

LVM recover problem

 
SOLVED
Go to solution
Peter Kielbasiewicz
Frequent Advisor

LVM recover problem

We have a big problem recovering UX workstations which run LVM (almost any these days)
I want to add a second disk to a running system, create a volume group and volumes and make it bootable without affecting the original system. The goal is to do a backup playback on this second disk and then re-install the disk into a system to recover.

The problem here is that we never succeeded getting the second disk to boot without destroying the boot structures on the 1st disk.

Thus currently we use the following scheme:
We hook up a second disk to a running system and do a cold install on this disk.
Then we boot the original system from the first disk, import the second disks volume group and mount the volumes.
Then we do a playback of our backup files onto the imported volumes and export the volume group.
Last we restore the SCSI address of the 2nd disk to the original settings of the crashed system and re-install the disk into that system.

Does anybody have a better solution?
3 REPLIES 3
harry d brown jr
Honored Contributor

Re: LVM recover problem

Peter,

You should investigate MIRRORING. Licenses for a workstation aren't that expensive, especially when you factor in the cost of rebuilding them when they fail!

Also, another option is to create make_recovery tapes for each workstation, allowing you to recover them very quickly after a disk replacement! And this software is free!

live free or die
harry
Live Free or Die
Craig Rants
Honored Contributor

Re: LVM recover problem

Peter,
We make a alternate root disk, apart from the Mirror we have. This is a complicated process which we have scripted. Can't post if for legal reasons, but I can give you the jist.

1. Create an alternate vg
2. Create alternate lv's
3. Add boot code to disk (mkboot, lvlnboot)
4. Copy the lv's
5. Copy the lif files


Of course there is more in there, but you can accomplish what you are asking.

Good Luck,
C
"In theory, there is no difference between theory and practice. But, in practice, there is. " Jan L.A. van de Snepscheut
S.K. Chan
Honored Contributor
Solution

Re: LVM recover problem

If you do not have Mirror/UX you can manually duplicate your boot disk to another disk. This is the process.
* Assuming current LVM boot disk is on c1t2d0 and you want to duplicate to c2t2d0.
# pvcreate -B /dev/rdsk/c2t2d0
# mkdir /dev/vgroot; mknod /dev/vgroot/group c 64 0x010000
# vgcreate /dev/vgroot /dev/dsk/c2t2d0
# mkboot /dev/rdsk/c2t2d0
# mkboot -a "hpux (;0)/stand/vmunix" /dev/rdsk/c2t2d0
# lifls /dev/rdsk/c2t2d0
==> do lifcp of all other boot utilities from c1t2d0 to c2t2d0.
# lvcreate -C y -r n -n lvol1 /dev/vgroot
# lvextend -L 84 /dev/vgroot/lvol1 /dev/dsk/c2t2d0
==> creating and extending boot lv (/stand)
# lvcreate -C y -r n -L 2048 -n lvol2 /dev/vgroot
==> creating swap LV
# lvcreate -C y -r n -n lvol3 /dev/vgroot
# lvextend -L 6544 /dev/vgroot/lvol3 /dev/dsk/c2t2d0
==> creating and extending root lv (/)
# lvlnboot -b lvol1 /dev/vgroot
# lvlnboot -r lvol3 /dev/vgroot
# lvlnboot -s lvol2 /dev/vgroot
# lvlnboot -d lvol2 /dev/vgroot
==> update BDRA for boot, root, swap and dump LVs.
# newfs -F hfs /dev/vgroot/rlvol1 ==> /stand must be hfs
# newfs -F vxfs /dev/vgroot/rlvol3
# mkdir /newstand
# mount /dev/vgroot/lvol1 /newstand
# cd /stand
# find . -xdev -depth -print|cpio pxdm /newstand
# umount /newstand
# mkdir /newroot
# mount /dev/vgroot/lvol3 /newroot
# cd /
# find . -xdev -depth -print|cpio -pxdm /newroot
# cd /newroot/etc
# vi fstab
==> edit appropriately
# lvlnboot -R
==> resync vg headers
# setboot -p 0/0/2/0.2.0
==> change prim boot path to new disk (c2t2d0)

The above assume you have /, /stand and swap only. If you have separate /opt, /usr, /tmp mounted for example, perform appropriate lvcreate on those. When it's all done you should be able to boot up from your 2nd disk. From here onwards, you have to manually synchronize bot your boot disks.