一、前言
在日常存储使用过程中,可能会有初期评估不准确或实际使用过程中存储需求有较大变化导致需调整存储的需求。但普通挂载是直接格式化并挂载到一个具体路径的,而重新调整存储大小并挂载会导致原有存储上的文件丢失,所以针对有可能存在存储需求变更的场景,建议大家用逻辑卷来管理存储。
二、示例步骤
2.1、创建逻辑卷(本示例中有4.9TB空间,但创建时只分配给逻辑卷1TB,剩余的暂未分配)
- 使用【df -h】查看当前挂载情况(主要是看对应存储是否已被挂载到具体目录)
- 使用【umount -l /run/media/root/18dec51d-5501-489b-84b1-a914f18967bb】强制卸载挂载(存储未绑定时可忽略。如果存储之前有文件建议提前备份)


- 使用【pvcreate /dev/sdb1】创建物理卷(有可能有ext4签名是否擦除的提示,直接输入y会自动清除,重新格式化为xfs。注意若原存储上的文件有用,一定要先备份再处理)

- 使用【vgcreate vg_data /dev/sdb1】创建卷组

- 使用【lvcreate -L 1T -n lv_opt vg_data】创建逻辑卷(lv_opt是计划分配的路径加lv_固定前缀。1T是创建逻辑卷时指定的逻辑卷大小,可根据实际情况及需要调整)

- 使用【mkfs.xfs /dev/vg_data/lv_opt】格式化逻辑卷

- 使用【mkdir -p /opt】层级创建某路径(默认就有/opt路径,若不是子路径则可以忽略本步骤。-p参数用于控制是否层级生成每一级的目录)
- 使用【mount /dev/vg_data/lv_opt /opt】挂载逻辑卷到具体目录
- 使用【echo "/dev/vg_data/lv_opt /opt xfs defaults 0 0" >> /etc/fstab】设置开机自动挂载

- 使用【pvs、vgs、lvs、df -h等命令验证结果】(可忽略本步骤)

2.2、扩容逻辑卷(创建时只分配了1TB,所以这里还可以继续追加3.9TB,但暂时用不了那么多,先只扩容1TB)
- 使用【lvextend -L +1T /dev/vg_data/lv_opt】给lv_opt的逻辑卷追加1T的容量(或【lvextend -l +100%FREE /dev/vg_data/lv_opt】分配全部),可以先用【vgs或vgdisplay】查看对应卷组的VFree剩余多少可分配空间

- 使用【xfs_growfs /dev/vg_data/lv_opt】让操作系统识别并使用新增的空间
- 使用【df -h】查看挂载点容量是否已按预期增加

2.3、扩容VG(若对应存储已经全部分配完了,新追加了存储,可以用该方式把新追加的存储添加到卷组中统一管理,这样就实现了动态的存储管理)
我的服务器没有多余的存储,所以没有实操截图,以下信息仅供参考
- 使用【pvcreate /dev/sdb2】创建物理卷(可以先用【fdisk -l】或【lsblk】确认新磁盘的设备名
- 使用【vgextend vg_data /dev/sdb2】将新的物理卷添加到卷组
- 使用【lvextend】及【xfs_growfs】命令扩展具体逻辑卷
