10-14-2020

https://youtu.be/AneCZr5-tLA

 

 

LVM – Logcial Volume Manager

 

 

11-15-2020

https://youtu.be/3oC5SgcoBf0

 

 

 

 

/dev/sdc

8GB

 

 

/dev/sdd

16GB

 

/dev/sde

24GB

 

Logical Volume Group – zmpt1

48GB

 

 

Accounting

4GB

 

Finance

6GB

 

HR

2GB

 

HR

+6G

 

Recruiting

4 GB

 

 

Free space 26GB

 

 

LVM stand for Logical Volume Management, it’s a system of managing logical voumes  or file systems, that is much more advanced and flexlible than the traditional method of partitioning a disk into one or more segments and formatting that parition with filesystem.

 

File system – ext4 or xfs

 

 

[root@zmpt01 ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda               8:0    0   16G  0 disk

sda1            8:1    0    1G  0 part /boot

└─sda2            8:2    0   15G  0 part

  centos-root 253:0    0 13.4G  0 lvm  /

  └─centos-swap 253:1    0  1.6G  0 lvm  [SWAP]

sdb               8:16   0   16G  0 disk

sdb1            8:17   0    8G  0 part

sdb2            8:18   0    4G  0 part

└─sdb3            8:19   0    2G  0 part

sdc               8:32   0    8G  0 disk

sdd               8:48   0   16G  0 disk

sde               8:64   0   24G  0 disk

 

 

[root@zmpt01 ~]# pvcreate /dev/sdc /dev/sdd /dev/sde

  Physical volume "/dev/sdc" successfully created.

  Physical volume "/dev/sdd" successfully created.

  Physical volume "/dev/sde" successfully created.

 

Command

Disk1

Disk 2

Disk 3

Pvcreate

/dev/sdc

/dev/sdd

/dev/sde

 

 

 

 

[root@zmpt01 ~]# blkid

/dev/sdc: UUID="pYcEYd-WWPb-cwhu-7dn5-lMIk-vWhk-7B9x6x" TYPE="LVM2_member"

/dev/sdd: UUID="MnAGcr-jORK-JhHN-1vBB-xFtf-ECl6-uWYRS3" TYPE="LVM2_member"

/dev/sde: UUID="FpAXdB-xeBK-Hdrq-HKZa-rmF0-l0PF-sK1sGt" TYPE="LVM2_member"

 

 

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g     0

  /dev/sdc          lvm2 ---    8.00g  8.00g

  /dev/sdd          lvm2 ---   16.00g 16.00g

  /dev/sde          lvm2 ---   24.00g 24.00g

 

 

[root@zmpt01 ~]# vgcreate zmpt1 /dev/sdc /dev/sdd /dev/sde

  Volume group "zmpt1" successfully created

 

zmpt1 now acts as a single disk

 

Command

Volume group name

Disk 1

Disk 2

Diesk 3

vgcreate

zmpt1

/dev/sdc

/dev/sdd

/dev/sde

 

 

 

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g      0

  zmpt1    3   0   0 wz--n- <47.99g <47.99g

 

 

[root@zmpt01 ~]# vgdisplay zmpt1

  --- Volume group ---

  VG Name               zmpt1

  System ID

  Format                lvm2

  Metadata Areas        3

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                3

  Act PV                3

  VG Size               <47.99 GiB

  PE Size               4.00 MiB

  Total PE              12285

  Alloc PE / Size       0 / 0

  Free  PE / Size       12285 / <47.99 GiB

  VG UUID               pC41AQ-xwrj-NlkE-3B1i-eXcL-tTEF-NedVpe

 

 

 

Accounting

4GB

Finance

6GB

HR

2GB

Recruiting

4GB

 

 

 

[root@zmpt01 ~]# lvcreate -n Accounting -L 4G zmpt1

  Logical volume "Accounting" created.

 

command

New

Logical volume name

Logical

Size

Volume Group

Lvcreate

-n

Accounting

-L

4G

Zmpt1

 

 

 

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g      0

  zmpt1    3   1   0 wz--n- <47.99g <43.99g

 

 

[root@zmpt01 ~]# lvdisplay zmpt1

  --- Logical volume ---

  LV Path                /dev/zmpt1/Accounting

  LV Name                Accounting

  VG Name                zmpt1

  LV UUID                EnuV1G-5Suf-PfYM-KMAH-XY3O-as1A-K2rT0W

  LV Write Access        read/write

  LV Creation host, time zmpt01.prod.zmprotech.com, 2020-11-15 16:23:14 -0500

  LV Status              available

  # open                 0

  LV Size                4.00 GiB

  Current LE             1024

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:2

 

 

[root@zmpt01 ~]# lvs zmpt1

  LV         VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  Accounting zmpt1 -wi-a----- 4.00g 

 

Mount the LVM paritition

 

[root@zmpt01 ~]# mkdir /accounting

[root@zmpt01 ~]# mount /dev/zmpt1/Accounting /accounting

 

[root@zmpt01 ~]# df –h

/dev/mapper/zmpt1-Accounting  4.0G   33M  4.0G   1% /accounting

 

 

[root@zmpt01 ~]# lvcreate -n Finance -L 6G zmpt1

  Logical volume "Finance" created.

[root@zmpt01 ~]# lvcreate -n HR -L 2G zmpt1

  Logical volume "HR" created.

[root@zmpt01 ~]# lvcreate -n Recruiting -L 4G zmpt1

  Logical volume "Recruiting" created.

 

 

[root@zmpt01 ~]# mkdir /finance

[root@zmpt01 ~]# mkdir /hr

[root@zmpt01 ~]# mkdir /recruiting

 

 

[root@zmpt01 ~]# mkfs.xfs /dev/zmpt1/Finance

[root@zmpt01 ~]# mkfs.xfs /dev/zmpt1/HR

[root@zmpt01 ~]# mkfs.xfs /dev/zmpt1/Recruiting

 

 

[root@zmpt01 ~]# mount /dev/zmpt1/Finance /finance/

[root@zmpt01 ~]# mount /dev/zmpt1/HR /hr/

[root@zmpt01 ~]# mount /dev/zmpt1/Recruiting /recruiting/

 

 

[root@zmpt01 ~]# df –h

/dev/mapper/zmpt1-Accounting  4.0G   33M  4.0G   1% /accounting

/dev/mapper/zmpt1-Finance     6.0G   33M  6.0G   1% /finance

/dev/mapper/zmpt1-HR          2.0G   33M  2.0G   2% /hr

/dev/mapper/zmpt1-Recruiting  4.0G   33M  4.0G   1% /recruiting

 

The partitions are created randomly

 

[root@zmpt01 ~]# lsblk

sdc                  8:32   0    8G  0 disk

zmpt1-Accounting 253:2    0    4G  0 lvm  /accounting

└─zmpt1-HR         253:4    0    2G  0 lvm  /hr

sdd                  8:48   0   16G  0 disk

zmpt1-Finance    253:3    0    6G  0 lvm  /finance

└─zmpt1-Recruiting 253:5    0    4G  0 lvm  /recruiting

sde                  8:64   0   24G  0 disk

 

 

[root@zmpt01 ~]# vi /etc/fstab

 

/dev/mapper/zmpt1-Accounting  /accounting       xfs     defaults        0 0

/dev/mapper/zmpt1-Finance     /finance       xfs     defaults        0 0

/dev/mapper/zmpt1-HR          /hr       xfs     defaults        0 0

/dev/mapper/zmpt1-Recruiting  /recruiting       xfs     defaults        0 0

 

[root@zmpt01 ~]# mount -a

[root@zmpt01 ~]# init 6

 

[root@zmpt01 ~]# df -h

Filesystem                    Size  Used Avail Use% Mounted on

devtmpfs                      484M     0  484M   0% /dev

tmpfs                         496M     0  496M   0% /dev/shm

tmpfs                         496M  6.8M  489M   2% /run

tmpfs                         496M     0  496M   0% /sys/fs/cgroup

/dev/mapper/centos-root        14G  1.8G   12G  14% /

/dev/mapper/zmpt1-Accounting  4.0G   33M  4.0G   1% /accounting

/dev/mapper/zmpt1-HR          2.0G   33M  2.0G   2% /hr

/dev/mapper/zmpt1-Recruiting  4.0G   33M  4.0G   1% /recruiting

/dev/mapper/zmpt1-Finance     6.0G   33M  6.0G   1% /finance

/dev/sda1                    1014M  136M  879M  14% /boot

tmpfs                         100M     0  100M   0% /run/user/0

 

Extedning the Logical Volume

Simulate the disk is full HR

 

[root@zmpt01 hr]# dd if=/dev/zero of=zafar1 bs=4096 count=+2G

/dev/mapper/zmpt1-HR          2.0G  2.0G   20K 100% /hr

 

Determine the free space available

 

 

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g      0

  zmpt1    3   4   0 wz--n- <47.99g <31.99g         < ----available disk space

 

[root@zmpt01 ~]# vgdisplay zmpt1

Alloc PE / Size       4096 / 16.00 GiB

  Free  PE / Size       8189 / <31.99 GiB                < ---available disk space

 

 

[root@zmpt01 ~]# lvextend -L +6G /dev/mapper/zmpt1-HR

  Size of logical volume zmpt1/HR changed from 2.00 GiB (512 extents) to 8.00 GiB (2048 extents).

  Logical volume zmpt1/HR successfully resized.

 

Command

Logical

Size

Logical Volume

lvextend

-L

+6G

/dev/mapper/zmpt1-HR

 

 

 

[root@zmpt01 ~]# xfs_growfs /dev/mapper/zmpt1-HR

 

[root@zmpt01 ~]# df –h

 

/dev/mapper/zmpt1-HR          8.0G  2.0G  6.0G  25% /hr          < ---now you can see the new size

 

 

[root@zmpt01 ~]# lvcreate -n LVSWAP -L 4G zmpt1

  Logical volume "LVSWAP" created.

 

 

[root@zmpt01 ~]# mkswap /dev/zmpt1/LVSWAP

Setting up swapspace version 1, size = 4194300 KiB

no label, UUID=e0908f33-9f5f-461f-9ed1-f702ff06160d

 

 

[root@zmpt01 ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           991M        137M         75M        6.8M        777M        702M

Swap:          1.6G          0B        1.6G

[root@zmpt01 ~]# swapon /dev/mapper/zmpt1-LVSWAP

[root@zmpt01 ~]# free -h

              total        used        free      shared  buff/cache   available

Mem:           991M        141M         72M        6.8M        777M        699M

Swap:          5.6G          0B        5.6G

 

 

Make entry into /etc/fstab

 

Adding Physical Disk

 

Add 40GB disk

 

 

11-22-2020

https://youtu.be/bs0FE_VAUvs

 

[root@zmpt01 ~]# lsblk

NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                  8:0    0   16G  0 disk

sda1               8:1    0    1G  0 part /boot

└─sda2               8:2    0   15G  0 part

  centos-root    253:0    0 13.4G  0 lvm  /

  └─centos-swap    253:1    0  1.6G  0 lvm  [SWAP]

sdb                  8:16   0   16G  0 disk

sdb1               8:17   0    8G  0 part

sdb2               8:18   0    4G  0 part

└─sdb3               8:19   0    2G  0 part

sdc                  8:32   0    8G  0 disk

zmpt1-Accounting 253:2    0    4G  0 lvm  /accounting

└─zmpt1-HR         253:4    0    8G  0 lvm  /hr

sdd                  8:48   0   16G  0 disk

zmpt1-Finance    253:3    0    6G  0 lvm  /finance

zmpt1-HR         253:4    0    8G  0 lvm  /hr

└─zmpt1-Recruiting 253:5    0    4G  0 lvm  /recruiting

sde                  8:64   0   24G  0 disk

└─zmpt1-LVSWAP     253:6    0    4G  0 lvm

sdf                  8:80   0   40G  0 disk                                                  < ---New Disk Added

sr0                 11:0    1 1024M  0 rom

 

/dev/sdf is not part of any group yet

 

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g      0

  zmpt1    3   5   0 wz--n- <47.99g <21.99g

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0

  /dev/sdd   zmpt1  lvm2 a--  <16.00g   1.99g

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

 

Make /dev/sdf LVM formattable

 

[root@zmpt01 ~]# pvcreate /dev/sdf

  Physical volume "/dev/sdf" successfully created.

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0

  /dev/sdd   zmpt1  lvm2 a--  <16.00g   1.99g

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

  /dev/sdf          lvm2 ---   40.00g  40.00g                           < ---formatted as LVM, but not part of vg – Volume Group

 

Add /dev/sdf to the VG – zmpt1

 

[root@zmpt01 ~]# vgextend zmpt1 /dev/sdf

  Volume group "zmpt1" successfully extended

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0

  /dev/sdd   zmpt1  lvm2 a--  <16.00g   1.99g

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

  /dev/sdf   zmpt1  lvm2 a--  <40.00g <40.00g                                 < ----/dev/sdf is part of zmpt1

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g     0

  zmpt1    4   5   0 wz--n-  87.98g 61.98g

 

 

/dev/sdd is corrupted – it need to be removed

 

[root@zmpt01 ~]# lsblk

NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                  8:0    0   16G  0 disk

sda1               8:1    0    1G  0 part /boot

└─sda2               8:2    0   15G  0 part

  centos-root    253:0    0 13.4G  0 lvm  /

  └─centos-swap    253:1    0  1.6G  0 lvm  [SWAP]

sdb                  8:16   0   16G  0 disk

sdb1               8:17   0    8G  0 part

sdb2               8:18   0    4G  0 part

└─sdb3               8:19   0    2G  0 part

sdc                  8:32   0    8G  0 disk

zmpt1-Accounting 253:2    0    4G  0 lvm  /accounting

└─zmpt1-HR         253:4    0    8G  0 lvm  /hr

sdd                  8:48   0   16G  0 disk

zmpt1-Finance    253:3    0    6G  0 lvm  /finance

zmpt1-HR         253:4    0    8G  0 lvm  /hr

└─zmpt1-Recruiting 253:5    0    4G  0 lvm  /recruiting

sde                  8:64   0   24G  0 disk

└─zmpt1-LVSWAP     253:6    0    4G  0 lvm

sdf                  8:80   0   40G  0 disk

sr0                 11:0    1 1024M  0 rom

 

This command will move LVM structure, Data and Block information from /dev/sdd to /dev/sdf – link cloning

 

[root@zmpt01 ~]# pvmove /dev/sdd /dev/sdf

  /dev/sdd: Moved: 0.14%

  /dev/sdd: Moved: 42.85%

  /dev/sdd: Moved: 71.44%

  /dev/sdd: Moved: 100.00%

 

 

[root@zmpt01 ~]# lsblk

NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda                  8:0    0   16G  0 disk

sda1               8:1    0    1G  0 part /boot

└─sda2               8:2    0   15G  0 part

  centos-root    253:0    0 13.4G  0 lvm  /

  └─centos-swap    253:1    0  1.6G  0 lvm  [SWAP]

sdb                  8:16   0   16G  0 disk

sdb1               8:17   0    8G  0 part

sdb2               8:18   0    4G  0 part

└─sdb3               8:19   0    2G  0 part

sdc                  8:32   0    8G  0 disk

zmpt1-Accounting 253:2    0    4G  0 lvm  /accounting

└─zmpt1-HR         253:4    0    8G  0 lvm  /hr

sdd                  8:48   0   16G  0 disk

sde                  8:64   0   24G  0 disk

└─zmpt1-LVSWAP     253:6    0    4G  0 lvm

sdf                  8:80   0   40G  0 disk

zmpt1-Finance    253:3    0    6G  0 lvm  /finance

zmpt1-HR         253:4    0    8G  0 lvm  /hr

└─zmpt1-Recruiting 253:5    0    4G  0 lvm  /recruiting

sr0                 11:0    1 1024M  0 rom

 

 

[root@zmpt01 ~]# lvs

  LV         VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  root       centos -wi-ao---- 13.39g                                

  swap       centos -wi-ao----  1.60g                                

  Accounting zmpt1  -wi-ao----  4.00g                                

  Finance    zmpt1  -wi-ao----  6.00g                                 

  HR         zmpt1  -wi-ao----  8.00g                                

  LVSWAP     zmpt1  -wi-a-----  4.00g                                

  Recruiting zmpt1  -wi-ao----  4.00g             

 

 

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0                      < --- Remove the corrupted disk

  /dev/sdd   zmpt1  lvm2 a--  <16.00g <16.00g

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

  /dev/sdf   zmpt1  lvm2 a--  <40.00g  25.99g

 

 

[root@zmpt01 ~]# vgreduce zmpt1 /dev/sdd

  Removed "/dev/sdd" from volume group "zmpt1"

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0

  /dev/sdd          lvm2 ---   16.00g  16.00g                     < --- Remove completed

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

  /dev/sdf   zmpt1  lvm2 a--  <40.00g  25.99g

 

 

 

 

/dev/sdc

8GB

 

 

 

/dev/sde

24GB

 

/dev/sdf

40GB

 

Logical Volume Group – zmpt1

72GB

 

 

Accounting

4GB

 

Finance

6GB

 

HR

2GB

 

HR

+6G

 

Recruiting

4 GB

 

 

SWAP

4GB

Free space 46GB

 

 

 

Increase inodes to xfs files system /dev/sdd1

 

[root@zmpt01 ~]# df -i /dev/sdc

Filesystem     Inodes IUsed  IFree IUse% Mounted on

devtmpfs       123861   446 123415    1% /dev

 

 

[root@zmpt01 mnt]# df -i /dev/sdd1

Filesystem      Inodes IUsed   IFree IUse% Mounted on

/dev/sdd1      1048576 10003 1038573    1% /mnt

 

[root@zmpt01 ~]# xfs_growfs -m 40  /dev/sdd1

 

 

[root@zmpt01 ~]# xfs_db -f -c "sb 0" -c "p" /dev/sdd1 | grep imax_pct

imax_pct = 40

 

 

[root@zmpt01 ~]# df -i /dev/sdd1

Filesystem      Inodes IUsed   IFree IUse% Mounted on

/dev/sdd1      1677720 10003 1667717    1% /mnt

 

There is no data loss

 

Delete LV and VG – decommisioning of Physcial Harware

 

[root@zmpt01 ~]# vgs

  VG     #PV #LV #SN Attr   VSize   VFree

  centos   1   2   0 wz--n- <15.00g      0

  zmpt1    3   5   0 wz--n- <71.99g <45.99g                       < ---Target LVM to delete

 

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g      0

  /dev/sdc   zmpt1  lvm2 a--   <8.00g      0

  /dev/sde   zmpt1  lvm2 a--  <24.00g <20.00g

  /dev/sdf   zmpt1  lvm2 a--  <40.00g  25.99g

 

 

[root@zmpt01 ~]# umount –a

 

 

[root@zmpt01 ~]# vgremove zmpt1 -y

  Logical volume "Accounting" successfully removed

  Logical volume "Finance" successfully removed

  Logical volume "HR" successfully removed

  Logical volume "Recruiting" successfully removed

  Logical volume "LVSWAP" successfully removed

  Volume group "zmpt1" successfully removed

 

 

[root@zmpt01 ~]# blkid

/dev/sda1: UUID="160e6caa-b0a9-468b-9de1-04189acc84ce" TYPE="xfs"

/dev/sda2: UUID="oLnQZF-bJU0-02T3-t0wF-DhnB-2JI6-CQI9f2" TYPE="LVM2_member"

/dev/sdb1: UUID="47d30ab1-92ee-4dc8-8c79-ef9dd898e1f0" TYPE="ext4"

/dev/sdb2: UUID="e5a18729-daf6-4c7b-89db-3a5979d3c254" TYPE="xfs"

/dev/sdb3: UUID="7d459795-930e-4cc5-b737-a84b452ff04a" TYPE="swap"

/dev/sdc: UUID="pYcEYd-WWPb-cwhu-7dn5-lMIk-vWhk-7B9x6x" TYPE="LVM2_member"

/dev/sde: UUID="FpAXdB-xeBK-Hdrq-HKZa-rmF0-l0PF-sK1sGt" TYPE="LVM2_member"

/dev/sdf: UUID="ZoCio8-qWEh-NG7u-HlLR-hLph-Rpl5-d9x6mr" TYPE="LVM2_member"

/dev/mapper/centos-root: UUID="5c79b16a-cfd4-4d5a-8e9c-b9b1a37b4936" TYPE="xfs"

/dev/mapper/centos-swap: UUID="c7801c38-9828-49b2-8a12-7610376d8b8a" TYPE="swap"

/dev/sdd1: UUID="5588ebda-0031-4b2b-b80e-a5a1a68e0bf7" TYPE="xfs"

 

 

[root@zmpt01 ~]# pvs

  PV         VG     Fmt  Attr PSize   PFree

  /dev/sda2  centos lvm2 a--  <15.00g     0

  /dev/sdc          lvm2 ---    8.00g  8.00g

  /dev/sde          lvm2 ---   24.00g 24.00g

  /dev/sdf          lvm2 ---   40.00g 40.00g

 

 

[root@zmpt01 ~]# pvremove /dev/sdc /dev/sde /dev/sdf

  Labels on physical volume "/dev/sdc" successfully wiped.

  Labels on physical volume "/dev/sde" successfully wiped.

  Labels on physical volume "/dev/sdf" successfully wiped.