| Line 1: |
Line 1: |
| | https://www.howtoforge.com/linux_lvm | | https://www.howtoforge.com/linux_lvm |
| − | = Creating LVMs = | + | =Creating LVMs= |
| − | * Partition disks as Linux LVM with fdisk | + | |
| − | * Prepare new partitions for LVM Example: | + | *Partition disks as Linux LVM with fdisk |
| | + | *Prepare new partitions for LVM Example: |
| | + | |
| | pvcreate /dev/sdb1 /dev/sdc1 /dev/sde1 # pvremove /dev/sdb1 /dev/sdc1 /dev/sde1 to revert | | pvcreate /dev/sdb1 /dev/sdc1 /dev/sde1 # pvremove /dev/sdb1 /dev/sdc1 /dev/sde1 to revert |
| | pvdisplay # to show Physycal volumenes | | pvdisplay # to show Physycal volumenes |
| − | * Create a volume group example 'pilaf': | + | |
| − | vgcreate pilaf /dev/sdg1 /dev/sdf1 | + | *Create a volume group example 'pilaf': |
| | + | |
| | + | vgcreate pilaf /dev/sdg1 /dev/sdf1 # vgremove pilaf to delete |
| | + | |
| | + | *Check existing Volume Groups |
| | + | |
| | + | vgdisplay |
| | + | vgscan |
| | + | |
| | + | *Create logical volumes in volume group |
| | + | |
| | + | lvcreate --name pilaf_copy --size 4T pilaf |
| | + | lvcreate --name pilaf_converter --size 4T pilaf |
| | + | |
| | + | *Check existing logical volumes with: |
| | + | |
| | + | lvdisplay / lvscan |
| | + | |
| | + | *Rename logical volumes with |
| | + | |
| | + | lvrename {volume_group} {old_name} {new_name} | example: lvrename pilaf pilaf_copy pilaf_raw |
| | + | |
| | + | *Enlarge/reduce Logical volume with: |
| | + | |
| | + | lvextend -L4.5T /dev/pilaf/pilaf_raw |
| | + | lvreduce -L4T /dev/pilaf/pilaf_raw |
| | + | |
| | + | *Create the filesystems |
| | + | |
| | + | mkfs.ext4 /dev/pilaf/pilaf_raw |
| | + | mkfs.ext4 /dev/pilaf/pilaf_converter |
| | + | |
| | + | *Add /etc/fstab entries |
| | + | |
| | + | /dev/pilaf/pilaf_raw /Pilaf ext4 rw,noatime 0 0 |
| | + | /dev/pilaf/pilaf_converter /PilafConverter ext4 rw,noatime 0 0 |
| | + | |
| | + | =Resize LVM Logical Volumes & Filesystems= |
| | + | ==Enlarge== |
| | + | |
| | + | *Unmount the Logical Volume |
| | + | |
| | + | /umount /PilafConverter |
| | + | |
| | + | *Extend the Logical Volume |
| | + | |
| | + | lvextend -L 4.5T /dev/pilaf/pilaf_converter |
| | + | |
| | + | *Extend the filesystem |
| | + | |
| | + | e2fsck -f /dev/pilaf/pilaf_converter |
| | + | resize2fs /dev/pilaf/pilaf_converter |
| | + | |
| | + | *Mount again |
| | + | |
| | + | mount /dev/pilaf/pilaf_converter /PilafConverter |
| | + | ==Shrink== |
| | + | |
| | + | *Unmount the Logical Volume |
| | + | |
| | + | /umount /PilafConverter |
| | + | |
| | + | *Shrink (Requires a number of blocks) |
| | + | |
| | + | e2fsck -f /dev/pilaf/pilaf_converter # to figure out the blocks we want to keep |
| | + | resize2fs /dev/pilaf/pilaf_converter 104857600 |
| | + | lvreduce -L40G /dev/pilaf/pilaf_converter |
| | + | |
| | + | *Mount again |
| | + | |
| | + | mount /dev/pilaf/pilaf_converter /PilafConverter |
| | + | |
| | + | =Add/Remove Hard Drives= |
| | + | ==Add== |
| | + | |
| | + | *Format the new HD with fdisk (Linux LVM) |
| | + | |
| | + | fdisk /dev/sdX (n (new)--> p (primary)--> 1 (default sdX1)--> t --> Linux LVM (8e|30) --> w) |
| | + | |
| | + | *Prepare |
| | + | |
| | + | pvcreate /dev/sdX1 |
| | + | |
| | + | *Extend Volume Group |
| | + | |
| | + | vgextend fileserver /dev/sdX1 |
| | + | |
| | + | *Check |
| | + | |
| | + | vgdisplay |
| | + | ==Remove== |
| | + | |
| | + | *Move data to some other disk |
| | + | |
| | + | pvmove /dev/sdb1 /dev/sdf1 |
| | + | |
| | + | *Remove disk from Volume Group |
| | + | |
| | + | vgreduce fileserver /dev/sdb1 |
| | + | vgdisplay |
| | + | |
| | + | *Remove Phisical Volume |
| | + | |
| | + | pvremove /dev/sdb1 |
| | + | pvdisplay |
| | + | |
| | + | ==LVM Backup== |
| | + | https://www.howtoforge.com/linux_lvm_snapshots |
| | + | |
| | + | == Activate inactive Logical Group == |
| | + | <syntaxhighlight lang="bash"> |
| | + | vgchange -a y |
| | + | </syntaxhighlight> |
| | + | |
| | + | =Rename Logigal Volume= |
| | + | lvrename /dev/vg02/lvold /dev/vg02/lvnew |
| | + | lvrename vg02 lvold lvnew |