開發與維運

LVM管理

===================================
創建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 邏輯擴展

image.png
一、創建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 //後面沒有參數默認擴展到最大
數據遷移:

  1. 把storage B 加入到 VG
  2. pvmove 將storage A 數據遷移到 B
  3. vgreduce 將 storage A 移除
    image.png

Leave a Reply

Your email address will not be published. Required fields are marked *