Operating System - HP-UX
1824339 Members
3415 Online
109669 Solutions
New Discussion юеВ

MirrorDisk/UX users guide?

 
SOLVED
Go to solution
Tim Killinger
Regular Advisor

MirrorDisk/UX users guide?

Does anyone know of a fairly comprehensive document/guide that is limited to using LVM to create a mirror set and replace a drive in a mirror set?

Is it true that there is no mechanism that allows for a failed drive to simply be replaced and the mirror set rebuilds itself?

Thanks!
8 REPLIES 8
Sridhar Bhaskarla
Honored Contributor
Solution

Re: MirrorDisk/UX users guide?

Hi Tim,

I would check docs.hp.com for documentation.
Replacing a mirror is very simple. If the drive 's slot supports hot-pluggability, replace the drisk and do

#vgcfgrestore -n vgxx /dev/rdsk/cxtydz
#vgchange -a y vgxx
#vgsync vgxx

If it is a boot drive, then you will have to add couple more commands as you have to make it a boot disk prior to synchronizing the mirrors. Search the forums for 'boot mirrors' and you will find numerous threads with the solutions.

Yes. It is true that there is no mechanism that allows a failed drive to be simply be replaced and the mirror rebuilds itself. You have to follow 'vgcfgrestore' process as indicated above.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Sundar_7
Honored Contributor

Re: MirrorDisk/UX users guide?

You can look for the documents in docs.hp.com and also there are couple of knowledge base documents on how to replace a failed drive.

Refer the man page of all the lvm commands (lvcreate, lvextend, lvreduce) and read the explanation for -m option. That should pretty much answer the questions you have.

With software mirroring, mirror will not rebuild yourself.

I guess you are looking for something like hardware mirrors in compaq servers ?

If you have a raid card and configure hardware mirroring, I believe you could just replace the drive and get the mirror set rebuild itself.
Learn What to do ,How to do and more importantly When to do ?
RAC_1
Honored Contributor

Re: MirrorDisk/UX users guide?

You need LVM cook book. Also a gret resource - http://docs.hp.com

LVM cook book attached.

I) How to create a Volume Group (VG).

II) How to create a Logical Volume (LV) and mount the filesystem.

III) How to add a disk to a Volume Group

IV) How to increase the size of a logical volume without OnlineJFS

(advanced JFS)

V) How to remove a Logical Volume

VI) How to reduce the size of a logical volume without OnlineJFS

(advanced JFS)

VII) How to remove a disk from a volume group

VIII) How to remove a volume group

IX) How to increase the primary swap

X) How to create a secondary boot disk

LVM Mirroring

XI) How to mirror a logical volume

XII) How to unmirror a logical volume

XIII) How to create a mirrored boot disk

XIV) How to mirror a logical volume on a specific physical volume

Physical Volume Group

XV) How to create a Physical Volume Group (PVG)

XVI) How to use PVG to mirror logical volumes on specific physical

volumes.



I) How to create a Volume Group (VG).

Note The following example is using the disk c1t6d0, the volume

group vg01 and the logical volume lvhome

1) Prepare the disk

pvcreate /dev/rdsk/c1t6d0

Note if the disk was previously used in another VG use the

following command instead:

pvcreate -f /dev/rdsk/c1t6d0

2) Create the Volume Group (VG):

a) mknod /dev/vg01/group c 64 0x010000

Note: the group number (last parameter) is in hexadecimal and

should be different for each volume group. For vg02, that number

would be 0x020000. The default limit is 10 volume groups as set by

the kernel parameter maxvgs.

b) vgcreate /dev/vg01 /dev/dsk/c1d0s2

Note: When a volume group is created the maximum physical

extents per volume (max_pe parameter) will be set to the max_pe

of the largest physical volume (PV) or 1016, which ever is

greater, if no max_pe is specified. The effect of not setting

the max_pe parameter would be that any PV added to the volume

group in the future regardless of there size will be limited

to the volume groug creation value of max_pe. Therefore,

consider increasing the max_pe to accommodate PV s that may

likely be larger than the largest PV used to create the Volume

Group. The formula to use to determine the value is:

physical_extent_size * max_pe = size_of_the_disk.

The default value for physical_extent_size is 4M and the maximum

value for max_pe is 65535 (example for 18 gig disk use a value

4608 for max_pe: 4M * 4608 = 18 gig).

There is also a default value of a maximum of 16 disks per volume

group. The following is an example of the creation of a volume

group modifying these two parameters (max_pe = 4608, maximum

number of disk = 24):

vgcreate -e 4608 -p 24 /dev/vg01 /dev/dsk/c1d0s2



II) How to create a Logical Volume (LV) and mount the filesystem.

1) Create the Logical Volume (LV)

lvcreate -L 120 -n lvhome /dev/vg01

Note: this will create a logical volume of 120 meg.

2) Create the filesystem

newfs -F vxfs /dev/vg01/rlvhome

Note: to create an hfs filesystem change vxfs to

hfs in the previous command.

3) Mount the Logical Volume:

a) mkdir /home

b) mount /dev/vg01/lvhome /home



III) How to add a disk to a Volume Group

Note The following examples is using the disk c1t6d0 and the volume

group vg01

1) Prepare the disk

pvcreate /dev/rdsk/c1t6d0

Note if the disk was previously used in another VG use the

following command instead:

pvcreate -f /dev/rdsk/c1t6d0

Note: Use caution when using pvcreate -f as this will

overwrite the existing volume group information on the disk.

2) Add the disk to the Volume Group

vgextend /dev/vg01 /dev/dsk/c1t6d0



IV) How to increase the size of a logical volume without online JFS

(advanced JFS).

Note: the following example is using the volume group vg01 and the

logical volume lvhome

Note: Increasing the root filesystem (/) is not feasible

1) lvextend -L 240 /dev/vg01/lvhome

The new total size will be 240M.

2) umount /home

Note: If the filesystem is in use, it is impossible to unmount it.

Therefore stop all the processes (applications) that use the

filesystem then unmount it.

Processes that use /usr and /var cannot be all stopped,

the only solution is to reboot in single user mode.

3) extendfs -F vxfs /dev/vg01/rlvhome

4) mount /dev/vg01/lvhome /home



V) How to remove a Logical Volume

Note: the following example is using the volume group vg01 and the

logical volume lvhome

1) Backup all user data

2) Umount the filesystem

umount /home

3) remove the Logical volume

lvremove /dev/vg01/lvhome



VI) How to reduce the size of a logical volume without online JFS (advanced JFS)

Note: the following example is using the volume group vg01 and the

logical volume lvhome

1) Backup all user data

2) Umount the filesystem

umount /home

3) Reduce the size

lvreduce -L 60 /dev/vg01/lvhome

Note: the new total size will be 60M.

4) Re-create the filesystem

newfs -F vxfs /dev/vg01/rlvhome

Note: to create an hfs filesystem change vxfs by

hfs in the previous command.

5) Mount the Logical Volume:

mount /dev/vg01/lvhome /home

6) Restore the user data



VII) How to remove a disk from a volume group

Note: the following example is using the disk c1t6d0 and the

volume group vg01

1) Make sure that the disk is not in use:

pvdisplay /dev/dsk/c1t6d0

Look at line starting with Allocated PE the number at the end

of the line should be 0. If it is not the disk is still in use.

2) Remove the disk

vgreduce /dev/vg01 /dev/dsk/c1t6d0



VIII) How to remove a volume group

Note: the following example is using the volume group vg01 and the

logical volume lvhome

1) Backup all user data

2) Find the name of all logical volume in this volume group

vgdisplay -v /dev/vg01

3) unmount all logical volumes

Note: repeat the following command for each logical command

umount /dev/vg01/lvhome

4) Remove the volume group:

vgexport /dev/vg01

Note: using vgexport to remove a volume group is easier

and faster than using the vgreduce on each physical volume

except the last one, followed by a vgremove. The other

advantage is that the /dev/vg01 directory is also removed.


IX) How to increase the primary swap

Note: Because of the contiguous allocation policy, create a bigger

logical volume and modify the Boot Data Reserved Area (BDRA) to make it

primary.

1) lvcreate -C y -L 240 /dev/vg00

The name of this new logical volume will be displayed on the

screen, note it, it will be needed later. (let say it

is /dev/vg00/lvol8)

Note: This new logical volume has to be in vg00

2) lvlnboot -v /dev/vg00

This will display the current root and swap volumes

Note: lvol2 is the default primary swap.

3) lvlnboot -s /dev/vg00/lvol8 /dev/vg00

Note: use the logical volume name from step 1

4) lvlnboot -R /dev/vg00

Recover any missing links to all of the logical volumes specified

in the BDRA and update the BDRA of each bootable physical volume in

the volume group

5) reboot the system



X) How to create a secondary boot disk

Note: This will create an identical copy of the current vg00. The

new volume group needs to as big as vg00. This will also be a static

version of the primary boot disk which could be use in case of

problem.

Note: The following example is using the disk c1t6d0 and the

volume group vg01

1) Initialize the disk and make it bootable

pvcreate -B /dev/rdsk/c1t6d0

Note: the -B parameter tells pvcreate that this will be a bootable

disk.

mkboot /dev/dsk/c1t6d0

mkboot -a "hpux" /dev/rdsk/c1t6d0

2) Create the volume group

mkdir /dev/vg01

mknod /dev/vg01/group c 64 0x010000

vgcreate /dev/vg01 /dev/dsk/c1t6d0

3) Find the size of each logical volume in vg00

vgdisplay -v /dev/vg00 | more

look at LV Size (Mbytes) for each logical volume and note it.

Note: this example will use these value:

lvol1 84M

lvol2 256M

lvol3 140M

lvol4 500M

lvol5 64M

lvol6 20M

lvol7 500M

lvol8 500M

Note: The size of the new logical volumes needs to be exactly the

same as the size of the logical volumes on the primary root disk.

4) Create the first 3 logical volumes contiguous (needed by the system)

lvol1:

lvcreate -L 84 -C y -r n /dev/vg01

lvol2:

lvcreate -L 256 -C y -r n /dev/vg01

lvol3:

lvcreate -L 140 -C y -r n /dev/vg01

5) Now create the other logical volumes

lvol4:

lvcreate -L 500 /dev/vg01

lvol5:

lvcreate -L 64 /dev/vg01

lvol6:

lvcreate -L 20 /dev/vg01

lvol7:

lvcreate -L 500 /dev/vg01

lvol8:

lvcreate -L 500 /dev/vg01

6) Copy each logical volume except the swap which is usually lvol2.

dd if=/dev/vg00/rlvol1 of=/dev/vg01/rlvol1 bs=1024k

dd if=/dev/vg00/rlvol3 of=/dev/vg01/rlvol3 bs=1024k

dd if=/dev/vg00/rlvol4 of=/dev/vg01/rlvol4 bs=1024k

dd if=/dev/vg00/rlvol5 of=/dev/vg01/rlvol5 bs=1024k

dd if=/dev/vg00/rlvol6 of=/dev/vg01/rlvol6 bs=1024k

dd if=/dev/vg00/rlvol7 of=/dev/vg01/rlvol7 bs=1024k

dd if=/dev/vg00/rlvol8 of=/dev/vg01/rlvol8 bs=1024k

7) Verify the integrity of all the new volume except swap.

Note: The following lines are base on a system with vxfs

filesystems except for /stand (lvol1) which needs to be hfs.

fsck -F hfs /dev/vg01/rlvol1

fsck -F vxfs /dev/vg01/rlvol3

fsck -F vxfs /dev/vg01/rlvol4

fsck -F vxfs /dev/vg01/rlvol5

fsck -F vxfs /dev/vg01/rlvol6

fsck -F vxfs /dev/vg01/rlvol7

fsck -F vxfs /dev/vg01/rlvol8

8) Now configure the Boot Data Reserved Area (BDRA)

Note: The following commands assume that /stand is lvol1,

swap is lvol2 and / is lvol3

lvlnboot -b /dev/vg01/lvol1 /dev/vg01

lvlnboot -r /dev/vg01/lvol3 /dev/vg01

lvlnboot -s /dev/vg01/lvol2 /dev/vg01

lvlnboot -d /dev/vg01/lvol2 /dev/vg01

9) Modify the fstab file on the new disk.

a) If /tmp_mnt doesn't exist create it

mkdir /tmp_mnt

b) Mount the new root filesystem on /tmp_mnt

mount /dev/vg01/lvol3 /tmp_mnt

c) change to etc directory on the new disk.

cd /tmp/etc

d) Modify all occurence of vg00 in the fstab for vg01

sed "s/vg00/vg01/" fstab > fstab.out

mv fstab fstab.BAK

mv fstab.out fstab

e) Unmount the new root filesystem

cd /

umount /tmp_mnt



XI) How to mirror a logical volume

Note: Data mirroring is provided by an additionnal purchasable

software product called MirrorDisk/UX.

Note: the following example is using the volume group vg01 and the

logical volume lvhome

To add a mirror to an existing logical volume:

lvextend -m 1 /dev/vg01/lvhome

This will add 1 mirror (2 copies of the filesystem).

To add 2 mirrors (3 copies of the filesystem) use -m 2 instead.

To create a new logical volume of 200M with 1 mirror:

lvcreate -m 1 -L 200 /dev/vg01



XII) How to unmirror a logical volume

Note: the following example is using the volume group vg01 and the

logical volume lvhome

lvreduce -m 0 /dev/vg01/lvhome



XIII) How to create a mirrored boot disk

Note the following example is using the disk c1t6d0 as the

mirrored boot disk and c0t6d0 as the boot disk.

1) Initialize the disk and make it bootable

pvcreate -B /dev/rdsk/c1t6d0

Note: the -B parameter tell pvcreate that this will be a

bootable disk.

2) Add the physical volume to the volume group

vgextend /dev/vg01 /dev/dsk/c1t6d0

3) Use mkboot to place the boot utilities in the boot area and add

the AUTO file.

mkboot /dev/dsk/c1t6d0

mkboot -a "hpux -lq" /dev/rdsk/c1t6d0

4) Use mkboot to update the AUTO file on the primary boot

disk.

mkboot -a "hpux -lq" /dev/rdsk/c0t6d0

5) Mirror the stand, root and swap logical volumes

lvextend -m 1 /dev/vg00/lvol1

lvextend -m 1 /dev/vg00/lvol2

lvextend -m 1 /dev/vg00/lvol3

Note: LVM will resynchronize the new mirror copies. This step will

takes several minutes

Repeat the lvextend for all other logical volumes on the boot

mirror.

6) Modify your alternate boot path to point to the mirror copy of the

boot disk.

setboot -a 8/8.6.0 # Use the Hardware path for your new

boot disk.

XIV) How to mirror a logical volume on a specific physical volume

Note: the following example, is using the disk c1t6d0 for the

primary copy, c2t6d0 for the mirror copy, the volume group vg01,

the logical volume lvhome and the size will be 200M

lvcreate -n lvhome /dev/vg01

lvextend -L 200 /dev/vg01/lvhome /dev/dsk/c1t6d0

lvextend -m 1 /dev/vg01/lvhome /dev/dsk/c2t6d0



XV) How to create a Physical Volume Group (PVG)

create a file named /etc/lvmpvg with the following syntax:

VG vg_name

PVG pvg_name

pv_path

...

PVG pvg_name

pv_path

...

VG vg_name

PVG pvg_name

pv_path

...

For example, to use two PVGs in vg01 with c1t6d0 and c2t6d0

in one PVG (PVG0), c3t6d0 and c4t6d0 in the other PVG (PVG1) the

contents of the file (/etc/lvmpvg) should be:

VG /dev/vg01

PVG PVG0

/dev/dsk/c1t6d0

/dev/dsk/c2t6d0

PVG PVG1

/dev/dsk/c3t6d0

/dev/dsk/c4t6d0



XVI) How to use PVG to mirror logical volumes on specific physical volumes.

Note: in the following text, the volume group will be vg01 and the

logical volume will be name lvhome

After creating the /etc/lvmpvg file as describe above, each copy

of your mirror could be force on different PVG. To achieve this if

the logical volume is already created but not mirrored yet, use the

following command:

lvchange -s g /dev/vg01/lvhome

lvextend -m 1 /dev/vg01/lvhome

If the logical volume is not created yet:

lvcreate -s g -m 1 -n lvhome -L 200 /dev/vg01

There is no substitute to HARDWORK
Cheryl Griffin
Honored Contributor

Re: MirrorDisk/UX users guide?

Do you have access to the Knowledge Base?
If so:
LVM: Procedure for replacing an LVM disk in HP-UX 10.x and 11.x DocId: KBAN00000347

and

How to create a Mirrored Boot Disk on PA-RISC Systems - Cookbook DocId: LVMKBRC00005103
"Downtime is a Crime."
Pete Randall
Outstanding Contributor

Re: MirrorDisk/UX users guide?

Steven E. Protter
Exalted Contributor

Re: MirrorDisk/UX users guide?

Doc on hot-spares:

http://docs.hp.com/cgi-bin/fsearch/framedisplay?top=/hpux/onlinedocs/5990-8172/5990-8172_top.html&con=/hpux/onlinedocs/5990-8172/00/01/108-con.html&toc=/hpux/onlinedocs/5990-8172/00/01/108-toc.html&searchterms=hot%7cspare%7cLVM&queryid=20041020-093435

Mirror/ux has a reason to exist. Its to keep the system running when one of the mirrored disks fail.

Then its up to the admin to replace the disk, and re-mirror.

Once I know the disk is dead, I follow this process guideline:

vgreduce the disk out of the volume group, if possible.

replace the disk, hot if its a hotswap disk.

pvcreate the disk

pvcreate /dev/dsk/c1t1d0
Then I vgextend /dev/vg00 /dev/dsk/c1t1d0
Then lvextend -m 1 /dev/vg00/lvolname /dev/dsk/c1t1d0

The product and process are designed to keep things running and make it possible for the sysadmin to replace and rebuild without bringing the system down.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Tim Killinger
Regular Advisor

Re: MirrorDisk/UX users guide?

Thanks all,

Although I'm new to UX, I used to run VMS system where we used software based "shadowing" to mirror the system drive, and it would rebuild automatically if a drive was replaced.

But I see this won't be difficult to perform.
Hoang Chi Cong_1
Honored Contributor

Re: MirrorDisk/UX users guide?

Hi Cheryl Griffin.
I have a question, could you help me?
I try to search the docID as you said but no result.
The screen like in the attachment.
I try many times but the same!

Has any suggestion?

Thanks in advance.


Jimkery
Looking for a special chance.......