Changes

Jump to navigation Jump to search
m
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 ==
+
==LVM Backup==
 
  https://www.howtoforge.com/linux_lvm_snapshots
 
  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

Navigation menu