lvm添加缓存盘
使用LVM给机械盘添加NVME缓存盘加速读写。
LVM添加缓存盘操作指南
操作系统平台
Ubuntu 20.04
前提条件
- 确保系统已安装
lvm2软件包 - 本例已有数据卷组
vg_data,对应物理卷为/dev/sdb。按照自己实际情况修改。 - 了解LVM缓存模式差异:
writethrough:数据同时写入缓存和原始卷,适合读密集型场景writeback:数据先写入缓存,稍后同步到原始卷,适合读写均衡场景(本次示例使用)
操作步骤
确认现有LVM结构
1
2vgdisplay vg_data
lvdisplay vg_data/data创建缓存盘分区(/dev/sdc)
[!NOTE]
缓存盘建议使用SSD/NVMe等高性能存储设备1
2
3
4parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart primary 1% 100%
(parted) quit创建物理卷并添加到卷组
1
2pvcreate /dev/sdc1
vgextend vg_data /dev/sdc1创建缓存元数据逻辑卷
[!WARNING]
元数据卷大小建议为缓存池的1-2%,通常1-2GB足够1
lvcreate -n cache_meta -L 1G vg_data /dev/sdc1创建缓存池逻辑卷
1
lvcreate -n cache_pool -L 400G vg_data /dev/sdc1将缓存池转换为LVM缓存池类型
1
lvconvert --type cache-pool --poolmetadata vg_data/cache_meta vg_data/cache_pool将缓存应用到目标逻辑卷
[!WARNING]
操作前建议备份重要数据,此操作会重启I/O服务1
lvconvert --type cache --cachepool vg_data/cache_pool --cachemode writeback vg_data/data验证缓存配置状态
1
lvs -a -o name,attr,cache_mode,cache_pool,cache_size
验证要点
- 检查目标逻辑卷属性是否包含
Cwi-ao-C-标识 - 确认
cache_size显示正确缓存容量 - 监控I/O性能变化以确认缓存生效
注意事项
[!NOTE]
- LVM缓存不支持跨越不同卷组操作,必须使用同一卷组内的逻辑卷
- 建议元数据卷与缓存池使用同一物理卷,避免单点故障
- 缓存失效处理:系统崩溃可能导致缓存数据不一致,需配置监控机制
- 缓存移除命令:
lvconvert --splitcache vg_data/data