What is LVM and what is it used for?

448,148

Solution 1

Benefits

You can think of LVM as "dynamic partitions", meaning that you can create/resize/delete LVM "partitions" (they're called "Logical Volumes" in LVM-speak) from the command line while your Linux system is running: no need to reboot the system to make the kernel aware of the newly-created or resized partitions.

Other nice features that LVM "Logical Volumes" provide are:

  1. If you have more than one hard-disk, Logical Volumes can extend over more than one disk: i.e., they are not limited by the size of one single disk, rather by the total aggregate size.

  2. You can set up "striped" LVs, so that I/O can be distributed to all disks hosting the LV in parallel. (Similar to RAID-0, but a bit easier to set-up.)

  3. You can create a (read-only) snapshot of any LV. You can revert the original LV to the snapshot at a later time, or delete the snapshot if you no longer need it. This is handy for server backups for instance (you cannot stop all your applications from writing, so you create a snapshot and backup the snapshot LV), but can also be used to provide a "safety net" before a critical system upgrade (clone the root partition, upgrade, revert if something went wrong).

While being most useful on server systems, I think that features 1. and 3., combined with LVM's ability to create/resize/delete LVs on the fly, are quite handy on desktop systems as well. (Especially if you experiment a lot with the system.)

Downsides

Of course, all of this comes at a price: the initial setup of LVM is more complex than just partitioning a disk, and you will definitely need to understand the LVM terminology and model (Logical Volumes, Physical Volumes, Volume Groups) before you can start using it. (Once it is set up, using it is much easier, though.)

Also, if you use LVM across hard drives, you may lose all your data when only one drive fails.

Recommended reading

Solution 2

I know that this thread is old and that the OP has a lot better understanding of this, but I came across this thread whilst looking up something with LVM and thought I'd put my 2c in.

The short answer is that increasing the size of a partition on the disk is a pain.


I have an AWS (EC2) server I use for backups (using rsnapshot). As I start backing up more servers or the data changes more frequently I need more space.

My backup drive is currently a 250GB EBS volume that is now completely full and I want to increase it to 350GB in size, so I went to the AWS control panel, created a snapshot of the drive, created a new EBS volume from the snapshot and attached it. I now have a 250GB EXT4 partition full of data on a 350GB drive. I want to tell Ubuntu to use the larger space but I can't use resize2fs to increase the partition size and fdisk doesn't let me change the partition size either. Instead it only lets me delete the partition, create a new one at the larger size and then I have to Rsync the files across with the correct command line to also copy hardlinks.

That's a lot of work, so I recently set it up using LVM and now I can take the new, larger EBS disk and easily increase the LVM volume on it, then a quick resize2fs to tell the EXT4 filesystem that it's got some new space and bam, problem solved without having to copy hundreds of gigabytes of data. LVM is a saviour. Alternatively I could just mount another EBS volume extend the LVM to that and now it's spread over multiple disks but it's seen as only one partition, sweet!

Solution 3

The main benefit from using LVM is if you have more than one harddrive. With LVM you can group the hardrives into one huge one. Also you can add more space to this group if you add more harddrives.

With LVM you can simple work like you have only one single huge harddrive. Despite that LVM supports a lot expert features.

Solution 4

What kind of applications or content are you planning to host ? If it is a personal server or something for a small organization, you probably can get by without using LVM.

LVMs are useful if you need partitions etc across multiple disks. I doubt you would need it, given that you're asking here regarding it :)

Solution 5

Without answering your question directly (which the other posters already did), there is an easy answer about whether or not you need LVM: If you don't know some feature during installation in detail, leave it at its default setting. The default configuration will be fine for most users (including me and probably you). :)

Share:
448,148
Matthew Blackford
Author by

Matthew Blackford

I'm a software developer and entrepreneur from Adelaide, South Australia. I have a passion for using technology to solve problems and enjoy helping people to improve their businesses and everyday life. Particular areas on interest are PHP, Java, and Android development.

Updated on September 17, 2022

Comments

  • Matthew Blackford
    Matthew Blackford over 1 year

    As a Linux/Ubuntu newbie, what is LVM and what is it used for?

    In terms of a web server installation, what benefits does it provide?

    Would you recommend using it?

  • Matthew Blackford
    Matthew Blackford over 13 years
    Yes it's just a personal server, so it sounds like I won't be needing it. Thanks.
  • Flimm
    Flimm over 11 years
    With LVM2 you can also set up writeable snapshots too!
  • Admin
    Admin over 8 years
    Really self-defeating and destructive logic. People need to learn what's possible so they can decide what they need.
  • SteveJ
    SteveJ about 8 years
    @TomDworzanski Actually, this post has merit. There is a principal called "the last responsible moment". There is far too much information in this world to focus carefully on most choices. If you have never had a problem that LVM solves - then it makes sense to ignore it until you do.
  • Anders
    Anders about 8 years
    Late, but still. LVM are useful in situations when you need to create/resize/remove partitions while the machine is running with programs that uses the partitions. So yes, if you have a situation when you have installer on more than one partition, you should have a look att LVM. It isn't that hard to understand actually. Volume group are same has a hard disk. Logical volume are the same as a partition and Physical volumes are the partitions that you build the Volume group on.
  • sudo
    sudo almost 7 years
    LVM adds a lot of complexity. I left it enabled by default on my small server and now have a confusing situation with all these logical volumes not being set up the way I want, and now I have to go research how to fix this... or just start fresh without LVM (I understand basic partition tables).
  • sudo
    sudo almost 7 years
    With Ubuntu, it's enabled by default. I didn't know what it was and left it enabled. I wish I could go back.
  • user3757405
    user3757405 over 4 years
    Basically, LVM takes complicated things and makes them possible, but takes already possible things and makes them more complicated.