# LVM 创建过程 : pv -> vgcreate创建卷组 -> lvcreate创建逻辑卷 -> mkfs.xfs lv 格式化-> mount挂载
1、创建PV
# 格式 : pvcreate 磁盘
pvcreate /dev/sdg
# 检查创建PV情况
pvs
pvdisplay /dev/sdg
2、创建VG卷组
# 格式 : vgcreate VG卷组名 磁盘1 磁盘2
vgcreate app-vg /dev/sdg
注:【PE的大小只有为2的幂数,且最大为512M】。
指定PE大小用:指定PE大小用的参数: -s , 如果存储的数据都是大文件,那么PE尽量调大,读取速度快
# 格式: vgcreate -s 大小[M] VG名 磁盘1 磁盘2
# 检查创建VG情况
vgs
vgdisplay app-vg
3、创建逻辑卷LV
# 格式 : lvcreate -n 逻辑卷LV名 -L 16M VG卷组名
lvcreate -n app-lv -L 1G app-vg
# 检查创建逻辑卷LV
lvs
lvdisplay
df -Th
# 格式化
mkfs.xfs /dev/app-vg/app-lv
# 挂载
mkdir /app
mount /dev/app-vg/app-lv /app
echo "/dev/app-vg/app-lv /app xfs defaults 0 0" >> /etc/fstab
4、LV扩容
首先,确定一下是否有可用的扩容空间,因为空间是从VG里面创建的,并且LV不能跨VG扩容
# 扩容逻辑卷
lvextend -L +30m /dev/app-vg/app-lv
# 使用全部空间,使用小写“l”
lvextend -l +100%FREE /dev/vg/lv
说明:在指定大小的时候,扩容30m和扩容到30m是不一样的写法
扩容30m ====> -L +30M 【在原来基础上+30M】
扩容到30m =====> -L 30M 【变成30M】
ext4文件系统扩容使用命令语法: resize2fs 逻辑卷名称
xfs文件系统扩容使用命令语法: xfs_growfs 挂载点
resize2fs和xfs_growfs 两者的区别是传递的参数不一样的,xfs_growfs是采用的挂载点;resize2fs是逻辑卷名称,而且resize2fs命令不能对xfs类型文件系统使用.
# 生效扩展的大小:
xfs_growfs /app # 【xfs文件系统】
# 检查创建逻辑卷LV
lvs
lvdisplay
df -Th
5、pv扩容
pvcreate /dev/sdh
pvs
6、vg扩容
vgextend app-vg /dev/sdh
7、LVM删除
LVM删除流程:umount卸载 -> lvremove lv移出卷组中所有逻辑卷 -> vgremove vg移出卷组 -> pvremove 移出pv
# umount卸载
umount /app
# 注释掉已加入/ect/fstab的启动挂载信息
# lvremove lv移出卷组中所有逻辑卷
lvremove /dev/app-vg/app-lv
# vgremove vg移出卷组
vgremove app-vg # 直接移出卷组
# pvremove 移出pv
pvremove 磁盘1 磁盘2
# pvremove /dev/sdh /dev/sdg