Linux::LVM.3pm

Langue: en

Version: 2008-08-28 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

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

SYNOPSIS

   use Linux::LVM;
 
 

ABSTRACT

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

DESCRIPTION

   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 2003 by Chad Kerner

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