10-14-2020 |
||||||||||||||||||||||||||||||||||||
LVM Logcial Volume
Manager |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
11-15-2020 |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
LVM stand for Logical Volume Management, its 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.
|
||||||||||||||||||||||||||||||||||||
[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
|
||||||||||||||||||||||||||||||||||||
[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 |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
[root@zmpt01 ~]# lvcreate -n Accounting -L 4G zmpt1 Logical
volume "Accounting" created.
|
||||||||||||||||||||||||||||||||||||
[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.
|
||||||||||||||||||||||||||||||||||||
[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 |
||||||||||||||||||||||||||||||||||||
[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 |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
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. |