lvm-cache实操
Posted SHIYIBODEC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvm-cache实操相关的知识,希望对你有一定的参考价值。
一、背景
1.联想服务器SR590,本机安装了2块800G的固态硬盘、12块1.8T的机械硬盘。
2.2块800G的固态组了一个raid1,作为第一个卷组,实际可用空间为744G。
3.12块1.8T的机械硬盘做了一个raid10,作为第二个卷组,实际可用空间为9.8T。(组此raid10时,提示使用GPT分区,可忽略,centos7会自动使用GPT分区)
4.安装centos7操作系统到第二个卷组上。此时操作系统在sdb上,固态硬盘组为sda。
二、目的
快速的固态硬盘卷组作为慢速的机械硬盘的缓存使用,加快读写速度。
三、操作
(1)格式化sda
因为这两块固态硬盘之前用过,使用fdisk -l
命令会发现硬盘存在好几个分区,需要删除掉全部分区,整合为1个sda1分区。(使用fdisk命令,需要注意的是:fdisk分区完毕后不是当时生效,我的解决方法是重启服务器,重启后发现已经整合为一个/dev/sda1)
(2)创建物理卷
pvcreate /dev/sda1
查看当前生效的pv
pvs
(3)加入到卷组
安装centos7操作系统时会自动建立LVM卷组,把固态硬盘创建的pv加入到操作系统自动创建的vg当中去:
vgs --当前生效的vg,得到操作系统已经创建的vg是centos00
将固态硬盘的pv加入到自动创建的vg中:
vgextend centos00 /dev/sda1
(4)创建cache逻辑卷
lvcreate -n cache -L 740G centos00 /dev/sda1
(5)创建meta逻辑卷
lvcreate -n meta -L 4G centos00 /dev/sda1
meta的大小要大于千分之一的cache,所以一个设置为740G,一个设置为4G。lvm cache总共包括三部分:data、cache、meta,其中meta的size需要大于千分之一的cache;data是存储数据,cache和meta共同构成缓存
(6)创建缓存池
lvconvert --type cache-pool --poolmetadata centos00/meta centos00/cache
注意cache和meta的顺序不能颠倒
(7)设置缓存的挂载点
lvconvert --type cache --cachepool centos00/cache --cachemode writeback centos00/home
因为机械硬盘的大部分空间都挂载到了/home目录下,所以固态硬盘用于给home目录下的机械硬盘做缓存。
(8)查看缓存是否生效
lsblk
(9)取消缓存
lvconvert --uncache centos00/home
第一次做的时候,meta的大小没有设置正确,需要取消缓存,重新设置。以上命令删除了缓存池,然后删除cache和meta这两个lv。重新创建cache和meta逻辑卷。
以上是关于lvm-cache实操的主要内容,如果未能解决你的问题,请参考以下文章