===================================
建立LVM
VG擴充 / 縮小
LV擴容
檔案系統擴容
基本分區( MBR | GPT )-------> Filesustem ---------> mount
邏輯卷LVM -------->Filesustem ---------> mount
( 容錯交給raid )
PE:Physical extent 實體擴充 4M 8M 16M 32M 64M 建立VG時指定 -s 8M
LE:Logical extent 邏輯擴充

一、建立LVM
0.準備實體磁盤
可以是 /dev/sdb /dev/sdc1
1.pvcreate、pvs、pvscan、pvdisplay、pvremove
vgcreate....
lvcreate......
pvcreate /dev/sdc
vgcreate datavg /dev/sdc
//建立邏輯卷
建立一個指定大小(100M)的lv,并指定名字為lv1 lv2
lvcreate -L 100M -n lv1 datavg
lvcreate -l 25 -n lv2 datavg //PE預設為4M,增加25個PE
2.建立檔案系統并挂載
[root@ecs-test-1 ~]# mkfs.ext4 /dev/datavg/lv1
[root@ecs-test-1 ~]# mkfs.xfs /dev/datavg/lv2
[root@ecs-test-1 ~]# vim /etc/fstab
/dev/datavg/lv1 /mnt/lv1 ext4 defaults 0 0
/dev/datavg/lv2 /mnt/lv2 xfs defaults 0 0
[root@ecs-test-1 ~]# mount -a
[root@ecs-test-1 ~]# df -h
線上擴容 online
二、VG管理
1.擴大VG
[root@localhost ~]# vgextend datavg /dev/sdd
Physical volume "/dev/sdd" successfully created.
Volume group "datavg" successfully extended
正常流程應該是先将dev/sdd pvcreate 然後 vgextend 擴大
2.縮小VG
先做資料的遷移
vgreduce datavg /dev/sde //将無資料的硬碟移除
Removed "/dev/sde" from volume group "datavg"
pvmove /dev/sdc //先将資料遷移再移除硬碟
/dev/sdc: Moved: 30.00%
/dev/sdc: Moved: 50.00%
/dev/sdc: Moved: 100.00%
vgreduce datavg /dev/sdc
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdc lvm2 --- 1.00g 1.00g
/dev/sdd datavg lvm2 a-- 1020.00m 820.00m
/dev/sde lvm2 --- 1.00g 1.00g
三、LV擴容(兩個步驟,先進行lv擴容,在進行fs擴容)
1.lv擴容
[root@localhost ~]# lvextend -L +201M /dev/datavg/lv1
Rounding size to boundary between physical extents: 204.00 MiB. //預設一個擴充為4M,正常;總共有76個擴充
Size of logical volume datavg/lv1 changed from 100.00 MiB (25 extents) to 304.00 MiB (76 extents).
Logical volume datavg/lv1 successfully resized.
[root@localhost ~]# lvextend -L 201M /dev/datavg/lv2
Rounding size to boundary between physical extents: 204.00 MiB.
Size of logical volume datavg/lv2 changed from 100.00 MiB (25 extents) to 204.00 MiB (51 extents).
Logical volume datavg/lv2 successfully resized.
+50% FREE
[root@localhost ~]# lvscan
ACTIVE '/dev/datavg/lv1' [304.00 MiB] inherit
ACTIVE '/dev/datavg/lv2' [204.00 MiB] inherit
2.FS擴容
a.xfs
xfs_growfs /dev/datavg/lv2 //後面沒有參數預設擴充到最大
b.ext2/3/4
resize2fs /dev/datavg/lv1 //後面沒有參數預設擴充到最大
資料遷移:
- 把storage B 加入到 VG
- pvmove 将storage A 資料遷移到 B
- vgreduce 将 storage A 移除
LVM管理檔案系統擴容