# https://linuxconfig.org/linux-lvm-logical-volume-manager # apt-get install lvm2 # sudo dnf install lvm2 # fdisk -l # lsblk # lsblk -fe7 # blkid # parted -l # parted /dev/sde u s p # df -hT # du -sh /home # Check FREE SPACE # sfdisk --list-free /dev/vda # hwinfo --short --block # cat /proc/partitions # # Check SPEED # sudo hdparm -t --direct /dev/nvme0n1p1 # pvs, vgs, lvs, pvdisplay, vgdisplay, lvdisplay # WIPE DESTROY DISK CONTENTS # shred -n 5 -vz /dev/sdb # scrub -p dod /dev/sdb umount /dev/vgiso/iso && umount /dev/vgvm/vm && umount /dev/vgbackups/backups dd if=/dev/zero of=/dev/sdb bs=512 count=1 # PARTITION ON CMD LINE # cfdisk /dev/sdb fdisk /dev/sdb # then m, p, g, n, w, q Device Start End Sectors Size Type /dev/sdb1 419432448 838862847 419430400 200G Linux filesystem /dev/sdb2 838862848 1048578047 209715200 100G Linux filesystem /dev/sdb3 1048578048 3907028991 2858450944 1.3T Linux filesystem mkfs.ext4 -L VM /dev/sdb1 mkfs.ext4 -L ISO /dev/sdb2 mkfs.ext4 -L BACKUPS /dev/sdb3 # CREATE LVM VOLUME(s) pvcreate /dev/sdb1 vgcreate vgvm /dev/sdb1 lvcreate vgvm -l 100%FREE -n vm pvcreate /dev/sdb2 vgcreate vgiso /dev/sdb2 lvcreate vgiso -l 100%FREE -n iso pvcreate /dev/sdb3 vgcreate vgbackups /dev/sdb3 lvcreate vgbackups -l 100%FREE -n backups # lvcreate vgextra-vm -L 500G -n vg-vm vgextra # lvcreate vgextra-backups -L 900G -n vg-backups vgextra lvdisplay mkfs.ext4 -m 0 /dev/vgvm/vm mkfs.ext4 -m 0 /dev/vgiso/iso mkfs.ext4 -m 0 /dev/vgbackups/backups mkdir /iso && mkdir /vm && mkdir /backups vi /etc/fstab /dev/vgiso/iso /iso ext4 defaults 0 0 /dev/vgvm/vm /vm ext4 defaults 0 0 /dev/vgbackups/backups /backups ext4 defaults 0 0 systemctl daemon-reload mount -a # REMOVE LVM VOLUME # df -hT # vi /etc/fstab umount /dev/vgiso/iso && umount /dev/vgvm/vm && umount /dev/vgbackups/backups lvchange -an /dev/vgiso/iso && lvchange -an /dev/vgvm/vm && lvchange -an /dev/vgbackups/backups lvremove /dev/vgiso/iso && lvremove /dev/vgvm/vm && lvremove /dev/vgbackups/backups lvscan vgremove vgiso && vgremove vgvm && vgremove vgbackups pvremove /dev/sdd1 --force --force && pvremove /dev/sdd2 --force --force && pvremove /dev/sdd3 --force --force # RESIZE LVM AS ROOT: https://www.golinuxcloud.com/lvm-shrink-logical-volume/ df -hT /home lsblk -f umount /home fsck -f /dev/mapper/pg--vg-home resize2fs /dev/mapper/pg--vg-home 5G lvreduce -r -L 5G /dev/mapper/pg--vg-home mount /dev/mapper/pg--vg-home /home # Extend the logical volume zeus-vg/var by 4G lvextend -L+4G /dev/mapper/zeus--vg-var # resize the ext4 filesystem in logical volume zeus-vg/var to the new volume size resize2fs /dev/mapper/zeus--vg-var # lvextend --resizefs -l +100%FREE /dev/mapper/vg_debian-lv_root #RESIZE ext4 - # unmount /home because an ext4 filesystem cannot be reduced while mounted umount /home fsck -f /dev/mapper/zeus--vg-home resize2fs /dev/mapper/zeus--vg-home 50G # reduce the logical volume zeus-vg/home to 50G lvreduce -L50G /dev/mapper/zeus--vg-home # remount /home mount /home # MOUNT OTHER DRIVES cd/media mkdir 2TBSEAGATE mkdir 1TBNVME cd /etc mkdir backup cp /etc/fstab /etc/backup/fstab vi /etc/fstab /dev/sda1 /media/2TBSEAGATE ext4 defaults 0 2 /dev/nvme1n1p1 /media/1TBNVME ext4 defaults 0 2 # CREATE NEW SNAPSHOT lvcreate /dev/mapper/ -L 1G -s -n snapshot_name lvs # Mount a snapshot mount /dev/mapper/vg_extra-web_snapshot_20240624 /mnt/extra/snapshot # Restore a snapshot, Umount the original volume: umount /path/to/mounted/logical-volume lvconvert --merge /dev/mapper/snapshot_name # Deactivate/reactivate to fresh it: lvchange -an /dev/mapper/vg_extra-lv_web lvchange -ay /dev/mapper/vg_extra-lv_web