[TriLUG] cool underexposed Linux toys - LVM
Magnus
chrish at trilug.org
Wed Jul 23 21:45:58 EDT 2003
For those of you who are just getting into Linux, or those who have
been at it for awhile but haven't yet gotten their hands dirty in LVM,
I think it is time for a quick intro.
Those of you who hang out in the #trilug channel on IRC heard me asking
some questions earlier, then finding the answers and becoming quite
enamored with this completely underexposed part of most modern Linux
distributions.
LVM, or Logical Volume Management, is a software tool that allows you
to abstract and manage your hard disk(s). It has undeniable perks for
small standalone servers with a single IDE disk as well as large
enterprise servers with multi-terabyte SAN arrays.
First you need to wrap your brain around how LVM organizes your disks.
First you take entire hard disks, or partitions of hard disks, and tag
them as a Physical Volume (PV).
Next you create a Volume Group (VG) which can contain one or more PV's.
You can think of the VG as one large virtual hard disk.
The next step is to create Logical Volumes (LV). An LV is like a
partition of a hard disk. One or more LV's are contained within a VG.
You don't have to use all of your available space, and indeed you
probably shouldn't use up all of your available space when creating
LV's.
The LV's are formatted with the filesystem of your choice (usually
ext3) just like a normal hard disk partition. They can then be mounted
like a normal filesystem.
But then it gets neat.
Let's say your /home partition gets close to filling up. Remember how
you didn't allocate all of your available space when making up the
LV's? Well now you can extend your LV that contains /home, and extend
the filesystem itself to consume the additional space in the LV that
you just appended.
What if you *did* use up all of your available space when you defined
your LV's? Not a problem. Chances are one of your other filesystems
has free space. Let's say /usr has 2GB of free space. /usr doesn't
change much. So let's shrink the LV that contains /usr by 1800MB and
then reallocate that space to /home. Not a problem. You can shrink
filesystems just as easily as you can grow them.
For you RDBMS admins check this out; you can create filesystem
snapshots using unallocated space. So you can stop the database,
create a snapshot, and start the database again in a second or two.
Then just back up from the snapshot, and disable the snapshot when
you're done. Total RDBMS downtime is so fast you might miss it if you
blink.
You can read the LVM HOWTO at
http://tldp.org/HOWTO/LVM-HOWTO/index.html but really the only way to
get an appreciation for LVM is to slap an extra old drive or two (or
three) into your Linux box and play with it. I did just that today and
came away salivating from the practical applications of this. And this
is someone who has been using Linux professionally for over five years.
The commands are very easy to understand. If you have figured out how
to edit a file in vi or emacs, then you have enough brain cells to
understand the simple management commands for LVM.
For you install fest folks, you might want to give serious though to
making use of LVM in your installs. It will give the owner of the box
a lot more control over disk layout down the road when they understand
the dynamics of their machine better and can re-allocate space as
needed (or append new drives even).
I know that Red Hat 9 has LVM support in the installer, and I am told
Mandrake has had this for some time. Older versions of Red Hat don't
seem to have full support for this, and by extension some of the Red
Hat offshoots don't seem to yet. The HOWTO describes, well, HOW TO
install LVM on systems that don't already have it.
--
C. Magnus Hedemark
http://trilug.org/~chrish
PGP Key fingerprint = 984D 9A88 3D60 016F BE01 1506 60FB 85E1 9ABD 96F6
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <http://www.trilug.org/pipermail/trilug/attachments/20030723/58c5d293/attachment.pgp>
More information about the TriLUG
mailing list