LVM: Difference between revisions
imported>Makefu Created page with "The Logical Volume Manager (LVM) provides means to dynamically organize partitions. == Basic Setup == LVM manages three types: * physical volumes - directly on a physical par..." |
imported>Novafacing m Command for creating a logical volume incorrect, named LV requires -n. |
||
Line 16: | Line 16: | ||
# creates a new logical volume named "home" with the size of 10GB (check with lvdisplay) | # creates a new logical volume named "home" with the size of 10GB (check with lvdisplay) | ||
# makes /dev/pool/home available | # makes /dev/pool/home available | ||
lvcreate -L 10G home pool | lvcreate -L 10G -n home pool | ||
mkfs.ext4 /dev/pool/home | mkfs.ext4 /dev/pool/home | ||
</syntaxHighlight> | </syntaxHighlight> |
Revision as of 23:59, 3 May 2020
The Logical Volume Manager (LVM) provides means to dynamically organize partitions.
Basic Setup
LVM manages three types:
- physical volumes - directly on a physical partition
- volume groups - a group of physical volumes
- logical volumes
Create a logical volume
# formats the partion into a physical volume (check with pvdisplay)
pvcreate /dev/sda2
# creates a new volume group named pool (check with vgdisplay)
vgcreate pool /dev/sda2
# creates a new logical volume named "home" with the size of 10GB (check with lvdisplay)
# makes /dev/pool/home available
lvcreate -L 10G -n home pool
mkfs.ext4 /dev/pool/home
Use the Logical Volume
in your `configuration.nix`:
filesystems."/home" = {
"device": "/dev/pool/home";
"fsType": "ext4";
}
Special LVM Modes
LVM provides a number of special features such as creating snapshots, raid for single Logical Volumes and much more. If you want to use these devices on bootup, the associated dm-*
kernel module must be provided in the initrd (see for example #33646) . This is a non-exhaustive list of features and the corresponding kernel module to put into your
configuration.nix
:
boot.initrd.kernelModules = [
"dm-snapshot" # when you are using snapshots
"dm-raid" # e.g. when you are configuring raid1 via: `lvconvert -m1 /dev/pool/home`
];
Automated Partitioning
People have created a number of tools to automate the partitioning in NixOS:
NixOps
NixOps can repartition Hetzner Physical Machines, see [NixOps Manual].
Disko
Disko provides means to automatically generate the creation and configuration of logical volumes, see http://cgit.lassul.us/disko/tree/README.md .