Provided by: liblinux-lvm-perl_0.17-1_all bug

NAME

       Linux::LVM - Perl extension for accessing Logical Volume Manager(LVM)
                    data structures on Linux.

SYNOPSIS

         use Linux::LVM;
         Linux::LVM->units('G');

ABSTRACT

         The live data used in the examples is included in the DESCRIPTION area
         for your convenience and reference.

DESCRIPTION

         units()  Get or set the units used to report sizes of LVs, PVs, etc.
                  legal values: hbskmgtpeHBSKMGTPE
                  see man lvm documentation of --units

         get_volume_group_list()       This routine will return an array that
                                       contains the names of the volume groups.

         @vgs = get_volume_group_list(); print "@vgs \n";
         Would yield the following: vg00

         get_volume_group_information($)       This routine will return all of
                                               the volume group information about
                                               the specified volume group.

         %vg = get_volume_group_information("vg00");
         foreach(sort keys %vg) {
            print "$_ = $vg{$_}\n";
         }
         Would yield the following:
            access = read/write
            act_pv = 2
            alloc_pe = 3840
            alloc_pe_size = 15
            alloc_pe_size_unit = GB
            cur_lv = 3
            cur_pv = 2
            free_pe = 864
            free_pe_size = 3.38
            free_pe_size_unit = GB
            max_lv = 256
            max_lv_size = 255.99
            max_lv_size_unit = GB
            max_pv = 256
            open_lv = 0
            pe_size = 4
            pe_size_unit = MB
            status = available/resizable
            total_pe = 4704
            uuid = BBq8si-NyRR-9ZNW-3J5e-DoRO-RBHK-ckrszi
            vg_number = 0
            vg_size = 18.38
            vg_size_unit = GB
            vgname = vg00

         get_logical_volume_information($)     This routine will return all of the
                                               logical volume information associated
                                               with the specified volume group.

         %lv = get_logical_volume_information("vg00");
         foreach $lvname (sort keys %lv) {
             foreach(sort keys %{$lv{$lvname}}) {
                 print "$_ = $lv{$lvname}->{$_}\n";
             }
             print "\n";
         }
         Would yield the following results:
         alloc_le = 1024
         allocation = next free
         cur_le = 1024
         device = 58:0
         lv_number = 1
         lv_size = 4
         lv_size_unit = GB
         name = /dev/vg00/lvol1
         open_lv = 0
         read_ahead = 1024
         status = available
         write_access = read/write

         alloc_le = 1280
         allocation = next free
         cur_le = 1280
         device = 58:1
         lv_number = 2
         lv_size = 5
         lv_size_unit = GB
         name = /dev/vg00/lvol2
         open_lv = 0
         read_ahead = 1024
         status = available
         write_access = read/write

         alloc_le = 1536
         allocation = next free
         cur_le = 1536
         device = 58:2
         lv_number = 3
         lv_size = 6
         lv_size_unit = GB
         name = /dev/vg00/lvol3
         open_lv = 0
         read_ahead = 1024
         status = available
         write_access = read/write

         get_physical_volume_information($)    This routine will return all of the information
                                               information about the physical volumes assigned
                                               to the specified volume group.

         %pv = get_physical_volume_information("vg00");
         foreach $pvname (sort keys %pv) {
             foreach(sort keys %{$pv{$pvname}}) {
                 print "$_ = $pv{$pvname}->{$_}\n";
             }
             print "\n";
         }
         Would yield the following results:
         device = /dev/hda3
         free_pe = 0
         pv_number = 1
         status = available / allocatable
         total_pe = 2160

         device = /dev/hda4
         free_pe = 864
         pv_number = 2
         status = available / allocatable
         total_pe = 2544

         get_lv_info($)        This routine will return all of the information about the
                               specified logical volume.  The information will be returned
                               in a hash.

         get_lv_info
         %lv = get_lv_info("/dev/vg00/lvol1");
         foreach (sort keys %lv) {
             print "$_ = $lv{$_} \n";
         }
         Would yield the following results:
         access = read/write
         alloc_le = 1024
         allocation = next free
         block_device = 58:0
         current_le = 1024
         lv_name = /dev/vg00/lvol1
         lv_number = 1
         lv_open = 0
         read_ahead = 1024
         size = 4
         size_unit = GB
         status = available
         vg_name = vg00

         get_pv_info($)        This routine will return all of the information about the
                               specified physical volume.  The information will be returned
                               in a hash.

         %pv = get_pv_info("/dev/hda3");
         foreach (sort keys %pv) {
             print "$_ = $pv{$_} \n";
         }
         Would yield the following results:
         alloc_pe = 2160
         allocatable = yes (but full)
         free_pe = 0
         num_lvols = 2
         pe_size = 4096
         pe_size_unit = KByte
         pv_name = /dev/hda3
         pv_number = 1
         sectors = 17703630
         size = 8.44
         size_info = NOT usable 4.19 MB [LVM: 136 KB]
         size_unit = GB
         status = available
         total_pe = 2160
         uuid = 2c5ADu-oEdt-ovCe-rqp0-MWpF-I5u1-8XigH4
         vg_name = vg00

         Command Output Used In The Above Examples: /sbin/vgdisplay -v
         --- Volume group ---
         VG Name               vg00
         VG Access             read/write
         VG Status             available/resizable
         VG #                  0
         MAX LV                256
         Cur LV                3
         Open LV               0
         MAX LV Size           255.99 GB
         Max PV                256
         Cur PV                2
         Act PV                2
         VG Size               18.38 GB
         PE Size               4 MB
         Total PE              4704
         Alloc PE / Size       3840 / 15 GB
         Free  PE / Size       864 / 3.38 GB
         VG UUID               BBq8si-NyRR-9ZNW-3J5e-DoRO-RBHK-ckrszi

         --- Logical volume ---
         LV Name                /dev/vg00/lvol1
         VG Name                vg00
         LV Write Access        read/write
         LV Status              available
         LV #                   1
         # open                 0
         LV Size                4 GB
         Current LE             1024
         Allocated LE           1024
         Allocation             next free
         Read ahead sectors     1024
         Block device           58:0

         --- Logical volume ---
         LV Name                /dev/vg00/lvol2
         VG Name                vg00
         LV Write Access        read/write
         LV Status              available
         LV #                   2
         # open                 0
         LV Size                5 GB
         Current LE             1280
         Allocated LE           1280
         Allocation             next free
         Read ahead sectors     1024
         Block device           58:1

         --- Logical volume ---
         LV Name                /dev/vg00/lvol3
         VG Name                vg00
         LV Write Access        read/write
         LV Status              available
         LV #                   3
         # open                 0
         LV Size                6 GB
         Current LE             1536
         Allocated LE           1536
         Allocation             next free
         Read ahead sectors     1024
         Block device           58:2

         --- Physical volumes ---
         PV Name (#)           /dev/hda3 (1)
         PV Status             available / allocatable
         Total PE / Free PE    2160 / 0

         PV Name (#)           /dev/hda4 (2)
         PV Status             available / allocatable
         Total PE / Free PE    2544 / 864

SEE ALSO

       vgdisplay(1M) lvdisplay(1M) pvdisplay(1M)

AUTHOR

       Chad Kerner, <chadkerner@yahoo.com>

COPYRIGHT AND LICENSE

       Copyright 2003 by Chad Kerner

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.