CentOS7 利用lvm cache结合机械盘和SSD盘实现磁盘IO性能提升 —— 筑梦之路
2023-09-14 09:09:36 时间
环境说明
1.操作系统:CentOS7 最小化安装
2.系统盘sda 100G (机械盘)+ 数据盘sdb 100G(机械盘)+ SSD缓存盘 sdc 64G
实现过程
1. 对数据盘和缓存盘进行分区,建立一个区就行
parted /dev/sdb
parted /dev/sdc
2. 创建pv
pvcreate /dev/sdb1 /dev/sdc1
3. 创建vg
vgcreate vg /dev/sdb1 /dev/sdc1
4. 创建数据卷 并指定创建在/dev/sdb1上
lvcreate -n data -L 98G vg /dev/sdb1
5. 创建缓存卷 并指定创建在/dev/sdc1上
lvcreate -n cache -L 60G vg /dev/sdc1
6. 创建meta卷 并指定创建在/dev/sdc1
lvcreate -n meta -L 3G vg /dev/sdc1
7. 创建缓存池
lvconvert --type cache-pool --poolmetadata vg/meta vg/cache
一定要注意cache和meta的顺序,不能搞错。一定要注意cache和meta的顺序,不能搞错。一定要注意cache和meta的顺序,不能搞错
8. 给数据卷提供缓存
lvconvert --type cache --cachepool vg/cache --cachemode writeback vg/data
注意:Cache与Meta的比例不能超过1000:1
9. 查看验证
lsblk
10. 格式化并挂载
mkfs.xfs /dev/vg/data
mkdir /data
mount /dev/mapper/vg-data /data
使用fio测试磁盘IO性能
# 取消缓存
lvconvert --uncache vg/data
#磁盘IO性能测试脚本
#!/bin/bash
# fiopressure.sh
filename=/data/fiotest
size=5G
runtime=60
report_path=/var/log/fio.report
# 4k顺序读
echo ">>>正在进行4k顺序读测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=read -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k顺序读 > $report_path
# 4k顺序写
echo ">>>正在进行4k顺序写测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=write -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k顺序写 >> $report_path
# 4k顺序混合读写
echo ">>>正在进行4k顺序混合读写测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=rw -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k顺序混合读写 >> $report_path
# 4k随机读
echo ">>>正在进行4k随机读测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=randread -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k随机读 >> $report_path
# 4k随机写
echo ">>>正在进行4k随机写测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=randwrite -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k随机写 >> $report_path
# 4k随机混合读写
echo ">>>正在进行4k随机混合读写测试"
fio -filename=$filename -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=$size -numjobs=20 -runtime=$runtime -group_reporting -name=4k随机混合读写 >> $report_path
echo ">>>FIO测试完毕,测试报告位于$report_path"
磁盘IO性能对比图,左边为未使用lvm cache 右边为使用lvm cache
参考资料:
相关文章
- 解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网
- VMware虚拟机下的CentOS7网络配置
- 使用CentOS7安装Jenkins
- centos7安装pycharm_pycharm配置环境变量
- ES系列一、CentOS7安装ES 6.3.1、集成IK分词器
- CentOS7一键脚本安装docker并创建ES集群(docker版本)
- CentOS7-命令-查看当前用户(whoami)
- 开源的Linux操作系统_Centos7下载
- 软件测试|一键搞定centos7的docker+selenium+appium+jenkins+android_app源码打包成apk的环境搭建
- Linux(Centos7)安装jdk1.8
- centos7 之 python3,virtualenvwrapper, git, nginx, redis 源码安装
- Centos7 服务器基线检查处理汇总
- 【ES三周年】linux-centos7安装elasticsearch-head插件
- CentOS7 安装 MySQL详解程序员
- Centos7配置fastdfs和nginx分布式文件存储系统实现过程解析
- CentOS7搭建DHCP服务器详解程序员
- CentOS7安装GUI界面及远程连接的实现
- centos7 mysql 安装及设置远程访问详解程序员
- Linux监控磁盘IO: 实现有效高效性能(linux磁盘io监控)
- Linux系统磁盘IO性能研究(linux磁盘io性能)
- 情况Linux查看IO使用情况:把握系统性能(linux查看io使用)
- 性能探索Linux系统查看IO性能之旅(linux查io)
- CentOS7启动MySQL服务的方法(centos7重启mysql)
- 测试Linux系统IO性能的秘籍(linux测试io性能)
- 优化Oracle磁盘IO优化:提高数据库性能的关键(oracle磁盘io)
- Centos7安装Redis:一步步搭建Redis服务器(centos7安装redis)
- CentOS7简明教程:快速轻松安装MySQL(centos7安装mysql)
- 使用Linux测试磁盘IO,优化系统性能(linux测试磁盘io)
- 利用CentOS7轻松安装Oracle11g数据库(centos7安装oracle11g)
- 性能认识SQL Server的IO性能优势(sqlserver的io)
- Linux系统IO性能查询实践(linux io 查询)
- 浅谈MySQL优化如何避免一次IO操作成为性能瓶颈(mysql一次io)
- Oracle IO优化提升系统的性能表现(oracle io配置)
- Oracle IO等待时间缩短,性能提升(oracle io 等待)
- Oracle IO块大小对性能的影响(oracle io块大小)
- 利用Oracle IO,提升数据库性能(oracle io使用率)
- 提升性能借助Redis调整IO数量(redis设置io数量)