一:磁盘分区
二: PV
三: VG,以及从VG中删除PV和添加PV
四: LV
五:扩展LV、缩减LV
1.1创建磁盘分区,修改分区类型为LVM
2.1安装lvm2
yum install lvm2
2.2创建PV(Physical Volume)
2.2.1相关概念图
2.2.2把sdb5、sdb6创建为PV
[[email protected] /]# pvcreate /dev/sdb{5,6}
2.3查看当前系统的所有PV
[[email protected] /]# pvscan
2.4查看PV的详细信息
[[email protected] /]# pvdisplay /dev/sdb5
3.1创建VG(卷组)
语法:vgcreate 卷组名-s 指定PE大小 加入卷组的PV [[email protected] /]# vgcreate mysqlVG /dev/sdb{5,6}
3.2查看VG(卷组)的详细信息
3.3查看PV的PE大小
[[email protected] /]# pvdisplay /dev/sdb5
3.9空间太大了,磁盘浪费,所以需要移除一个PV
3.9.1查看pv信息
[[email protected] ~]# pvs
3.9.2从VG中拿掉一个PV的时候,如果这个PV上有数据,直接拿掉的话,数据就损坏了,所以在执行vgreduce之前一定要先把PV上的数据挪走
3.9.3首先先把sdb6这个PV上的数据移动到其它PV上,切记这里一定要使用pvmove而不是pvremove
[[email protected] /]# pvmove /dev/sdb6
3.9.4移除sdb6这个PV
[[email protected] /]# vgreduce mysqlVG /dev/sdb6
3.9.5查看VG下的PV
3.9.6查看PV情况
3.9.7删除PV
3.9.8再次查看PV
3.10假如系统运行了一年,这个VG不够用了,想扩展一下
3.10.1创建磁盘分区
3.10.2创建为PV,指定使用的磁盘分区
[[email protected] /]# pvcreate /dev/sdb7
3.10.3扩展VG
[[email protected] /]# vgextend mysqlVG /dev/sdb7
3.10.4查看VG下的PV
4.1创建LV
语法:lvcreate -n LV_NAME -L LV_SIZE VG_NAME [[email protected]/]# lvcreate -n mysqlLV -L 50M mysqlVG
4.2查看LV的详细信息
语法:lvdisplay /dev/vg_name/lv_name [[email protected] /]# lvdisplay /dev/mysqlVG/mysqlLV
4.3格式化LV
语法:mke2fs -t 文件类型 /dev/vg_name/lv_name [[email protected] /]# mke2fs -t ext4 /dev/mysqlVG/mysqlLV
4.4挂载LV
[[email protected] /]# mount /dev/mysqlVG/mysqlLV /mnt
4.5移除LV
语法:lvremove /dev/vg_name/lv_name
5.1扩展逻辑卷
5.1.1查看当前LVM的大小
5.1.2查看VG空间的大小,确保有足够的空间进行扩展,如果空间不够,创建分区,修改分区类型,创建PV,把PV加入VG
5.1.3扩展物理边界
语法:lvextend -L ADD_LV_SIZE /PATH/TO/LV [[email protected] /]# lvextend -L 10G /dev/mysqlVG/mysqlLV
5.1.4扩展逻辑边界
语法:resize2fs -p /path/to/lv (-p扩展到物理边界) [[email protected] /]# resize2fs -p /dev/mysqlVG/mysqlLV
5.2缩减逻辑卷
注意:
1.不能在线缩减,得先卸载
2.确保缩减后的空间大小,依然能存储原有的所有数据
3.在缩减之前应该强行检查文件系统,以确保文件系统处于一致性状态
5.2.1查看LV空间大小
5.2.2卸载、并且强行检查文件系统
5.2.3缩减逻辑边界
语法:resize2fs /path/to/lv 缩减到多大 [[email protected] /]# resize2fs /dev/mysqlVG/mysqlLV 5G
5.2.4缩减物理边界
语法:lvreduce -L 缩减到多大 /path/to/lv [[email protected] /]# lvreduce -L 5G /dev/mysqlVG/mysqlLV