一:磁盘分区

二: PV

三: VG,以及从VG中删除PV和添加PV

四: LV

五:扩展LV、缩减LV




1.1创建磁盘分区,修改分区类型为LVM

Linux逻辑卷的创建以及扩展和缩减_第1张图片

Linux逻辑卷的创建以及扩展和缩减_第2张图片

Linux逻辑卷的创建以及扩展和缩减_第3张图片

Linux逻辑卷的创建以及扩展和缩减_第4张图片

Linux逻辑卷的创建以及扩展和缩减_第5张图片

Linux逻辑卷的创建以及扩展和缩减_第6张图片




2.1安装lvm2

yum install lvm2

Linux逻辑卷的创建以及扩展和缩减_第7张图片



2.2创建PV(Physical Volume)

2.2.1相关概念图

Linux逻辑卷的创建以及扩展和缩减_第8张图片




2.2.2把sdb5、sdb6创建为PV

[root@localhost /]# pvcreate /dev/sdb{5,6}

wKiom1VnHhbQy419AACLD4w6pIA730.jpg



2.3查看当前系统的所有PV

[root@localhost /]# pvscan

wKioL1VnH--TxI6dAAB-J5CK6GA455.jpg



2.4查看PV的详细信息

[root@localhost /]# pvdisplay /dev/sdb5

Linux逻辑卷的创建以及扩展和缩减_第9张图片



3.1创建VG(卷组)

语法:vgcreate 卷组名 -s 指定PE大小 加入卷组的PV

[root@localhost /]# vgcreate mysqlVG /dev/sdb{5,6}

wKioL1VnIGTRGcUlAABfCX2jO3s044.jpg



3.2查看VG(卷组)的详细信息

Linux逻辑卷的创建以及扩展和缩减_第10张图片



3.3查看PV的PE大小

[root@localhost /]# pvdisplay /dev/sdb5

Linux逻辑卷的创建以及扩展和缩减_第11张图片



3.9空间太大了,磁盘浪费,所以需要移除一个PV

3.9.1查看pv信息

[root@localhost ~]# pvs

wKiom1VnH1yCh0IQAAC8Oy8MXLE669.jpg



3.9.2从VG中拿掉一个PV的时候,如果这个PV上有数据,直接拿掉的话,数据就损坏了,所以在执行vgreduce之前一定要先把PV上的数据挪走

 

 

3.9.3首先先把sdb6这个PV上的数据移动到其它PV上,切记这里一定要使用pvmove而不是pvremove

[root@localhost /]# pvmove /dev/sdb6

wKiom1VnH5fQmWn-AABwqe9jUVg433.jpg



3.9.4移除sdb6这个PV

[root@localhost /]# vgreduce mysqlVG /dev/sdb6

wKiom1VnH8XQ6jmbAACK4mTplG8285.jpg



3.9.5查看VG下的PV

wKioL1VnIYjjD1IqAACC59a41co508.jpg



3.9.6查看PV情况

wKioL1VnIazyx16bAACFwU9lFhk284.jpg



3.9.7删除PV

wKioL1VnIdPQGTQOAABuKtTy_HI989.jpg



3.9.8再次查看PV

wKioL1VnIfrA6eIiAAB-yj5HGtc637.jpg



3.10假如系统运行了一年,这个VG不够用了,想扩展一下

3.10.1创建磁盘分区

 

3.10.2创建为PV,指定使用的磁盘分区

[root@localhost /]# pvcreate /dev/sdb7

wKioL1VnIjGQEjdQAAB4d8n94V8282.jpg



3.10.3扩展VG

[root@localhost /]# vgextend mysqlVG /dev/sdb7

wKiom1VnIO3jBtVUAACDsabze5Y321.jpg



3.10.4查看VG下的PV

Linux逻辑卷的创建以及扩展和缩减_第12张图片




4.1创建LV

语法:lvcreate -n LV_NAME -L LV_SIZE VG_NAME

[root@localhost/]# lvcreate -n mysqlLV -L 50M mysqlVG

wKioL1VnItbTdW8IAACUIzl6Ct4229.jpg



4.2查看LV的详细信息

语法:lvdisplay /dev/vg_name/lv_name

[root@localhost /]# lvdisplay /dev/mysqlVG/mysqlLV

Linux逻辑卷的创建以及扩展和缩减_第13张图片



4.3格式化LV

语法:mke2fs -t 文件类型 /dev/vg_name/lv_name

[root@localhost /]# mke2fs -t ext4 /dev/mysqlVG/mysqlLV

Linux逻辑卷的创建以及扩展和缩减_第14张图片



4.4挂载LV

[root@localhost /]# mount /dev/mysqlVG/mysqlLV /mnt



4.5移除LV

语法:lvremove /dev/vg_name/lv_name



5.1扩展逻辑卷

5.1.1查看当前LVM的大小

Linux逻辑卷的创建以及扩展和缩减_第15张图片



5.1.2查看VG空间的大小,确保有足够的空间进行扩展,如果空间不够,创建分区,修改分区类型,创建PV,把PV加入VG

Linux逻辑卷的创建以及扩展和缩减_第16张图片




5.1.3扩展物理边界

语法:lvextend -L ADD_LV_SIZE /PATH/TO/LV

[root@localhost /]# lvextend -L 10G /dev/mysqlVG/mysqlLV

wKiom1VnIp-g8U3bAABbEFXKDO0984.jpg

Linux逻辑卷的创建以及扩展和缩减_第17张图片



5.1.4扩展逻辑边界

语法:resize2fs -p /path/to/lv (-p扩展到物理边界)

[root@localhost /]# resize2fs -p /dev/mysqlVG/mysqlLV

wKioL1VnJIDA3Xk3AADJ7ntfqsM227.jpg

Linux逻辑卷的创建以及扩展和缩减_第18张图片




5.2缩减逻辑卷

注意:

    1.不能在线缩减,得先卸载

    2.确保缩减后的空间大小,依然能存储原有的所有数据

    3.在缩减之前应该强行检查文件系统,以确保文件系统处于一致性状态


5.2.1查看LV空间大小

Linux逻辑卷的创建以及扩展和缩减_第19张图片



5.2.2卸载、并且强行检查文件系统

e2fsck -f /path/to/lv

Linux逻辑卷的创建以及扩展和缩减_第20张图片



5.2.3缩减逻辑边界

语法:resize2fs /path/to/lv 缩减到多大

[root@localhost /]# resize2fs /dev/mysqlVG/mysqlLV 5G

wKiom1VnI6HD5YIjAAC6Idg7d0c499.jpg



5.2.4缩减物理边界

语法:lvreduce -L 缩减到多大 /path/to/lv

[root@localhost /]# lvreduce -L 5G /dev/mysqlVG/mysqlLV

wKiom1VnI_ewBndbAAB_WYcjThw345.jpg

Linux逻辑卷的创建以及扩展和缩减_第21张图片