LVM: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Delete) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Resource = | |||
* [https://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29 Logical Volume Manager (Linux)] | |||
* [https://linuxhint.com/whatis_logical_volume_management/ Benefits of LVM] | |||
* [https://i.pinimg.com/originals/3c/bb/33/3cbb339e0b3a8c71c80662598a63f877.png A layout illustration] | |||
* [http://www.linuxjournal.com/content/lvm-demystified LVM Demystified] | * [http://www.linuxjournal.com/content/lvm-demystified LVM Demystified] | ||
* [https://www.itzgeek.com/post/how-to-install-ubuntu-20-04-lts/ How To Install Ubuntu 20.04 LTS (Focal Fossa) On UEFI and Legacy BIOS System] | * [https://www.itzgeek.com/post/how-to-install-ubuntu-20-04-lts/ How To Install Ubuntu 20.04 LTS (Focal Fossa) On UEFI and Legacy BIOS System] | ||
Line 4: | Line 9: | ||
** [https://www.howtogeek.com/211937/how-to-use-lvm-on-ubuntu-for-easy-partition-resizing-and-snapshots/ How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots] | ** [https://www.howtogeek.com/211937/how-to-use-lvm-on-ubuntu-for-easy-partition-resizing-and-snapshots/ How to Use LVM on Ubuntu for Easy Partition Resizing and Snapshots] | ||
* [https://manjaro.site/how-to-extend-lvm-disk-on-ubuntu-20-04/ How to Extend LVM Disk on Ubuntu 20.04] | * [https://manjaro.site/how-to-extend-lvm-disk-on-ubuntu-20-04/ How to Extend LVM Disk on Ubuntu 20.04] | ||
* [https://www.2daygeek.com/extend-increase-resize-lvm-logical-volume-in-linux/ How to Extend/Increase LVM’s (Logical Volume Resize) in Linux] | * [https://www.2daygeek.com/extend-increase-resize-lvm-logical-volume-in-linux/ How to Extend/Increase LVM’s (Logical Volume Resize) in Linux], [https://ostechnix.com/resize-lvm-partitions-linux/ How To Resize LVM Partitions In Linux] | ||
* [https://www.answertopia.com/ubuntu/adding-a-new-disk-to-an-ubuntu-volume-group-and-logical-volume/ Adding a New Disk to an Ubuntu 20.04 Volume Group and Logical Volume] | * [https://www.answertopia.com/ubuntu/adding-a-new-disk-to-an-ubuntu-volume-group-and-logical-volume/ Adding a New Disk to an Ubuntu 20.04 Volume Group and Logical Volume] | ||
* [https://www.makeuseof.com/how-to-set-up-flexible-file-system-storage-with-lvm-in-linux/ How to Set Up Flexible File System Storage With LVM in Linux] | * [https://www.makeuseof.com/how-to-set-up-flexible-file-system-storage-with-lvm-in-linux/ How to Set Up Flexible File System Storage With LVM in Linux] | ||
* '''LVM Layout''' & [https://manjaro.site/arch-linux-tutorial-configure-lvm-arch-linux-2017/ Arch Linux Tutorial – Configure LVM on Arch Linux 2017] | * [https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/ LFCS: How to Manage and Create LVM Using vgcreate, lvcreate and lvextend Commands – Part 11] | ||
* [https://www.digitalocean.com/community/tutorials/an-introduction-to-lvm-concepts-terminology-and-operations An Introduction to LVM Concepts, Terminology, and Operations] | |||
== Cheatsheet == | |||
* [https://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/ Downloadable LVM Cheat Sheet] | |||
* [http://www.datadisk.org.uk/html_docs/redhat/rh_lvm.htm datadisk.org.uk] | |||
* [https://www.privex.io/articles/linux-lvm-cheatsheet/#show-physical-volumes privex.io] | |||
== Naming convention == | |||
* /dev/vg_<hostname>_<type><number>/lv_<filesystem>. See [https://listman.redhat.com/archives/linux-lvm/2011-April/msg00061.html this] | |||
* /dev/vg_`hostname -s`_[0-9][0-9]/lv_{foo|bar}. See [https://linux-lvm.redhat.narkive.com/r5sJR3R6/lvm-naming-convention this]. | |||
= Creation = | |||
<ul> | |||
<li>[https://www.smarthomebeginner.com/setup-lvm-pool-hard-drive-ubuntu/ Setup LVM and pool hard drives in Ubuntu or Kodibuntu] | |||
<syntaxhighlight lang='bash'> | |||
# Step 1 Find your drive names | |||
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL | |||
NAME FSTYPE SIZE MOUNTPOINT LABEL | |||
sda 223.6G | |||
├─sda1 1007K | |||
├─sda2 vfat 512M /boot/efi | |||
└─sda3 LVM2_member 223.1G | |||
├─pve-swap swap 8G [SWAP] | |||
└─pve-root ext4 215.1G / | |||
nvme0n1 465.8G | |||
└─nvme0n1p1 ext4 465.8G /mnt/pve/vm1 | |||
# Step 2 Format your drives | |||
fdisk /dev/sdX | |||
# Step 3 Create physical volume | |||
pvcreate /dev/sd[bcd] | |||
pvdisplay | |||
# Step 4 Adding the VG (Volume Group) to the LVM | |||
vgcreate {VG_NAME} /dev/sd[bcd] | |||
vgdisplay | |||
# Step 5 Adding the LV (Logical Volume) to the LVM VG (Volume Group) | |||
lvcreate -l 100%FREE -n {LV_NAME} {VG_NAME} | |||
lvdisplay | |||
# Step 6 FORMATTING OUR NEW LVM LV (LOGICAL VOLUME) | |||
mkfs.ext4 {LV_PATH} | |||
# Step 7 MOUNT LVM LV (LOGICAL VOLUME) ON BOOT | |||
blkid | |||
# Grab the UUID of your storage space, | |||
# it will be after the /dev/mapper/{VG_NAME}-{LV_NAME} | |||
nano /etc/fstab | |||
mount -a | |||
# Step 8 ENABLE SMART DRIVE MONITORING | |||
nano /etc/defaults/smartmontools | |||
nano /etc/smartd.conf | |||
</syntaxhighlight> | |||
</li> | |||
<li> | |||
'''LVM Layout''' & [https://manjaro.site/arch-linux-tutorial-configure-lvm-arch-linux-2017/ Arch Linux Tutorial – Configure LVM on Arch Linux 2017] | |||
<syntaxhighlight lang='bash'> | |||
# Step 0 See available physical disks | |||
fdisk | |||
# Step 1 Create new Physical Volume | |||
pvcreate /dev/vdb | |||
pvcreate /dev/vdc | |||
pvdisplay | |||
# Step 2 Create new Volume Group (VG) | |||
vgcreate archVG /dev/vdb /dev/vdc | |||
vgdisplay | |||
# Step 3 Logical Volume | |||
lvcreate -L 5G archVG -n archLV01 | |||
lvcreate -L 15G archVG -n archLV02 | |||
lvdisplay | |||
lsblk | |||
# Step 4 Format the new volume | |||
mkfs.ext4 /dev/mapper/archVG-archLV01 | |||
# Step 5 Mount | |||
mount /dev/mapper/archVG-archLV01 /mnt | |||
</syntaxhighlight> | |||
</li> | |||
<li>[https://manjaro.site/how-to-extend-lvm-disk-on-ubuntu-20-04/ How to Extend LVM Disk on Ubuntu 20.04] | |||
<syntaxhighlight lang='bash'> | |||
# Step 1. Check the file system list | |||
sudo df -h /home/ | |||
# Step 2. Check the Physical Volume (pv) | |||
sudo pvs | |||
sudo vgdisplay | |||
sudo lvdisplay | |||
# Step 3. Create a New Physical Volume | |||
sudo fdisk -l | |||
sudo lvmdiskscan | |||
sudo pvcreate /dev/sdb | |||
sudo lvmdiskscan -l | |||
# Step 4. Add the new Physical Volume (pv) to Existing Logical Volume (lv) | |||
sudo vgextend ubuntu-vg /dev/sdb | |||
sudo lvm lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv | |||
sudo resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv | |||
sudo df -h | |||
</syntaxhighlight> | |||
</li> | |||
</ul> | |||
== Add new disk == | |||
<ul> | |||
<li>[https://manjaro.site/add-new-disk-existing-volume-group/ How to add new disk to existing Volume Group] '''vgextend''' | |||
<syntaxhighlight lang='bash'> | |||
# Step 1 Create Physical Volume | |||
pvcreate /dev/vdc | |||
# Step 2 Add Physical Volume to Existing Volume Group | |||
vgdisplay | |||
vgextend manjaro_lvm /dev/vdc | |||
vgdisplay | |||
</syntaxhighlight> | |||
</li> | |||
<li>[https://www.suse.com/support/kb/doc/?id=000018068 Adding a New Disk Into an Existing Logical Volume]. '''lvextend''' | |||
<syntaxhighlight lang='bash'> | |||
umount /dev/serverdata/data | |||
fdisk -l | |||
pvcreate /dev/sdb | |||
vgextend serverdata /dev/sdb | |||
vgdisplay serverdata | |||
lvextend -l +100%FREE /dev/serverdata/data | |||
# OR something like | |||
# lvextend -L+25G /dev/serverdata/data | |||
lvdisplay serverdata | |||
e2fsck -f /dev/serverdata/data # optional | |||
resize2fs /dev/serverdata/data | |||
e2fsck -f /dev/serverdata/data # optional | |||
</syntaxhighlight> | |||
</li> | |||
</ul> | |||
= Delete = | |||
<ul> | |||
<li>[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/pv_remove 5.2.5. REMOVING PHYSICAL VOLUMES] from RedHat </li> | |||
<li>[https://www.cyberithub.com/delete-volume-group-lvm-in-linux/ How to Delete Volume Group(LVM) in Linux Using 5 Easy Steps] | |||
<syntaxhighlight lang='sh'> | |||
# 1. Check mounted Logical Volume using df command | |||
df -h | |||
# 2. Unmount the Volume using umount command | |||
umount /u01 | |||
# 3. Disable Logical Volume using lvchange command | |||
lvchange -an /dev/vol_grp/log_grp1 | |||
lvscan | |||
# 4. Delete Logical Volume using lvremove command | |||
lvremove /dev/vol_grp/log_grp1 | |||
lvscan | |||
# 5. Delete Volume Group using vgremove command | |||
vgremove vol_grp | |||
vgscan | |||
# 6. Delete physical volumes using pvremove command | |||
pvremove /dev/sdb | |||
pvremove /dev/sda4 | |||
</syntaxhighlight> | |||
</li> | |||
<li>[https://www.2daygeek.com/linux-remove-delete-physical-volume-pv-from-volume-group-vg-in-lvm How to Remove Physical Volume from a Volume Group in LVM] </li> | |||
<li>[https://www.looklinux.com/how-to-remove-volume-group-and-physical-volume-on-lvm/ How to Remove Volume Group and Physical Volume on LVM] </li> | |||
<li>[https://faun.pub/linux-quick-tip-how-to-delete-or-remove-lvm-volumes-7df4447102af Linux Quick Tip: How to Delete or Remove LVM volumes] </li> | |||
<li>[https://linuxconfig.org/using-lvm-to-manage-physical-volumes-volume-groups-and-logical-volumes-rhcsa-objective-preparation Using LVM to manage physical volumes, volume groups, and logical volumes] – RHCSA Objective Preparation </li> | |||
</ul> | |||
= Move = | |||
[https://ostechnix.com/move-lvm-volume-group-to-another-machine/ How To Move LVM Volume Group To Another Machine In Linux] | |||
= Snapshot = | |||
* [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/snapshot_command 5.4.5. CREATING SNAPSHOT VOLUMES] from RedHat | |||
* [https://www.tecmint.com/take-snapshot-of-logical-volume-and-restore-in-lvm/ How to Take ‘Snapshot of Logical Volume and Restore’ in LVM – Part III] | |||
** lvcreate | |||
** lvconvert | |||
* [https://tuxfixer.com/backup-and-restore-logical-volume-using-lvm-snapshot/ Backup and Restore Logical Volume using LVM Snapshot] | |||
* [https://linuxconfig.org/create-and-restore-manual-logical-volume-snapshots LVM backup and restore snapshot in Linux] | |||
* [https://www.bleepingcomputer.com/news/linux/kali-linux-adds-vm-like-snapshot-feature-to-bare-metal-installs/ Kali Linux adds VM-like snapshot feature to bare-metal installs] | |||
= Raspberry Pi = | |||
* [https://raspberrypi.stackexchange.com/questions/85958/easy-backups-and-snapshots-of-a-running-system-with-lvm Easy backups and snapshots of a running system with LVM] |
Latest revision as of 15:10, 24 February 2023
Resource
- Logical Volume Manager (Linux)
- Benefits of LVM
- A layout illustration
- LVM Demystified
- How To Install Ubuntu 20.04 LTS (Focal Fossa) On UEFI and Legacy BIOS System
- How to Manage and Use LVM (Logical Volume Management) in Ubuntu
- How to Extend LVM Disk on Ubuntu 20.04
- How to Extend/Increase LVM’s (Logical Volume Resize) in Linux, How To Resize LVM Partitions In Linux
- Adding a New Disk to an Ubuntu 20.04 Volume Group and Logical Volume
- How to Set Up Flexible File System Storage With LVM in Linux
- LFCS: How to Manage and Create LVM Using vgcreate, lvcreate and lvextend Commands – Part 11
- An Introduction to LVM Concepts, Terminology, and Operations
Cheatsheet
Naming convention
- /dev/vg_<hostname>_<type><number>/lv_<filesystem>. See this
- /dev/vg_`hostname -s`_[0-9][0-9]/lv_{foo|bar}. See this.
Creation
- Setup LVM and pool hard drives in Ubuntu or Kodibuntu
# Step 1 Find your drive names lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL NAME FSTYPE SIZE MOUNTPOINT LABEL sda 223.6G ├─sda1 1007K ├─sda2 vfat 512M /boot/efi └─sda3 LVM2_member 223.1G ├─pve-swap swap 8G [SWAP] └─pve-root ext4 215.1G / nvme0n1 465.8G └─nvme0n1p1 ext4 465.8G /mnt/pve/vm1 # Step 2 Format your drives fdisk /dev/sdX # Step 3 Create physical volume pvcreate /dev/sd[bcd] pvdisplay # Step 4 Adding the VG (Volume Group) to the LVM vgcreate {VG_NAME} /dev/sd[bcd] vgdisplay # Step 5 Adding the LV (Logical Volume) to the LVM VG (Volume Group) lvcreate -l 100%FREE -n {LV_NAME} {VG_NAME} lvdisplay # Step 6 FORMATTING OUR NEW LVM LV (LOGICAL VOLUME) mkfs.ext4 {LV_PATH} # Step 7 MOUNT LVM LV (LOGICAL VOLUME) ON BOOT blkid # Grab the UUID of your storage space, # it will be after the /dev/mapper/{VG_NAME}-{LV_NAME} nano /etc/fstab mount -a # Step 8 ENABLE SMART DRIVE MONITORING nano /etc/defaults/smartmontools nano /etc/smartd.conf
-
LVM Layout & Arch Linux Tutorial – Configure LVM on Arch Linux 2017
# Step 0 See available physical disks fdisk # Step 1 Create new Physical Volume pvcreate /dev/vdb pvcreate /dev/vdc pvdisplay # Step 2 Create new Volume Group (VG) vgcreate archVG /dev/vdb /dev/vdc vgdisplay # Step 3 Logical Volume lvcreate -L 5G archVG -n archLV01 lvcreate -L 15G archVG -n archLV02 lvdisplay lsblk # Step 4 Format the new volume mkfs.ext4 /dev/mapper/archVG-archLV01 # Step 5 Mount mount /dev/mapper/archVG-archLV01 /mnt
- How to Extend LVM Disk on Ubuntu 20.04
# Step 1. Check the file system list sudo df -h /home/ # Step 2. Check the Physical Volume (pv) sudo pvs sudo vgdisplay sudo lvdisplay # Step 3. Create a New Physical Volume sudo fdisk -l sudo lvmdiskscan sudo pvcreate /dev/sdb sudo lvmdiskscan -l # Step 4. Add the new Physical Volume (pv) to Existing Logical Volume (lv) sudo vgextend ubuntu-vg /dev/sdb sudo lvm lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv sudo resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv sudo df -h
Add new disk
- How to add new disk to existing Volume Group vgextend
# Step 1 Create Physical Volume pvcreate /dev/vdc # Step 2 Add Physical Volume to Existing Volume Group vgdisplay vgextend manjaro_lvm /dev/vdc vgdisplay
- Adding a New Disk Into an Existing Logical Volume. lvextend
umount /dev/serverdata/data fdisk -l pvcreate /dev/sdb vgextend serverdata /dev/sdb vgdisplay serverdata lvextend -l +100%FREE /dev/serverdata/data # OR something like # lvextend -L+25G /dev/serverdata/data lvdisplay serverdata e2fsck -f /dev/serverdata/data # optional resize2fs /dev/serverdata/data e2fsck -f /dev/serverdata/data # optional
Delete
- 5.2.5. REMOVING PHYSICAL VOLUMES from RedHat
- How to Delete Volume Group(LVM) in Linux Using 5 Easy Steps
# 1. Check mounted Logical Volume using df command df -h # 2. Unmount the Volume using umount command umount /u01 # 3. Disable Logical Volume using lvchange command lvchange -an /dev/vol_grp/log_grp1 lvscan # 4. Delete Logical Volume using lvremove command lvremove /dev/vol_grp/log_grp1 lvscan # 5. Delete Volume Group using vgremove command vgremove vol_grp vgscan # 6. Delete physical volumes using pvremove command pvremove /dev/sdb pvremove /dev/sda4
- How to Remove Physical Volume from a Volume Group in LVM
- How to Remove Volume Group and Physical Volume on LVM
- Linux Quick Tip: How to Delete or Remove LVM volumes
- Using LVM to manage physical volumes, volume groups, and logical volumes – RHCSA Objective Preparation
Move
How To Move LVM Volume Group To Another Machine In Linux
Snapshot
- 5.4.5. CREATING SNAPSHOT VOLUMES from RedHat
- How to Take ‘Snapshot of Logical Volume and Restore’ in LVM – Part III
- lvcreate
- lvconvert
- Backup and Restore Logical Volume using LVM Snapshot
- LVM backup and restore snapshot in Linux
- Kali Linux adds VM-like snapshot feature to bare-metal installs