Implementing Logical Volumes: On Linux-Based Dell Poweredge Servers
Implementing Logical Volumes: On Linux-Based Dell Poweredge Servers
Sistina Logical Volume Manager (LVM) software provides an abstraction layer that
allows administrators to work with logical volumes, helping to simplify storage
management. This article describes LVM and presents scenarios for using LVM to
resize storage volumes on Dell™ PowerEdge™ and PowerVault™ systems running
the Red Hat Linux operating system.
8 MB 8 MB 8 MB 8 MB
activated and the VGDA is loaded face, most major
sda2 sdc1 sde5 sde5 into memory. The VGDA allows
Logical extents 8 MB 8 MB 8 MB 8 MB LVM to identify where the logical Linux distributions have
sdc1 sdc1 sdc1 sde5 volumes are actually stored. The
8 MB 8 MB 8 MB 8 MB one-to-one mapping of physical included LVM with their
sda2 sdc1 sdc1 sde5
to logical volumes is necessary to
access the physical location and installers, simplifying the
to perform I/O operations.
Physical extent 8 MB 8 MB 8 MB 8 MB task of LVM deployment.
Conceptualizing LVM processes
LVM comprises lvm-mod, a kernel module (that is, a device driver)
/dev/sda2=PV /dev/sdc1=PV /dev/sde5=PV
under General Public License (GPL), and applications that use the
module to perform storage-related management processes. In a typi-
Physical volume cal scenario, administrators use an LVM command such as pvcreate
or vgscan to perform storage management functions. For example,
Figure 2 represents the execution flow of an LVM task to retrieve the
SCSI disk 1 SCSI disk 3 SCSI disk 5
status of a particular storage device, as follows:
Figure 1. LVM schematic diagram 1. LVM commands invoke the LVM kernel module, lvm-mod, to
perform the operating system–level tasks that are required to
service the request.
mapping together the physical volumes /dev/sda2, /dev/sdc1, 2. The device driver executes the request on the hardware
and /dev/sde5 to create logical volumes that form one manage- storage device, and the LVM kernel module configures the
able group. device dynamically through the /proc file system.
In Figure 1, lvdata, lvhome, and lvvar represent logical volumes, 3. LVM dynamically obtains information on the storage devices
which contain the file system and thus can be used as mount points by using the /proc file system.
for directories such as /var/ftp, /home, and /usr. Each logical
volume is split into chunks of data, called logical extents. Within
a volume group, the size of the logical extent is the same as that
of the physical extent; that is, a one-to-one mapping exists between Administrator issues LVM commands (pvcreate, vgscan)
the logical extents and the physical extents. to manage device; receives status from /proc file system
Each physical extent has a unique identification number on
3 1
a physical volume but does not necessarily have a unique identi-
fication number on a logical volume because several different LVM commands use LVM kernel module
physical volumes can constitute one logical volume. Therefore, the and /proc file system to configure device
File system File system Logical does not support LVM. Administrators using LILO must put the
mount point Size (MB) type LVM group* volume name
boot partition outside LVM.
/ 6144 ext3 None None Although LVM can be used with several file system types, such
/boot 128 ext3 None None as ext2, ext3, and ReiserFS, this article addresses only ext3, the
default Red Hat Linux file system. Figure 3 shows an example par-
Logical volume File system Logical
mount point Size (MB) type LVM group volume name titioning scheme; the installation steps described in the following
sections use these values.
/home 4096 ext3 lvm00 lvm_home
and 512 MB. However, the installer limits this range to between 3. To determine the unallocated free space that can be used to
1 MB and 64 MB. expand the logical volumes, display all volume groups and
their size allocation status:
Managing and maintaining system storage vgdisplay
Once LVM is implemented during installation, managing and main-
taining system storage is the next task. If any logical volumes in 4. Expand the logical volume from an active but unallocated
the system become full, more space can be added by extending the physical volume:
logical volume using several methods, including: lvextend -L +X /dev/lvm_name/logical_volume_name
/dev/physical_volume
• Add more space from the free unallocated space in the same
volume group (see Scenario A in this article) where X is the expansion size. The results from steps 2 and 3
• Reduce another logical volume (see Scenario B) provide the available size for this expansion. The -L parameter
• Add more hard drives or Dell PowerVault disk enclosures to extends the logical volume size. In this scenario, the unallocated
the system (see Scenario C) physical volume is /dev/sda3. Expand the logical volume /home
by 10 GB by entering:
In the following scenarios that detail these approaches, /home lvextend -L +10G /dev/lvm00/home /dev/sda3
is the logical volume to be expanded. Although LVM does not
require these safety measures, administrators should perform a 5. Verify that the logical volume was extended by comparing
full system backup and bring the system to runlevel 1 (init 1) the current size to that found in step 2:
before starting the expansion; in some approaches, the logical pvscan
volume being modified should be taken offline. Dell also lvscan
recommends performing these operations during off-peak hours.
For more information about the LVM commands used in these These commands should report the updated space information.
scenarios, see “LVM commands for managing and maintaining
system storage” in this article. 6. Resize the file system:
e2fsck -f /dev/logical_volume_name
Scenario A: Expanding from unallocated space resize2fs /dev/lvm_name/logical_volume_name
in the same volume group
The “Make LVM Volume Group” window in Figure 4 shows that For this scenario, enter:
the volume group lvm00 still has 40 GB of active, unallocated space e2fsck -f /dev/lvm00/home
that can be used to expand any of the logical volumes. The resize2fs /dev/lvm00/home
7. Bring the logical volume online: reduce the logical volume before reducing the file system, because
mount /logical_volume_mounting_point doing so can corrupt the file system on the reduced logical volume.
Again, Dell recommends backing up the system before following the
For this scenario, enter: approach in this scenario. Performing the following procedure
mount /home expands one logical volume by reducing another—in this case, by
adding 2 GB from /data to /home:
8. Verify that the added space is accounted for:
df –h 1. Identify a logical volume to shrink that has sufficient free
space. The command df -h reports information about the
Administrators can also use the e2fsadm command to expand system storage usage.
the logical volume and resize its file system; this command com-
bines the lvextend, e2fsck, and resize2fs commands. 2. Bring the system down to runlevel 1:
init 1
LVM COMMANDS FOR MANAGING 4. Reduce the selected logical volume and its associated file system:
e2fsadm -L –X /dev/lvm_name/logical_volume_name
AND MAINTAINING SYSTEM STORAGE
where X is the size by which the volume should be reduced.
Figure A shows various LVM commands used in resizing and managing Take care not to reduce the size beyond its free space; doing
logical volumes. Detailed information about each command is available so can cause data loss—or corrupt the file system.
from the command’s man page.
For this scenario, enter the following command to reduce both
Command Description the file system and the logical volume /data by 2 GB:
pvcreate Creates a physical volume by initializing a disk or a partition e2fsadm -L -2G /dev/lvm00/data
pvscan Scans all drives for physical volumes and reports drive usage, including
available space 5. Expand the logical volume by the same amount the other
lvscan Scans all disks for logical volumes volume was reduced:
e2fsadm -L +X /dev/lvm_name/logical_volume_name
lvextend Expands the size of a logical volume by adding a given amount of space
from a given physical volume
where X is the expansion size. For this scenario, expand
lvreduce Reduces the size of a logical volume (if a file system exists on the volume,
the file system must be reduced using resize2fs before running this /home by 2 GB by entering:
command; lvreduce does not permit reducing a logical volume size
below its used space) e2fsadm -L +2G /dev/lvm00/home
e2fsadm Expands or reduces an ext2 file system and logical volume together init desired_runlevel
Figure A. LVM commands Administrators can also use the resize2fs, lvreduce, and
lvextend commands in place of e2fsadm to achieve these results.
Scenario C: Adding more storage LVM eases storage For this scenario, to expand /home by 10 GB, enter:
If a Dell PowerEdge server lacks un- e2fsadm -L +10G /dev/lvm00/home
allocated or unused storage space, management in Linux
administrators must add more storage Alternatively, use the lvextend and resize2fs commands
to expand volumes. This approach installations by instead of e2fsadm. In this case, enter:
requires adding more hard drives or lvextend -L +10G lvm00
a Dell disk enclosure such as a empowering Linux resize2fs /dev/lvm00/home 10G
PowerVault 220S. For background on
expanding storage for PowerEdge system administrators 6. Mount the expanded logical volume:
servers, see “Expanding Storage on mount /logical_volume_mounting_point
Linux-based Servers” by Matt to expand and
Domsch and Tesfamariam Michael in For this scenario, enter:
Dell Power Solutions, February 2003 reduce storage at an mount -a
(http://www.dell.com/us/en/esg/
topics/power_ps1q03-michael.htm). abstracted level. 7. Bring the system back to the desired runlevel (3 or 5):
The article is particularly helpful init desired_runlevel
because the expansion procedure can be very complex, especially
for RAID storage, the recommended type. To expand a volume by 8. Verify the changes:
adding more storage, administrators can follow these steps: df –h
1. Partition the added drive or RAID volume and set its Achieving more manageable storage environments
partition ID to 8e: LVM eases storage management in Linux installations by empow-
fdisk /dev/new_added_drive ering Linux system administrators to expand and reduce storage at
an abstracted level. Using the techniques described in this article,
For this scenario, to add the drive /dev/sdc, enter: administrators can upgrade, reallocate, and modify storage resources
fdisk /dev/sdc as needed, helping to create a nimble, scalable storage environment
with minimal complexity.
2. Create a physical volume on the new partition:
pvcreate /dev/partition_of_new_added_drive
Tesfamariam Michael (tesfamariam_michael@dell.com) is a software engineer on the
Linux Development Team of the Dell Product Group, which tests Linux on all Dell PowerEdge
For this scenario, enter:
servers. Tesfamariam has an M.S. in Computer Science from Clark Atlanta University, a B.S.
pvcreate /dev/sdc1
in Electrical Engineering from the Georgia Institute of Technology, and a B.S. in Mathemat-
ics from Clark Atlanta University. His areas of interest include operating systems and I/O devices.
3. Take the logical volume to be expanded offline:
umount /logical_volume_mounting_point
Joshua Giles (joshua_giles@dell.com) is a Linux systems management software engi-
For this scenario, enter: neer on the Linux Development Team of the Dell Product Group. His interests include oper-
umount /home ating systems, grammar- and automata-based programming, and Support Vector Machine
(SVM) learning. Joshua has a B.S. from the New Mexico Institute of Mining and Technology.
4. Expand the volume group:
vgextend volume_group_name physical_volume_name