Difference between revisions of "Logical Volume Management (LVM)"
Jump to navigation
Jump to search
Rafahsolis (talk | contribs) |
Rafahsolis (talk | contribs) Tag: visualeditor |
||
| (2 intermediate revisions by the same user not shown) | |||
| 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': | + | |
| + | *Create a volume group example 'pilaf': | ||
| + | |||
vgcreate pilaf /dev/sdg1 /dev/sdf1 # vgremove pilaf to delete | vgcreate pilaf /dev/sdg1 /dev/sdf1 # vgremove pilaf to delete | ||
| − | * Check existing Volume Groups | + | |
| + | *Check existing Volume Groups | ||
| + | |||
vgdisplay | vgdisplay | ||
vgscan | vgscan | ||
| − | * Create logical volumes in volume group | + | |
| + | *Create logical volumes in volume group | ||
| + | |||
lvcreate --name pilaf_copy --size 4T pilaf | lvcreate --name pilaf_copy --size 4T pilaf | ||
lvcreate --name pilaf_converter --size 4T pilaf | lvcreate --name pilaf_converter --size 4T pilaf | ||
| − | * Check existing logical volumes with: | + | |
| + | *Check existing logical volumes with: | ||
| + | |||
lvdisplay / lvscan | lvdisplay / lvscan | ||
| − | * Rename logical volumes with | + | |
| + | *Rename logical volumes with | ||
| + | |||
lvrename {volume_group} {old_name} {new_name} | example: lvrename pilaf pilaf_copy pilaf_raw | lvrename {volume_group} {old_name} {new_name} | example: lvrename pilaf pilaf_copy pilaf_raw | ||
| − | * Enlarge/reduce Logical volume with: | + | |
| + | *Enlarge/reduce Logical volume with: | ||
| + | |||
lvextend -L4.5T /dev/pilaf/pilaf_raw | lvextend -L4.5T /dev/pilaf/pilaf_raw | ||
lvreduce -L4T /dev/pilaf/pilaf_raw | lvreduce -L4T /dev/pilaf/pilaf_raw | ||
| − | * Create the filesystems | + | |
| + | *Create the filesystems | ||
| + | |||
mkfs.ext4 /dev/pilaf/pilaf_raw | mkfs.ext4 /dev/pilaf/pilaf_raw | ||
mkfs.ext4 /dev/pilaf/pilaf_converter | mkfs.ext4 /dev/pilaf/pilaf_converter | ||
| − | * Add /etc/fstab entries | + | |
| + | *Add /etc/fstab entries | ||
| + | |||
/dev/pilaf/pilaf_raw /Pilaf ext4 rw,noatime 0 0 | /dev/pilaf/pilaf_raw /Pilaf ext4 rw,noatime 0 0 | ||
/dev/pilaf/pilaf_converter /PilafConverter ext4 rw,noatime 0 0 | /dev/pilaf/pilaf_converter /PilafConverter ext4 rw,noatime 0 0 | ||
| − | = Resize LVM Logical Volumes & Filesystems = | + | =Resize LVM Logical Volumes & Filesystems= |
| − | == Enlarge == | + | ==Enlarge== |
| − | * Unmount the Logical Volume | + | |
| + | *Unmount the Logical Volume | ||
| + | |||
/umount /PilafConverter | /umount /PilafConverter | ||
| − | * Extend the Logical Volume | + | |
| + | *Extend the Logical Volume | ||
| + | |||
lvextend -L 4.5T /dev/pilaf/pilaf_converter | lvextend -L 4.5T /dev/pilaf/pilaf_converter | ||
| − | * Extend the filesystem | + | |
| + | *Extend the filesystem | ||
| + | |||
e2fsck -f /dev/pilaf/pilaf_converter | e2fsck -f /dev/pilaf/pilaf_converter | ||
resize2fs /dev/pilaf/pilaf_converter | resize2fs /dev/pilaf/pilaf_converter | ||
| − | * Mount again | + | |
| + | *Mount again | ||
| + | |||
mount /dev/pilaf/pilaf_converter /PilafConverter | mount /dev/pilaf/pilaf_converter /PilafConverter | ||
| − | == Shrink == | + | ==Shrink== |
| − | * Unmount the Logical Volume | + | |
| + | *Unmount the Logical Volume | ||
| + | |||
/umount /PilafConverter | /umount /PilafConverter | ||
| − | * Shrink (Requires a number of blocks) | + | |
| + | *Shrink (Requires a number of blocks) | ||
| + | |||
e2fsck -f /dev/pilaf/pilaf_converter # to figure out the blocks we want to keep | e2fsck -f /dev/pilaf/pilaf_converter # to figure out the blocks we want to keep | ||
resize2fs /dev/pilaf/pilaf_converter 104857600 | resize2fs /dev/pilaf/pilaf_converter 104857600 | ||
lvreduce -L40G /dev/pilaf/pilaf_converter | lvreduce -L40G /dev/pilaf/pilaf_converter | ||
| − | * Mount again | + | |
| + | *Mount again | ||
| + | |||
mount /dev/pilaf/pilaf_converter /PilafConverter | mount /dev/pilaf/pilaf_converter /PilafConverter | ||
| − | = Add/Remove Hard Drives = | + | =Add/Remove Hard Drives= |
| − | == Add == | + | ==Add== |
| − | * Format the new HD with fdisk (Linux LVM) | + | |
| + | *Format the new HD with fdisk (Linux LVM) | ||
| + | |||
fdisk /dev/sdX (n (new)--> p (primary)--> 1 (default sdX1)--> t --> Linux LVM (8e|30) --> w) | fdisk /dev/sdX (n (new)--> p (primary)--> 1 (default sdX1)--> t --> Linux LVM (8e|30) --> w) | ||
| − | * Prepare | + | |
| + | *Prepare | ||
| + | |||
pvcreate /dev/sdX1 | pvcreate /dev/sdX1 | ||
| − | * Extend Volume Group | + | |
| + | *Extend Volume Group | ||
| + | |||
vgextend fileserver /dev/sdX1 | vgextend fileserver /dev/sdX1 | ||
| − | * Check | + | |
| + | *Check | ||
| + | |||
vgdisplay | vgdisplay | ||
| − | == Remove == | + | ==Remove== |
| − | * Move data to some other disk | + | |
| + | *Move data to some other disk | ||
| + | |||
pvmove /dev/sdb1 /dev/sdf1 | pvmove /dev/sdb1 /dev/sdf1 | ||
| − | * Remove disk from Volume Group | + | |
| + | *Remove disk from Volume Group | ||
| + | |||
vgreduce fileserver /dev/sdb1 | vgreduce fileserver /dev/sdb1 | ||
vgdisplay | vgdisplay | ||
| − | * Remove Phisical Volume | + | |
| + | *Remove Phisical Volume | ||
| + | |||
pvremove /dev/sdb1 | pvremove /dev/sdb1 | ||
pvdisplay | 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 | ||
Latest revision as of 18:12, 28 May 2024
https://www.howtoforge.com/linux_lvm
Creating LVMs[edit]
- 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 pvdisplay # to show Physycal volumenes
- 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[edit]
Enlarge[edit]
- 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[edit]
- 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[edit]
Add[edit]
- 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[edit]
- 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[edit]
https://www.howtoforge.com/linux_lvm_snapshots
Activate inactive Logical Group[edit]
vgchange -a y
Rename Logigal Volume[edit]
lvrename /dev/vg02/lvold /dev/vg02/lvnew lvrename vg02 lvold lvnew