一、LVM Cach
1、什么是LVM Cache?
LVM (Logical Volume Manager) 是一种用于在 Linux 系统上管理硬盘分区和逻辑卷的工具。LVM 允许管理员对物理硬盘进行逻辑划分,创建灵活的逻辑卷,并提供高级功能,如快照、在线容量扩展和逻辑卷的动态迁移等。
LVM Cache 是 LVM 的一个功能,它允许将高速缓存设备(如固态硬盘)与普通硬盘组合使用,以提高 I/O 性能。通过将高速缓存设备作为缓存层,LVM Cache 可以显著减少从磁盘读取数据的时间,从而加快系统的响应速度。
使用场景:固态硬盘用做普通硬盘的缓存,以提高 I/O 性能。
2、 LVM Cache 的一些好处
- 提高 I/O 性能:LVM Cache 使用高速缓存设备来存储热数据,从而加快数据的读取速度,提高系统的响应性能。
- 灵活性:LVM Cache 允许管理员根据需要动态调整缓存层和后端存储层之间的数据映射,以满足不同工作负载的要求。
- 数据保护:LVM Cache 可以提供数据的冗余性和保护。如果后端存储设备发生故障,缓存层中的数据可以作为备份,以防止数据丢失。
二、配置 LVM Cache
假设有三块盘机械盘sda、sdb、sdc,一块ssd 盘nvme0n1
1、创建 LVM 逻辑卷(Logical Volume)
格式化分区
fdisk /dev/sda 对sdb、sdc、nvme0n1进行相同操作
pvcreate 命令将物理卷(Physical Volume)添加到 LVM
pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/nvme0n1p1
并使用 vgcreate 命令创建卷组(Volume Group)
vgcreate vg /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/nvme0n1p1
用 lvcreate 命令创建逻辑卷data
注意:ssd不用操作
lvcreate -n data -L 200G vg /dev/sda1 /dev/sdb1 /dev/sdc1
2、创建逻辑卷缓存cache、逻辑卷meta(此处操作的是ssd盘分区)
lvcreate -n cache -L 30G vg /dev/nvme0n1p1 lvcreate -n meta -L 6G vg /dev/nvme0n1p1
3、lvm cache总共包括三部分:data、cache、meta
其中meta的size需要大于千分之一的cache;data是存储数据,cache和meta共同构成缓存。
4、创建缓存池、将存储卷加入缓存池
lvconvert --type cache-pool --poolmetadata vg/meta vg/cache lvconvert --type cache --cachepool vg/cache --cachemode writeback vg/data
cachemode有writeback和writethrough两种模式,默认为writethrough,此处测试设置为writeback。writeback的读写性能会好一些,但是在某些极端情况下会丢失数据
5、格式化与挂载
mkfs.xfs /dev/vg/data mkdir /data mount /dev/vg/data /data/
补充:
做过raid的组合盘也能做(比如4块4T的机械硬盘组raid5为一块,2块490G的ssd盘做raid1)
6、卸载lvm_cache
取消挂载文件系统:
umount /dev/vg/data
移除逻辑卷data:
lvremove /dev/vg/data
删除卷组vg:
vgremove vg
删除物理卷pv
pvremove /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/nvme0n1p1
标签:Cache,vg,cache,dev,LVM,data From: https://www.cnblogs.com/dgp-zjz/p/17496368.html