Sunday, February 8, 2009

LVM for HP-UX

The following are an overview of how to
create volumes in LVM for HP-UX.

1) Add your disks, and verify their device
names. The the command:

# ioscan -fnC disk

2) Next, place the disks you wish to use for
volumes under LVM control. This
is done by converting a disk into
a "Physical Volume" (pv). The command
used is:

# pvcreate

example: #pvcreate /dev/rdsk/c1t0d0

Note: You can use the "-f" option
to "force" the creation, which keeps
LVM for asking for verification...
the "Would you like to proceed? (y/n)"

3) Now, create a device path for the volume group.
Do this by creating a directory in /dev
by the name of the volume group.

# mkdir /dev/

example: # mkdir /dev/vg01

4) Then create a "group node" in that directory.
The process looks like this:

# mknod /dev//group c 64

example: # mknod /dev/vg01/group c 64 0x030000

Note: The minor number follows the following patern:
0x030000
0x040000
0x050000
.....

5) You can now create your Volume Group (vg) to which
the Physical Volumes will be assigned. A VG
is similar to a Disk Group in Veritas. The
format is:

# vgcreate /dev/ ....

example: # vgcreate /dev/vg01 /dev/dsk/c1t0d0

Note: The PV DevPaths don't use a partition
designation (sX). You can specify as many PV's
to add to a VG as you like on this one line.

6) Next create a Logical Volume (lv). This is the "volume"
itself, which will contain the file system.

# lvcreate /dev/

example: # lvcreate /dev/vg01

Note: This will create a 0 length volume. It
will also create two new files in the vg dev
directory: lvol1 and rlvol1. Being: Logical
Volume 1, and Raw Logical Volume 1. You can
have multiple LV's per VG.

Note(2): lvcreate with no options will create
a concat volume. To create striped volumes,
use the options:
-i This is the Vx equiv to column numbers.
-I This is the Vx equiv to a stripe width in kb.
-m Number of mirrors. Can be "1" or "2".
-L The size of the new volume in megabytes.

7) Now you can extend to Logical Volume to the length
you desire. To extend to it's max, do the
following:

a) Run the command: # vgdisplay
example: # vgdisplay /dev/vg01

b) Look for the two lines: "Total PE" and "PE Size"
PE stands for "Physical Extent". If you
multiply the number of "Total PE" by
"PE Size" you will get the total size of
the disk that is usable, usually in megabytes.

NOTE: LVM breaks PV's into Physical Extents.
These are like blocks in LVM. PE Size is
the size of each PE. Total PE is the
number of PE's avalible to the volume group.
The "PE Size" is variable, default is "4M"
but it can be reset to any desired size,
during VG creation. The options avable to
"vgcreate" are:
-e Max Num of PE's for this VG. Default: 1016
Max PE cannot exceed: 65535
-l Max Num of LV's for this VG. Default: 255
-p Max Num of PV's for this VG. Default: 16
Max PV cannot exceed: 255
-s Size of each PE for this VG. Default: 4
PE Size must be a power of 2.
-x Can the VG be grown? Default: y

c) With the number you got by multiplying "Total PE" by "PE Size"
you have the total lenth of the VG. To make all disks
in the VG be used by 1 LV, and to use all the space,
extend the Logical Volume with the command:

# lvextend -L

example: # lvextend -L 3200 /dev/vg01/lvol1

This would extend VG01's LV 1 out to (NOT by) 3.2G.
Remember the size is defaulted to Megabytes.

8) You can now create your filesystem with:

# newfs -F

example: # newfs -F vxfs /dev/vg01/rlvol1

9) Now mount the filesystem like usual:

# mount /dev/vg01/lvol1 /mydatavolume

Done!

No comments:

Post a Comment