I have been meaning to spend some quality time with Linux LVM. Some of the features that Linux Volume Manager offers (according to Wikipedia) are:
- Resize volume groups online by absorbing new physical volumes (PV) or ejecting existing ones
- Resize logical volumes (LV) online by concatenating extents onto them or truncating extents from them
- Create read-only snapshots of logical volumes (LVM1)
- Create read-write snapshots of logical volumes (LVM2)
- Stripe whole or parts of logical volumes across multiple PVs, in a fashion similar to RAID0
- Mirror whole or parts of logical volumes, in a fashion similar to RAID1
- Move online logical volumes between PVs
You can see why learning this might be attractive, especially for someone that runs Linux in Virtual Machines under VMware. I say especially in this scenario, because with the advent of ESX 3.5 Update 2 it is now so easy to expand virtual disks.
I found two great articles that helped me out no end in getting a better grip on LVMs. The first is an incredible article that talks about many different ways of managing disks in Linux, but specifically LVMs and can be found here. The second is tutorial style article that even has a downloadable VM that relates to the tutorial. The downloadable VM is a debian distribution that comes with disks that will be manipulated throughout the tutorial, truly excellent.