配置bcache模块的实例教程
发布时间 - 2017-07-17 00:00:00 点击率:次一、前提:内核中需要配置bcache模块
1.1 检查
- 是否存在于内核中:检查/sys/fs/bcache目录是否存在,没有说明内核中没有bcache
- 是否以内核模块方式存在:检查/lib/modules//kernel/drivers/md/bcache目录是否存,不存在则说明没有bcache内核模块
- 以上两步检查完如果都没有,则说明内核中没有配置编译bcache,需要自己配置编译新的内核(下载内核时需要注意版本,bcache功能是在3.10及以上版本中才有)
1.2 编译新内核
$ wget "" $ rpm2cpio ./kernel-3.10.0-514.el7.src.rpm | cpio -idmv //提取rpm包内容,获取内核:linux-3.10.0-514.el7.tar.xz$ make menuconfig //内核配置 Device Drivers
->Multiple devices driver support (RAID and LVM) -><*> Block device as cache
$ make bzImage (V=1) //编译内核$ make modules //编译内核模块$ make modules_install //拷贝内核模块的.ko文件到/lib/modules下$ make install //拷贝initrd和bzImage到boot目录下,并修改开机启动配置文件$ reboot //重启,根据菜单选择对应内核版本进入
二、编译安装
//获取bcache-tools工具(以下两个网址任选其一)$ git clone http://evilpiepirate.org/git/bcache-tools.git$ git clone https://github.com/g2p/bcache-tools.git//安装前需要两个依赖包pkg-config和libblkid-dev$ yum -y install pkg-config libblkid-dev//编译安装bcache-tools$ make$ make install
三、部署方式
3.1 创建bcache设备
$ -bcache -C-B --B -C - -b 结果:有几个backing device就会对应生成几个/dev/
example: the default block and bucket sizes of 512B and 128kB are used. The block size should match the backing devices sector size which will usually be either 512 or 4k. The bucket size should match the erase block size of the caching device with the intent of reducing write amplification. For example, using a HDD with 4k sectors and an SSD with an erase block size of 2MB this command would look like# make-bcache --block 4k --bucket 2m -C /dev/sdy
3.2 添加后端设备(backing device)
- 1、创建后端设备
$ make-bcache -B结果:生成对应的设备/dev/bcache
- 2、attach绑定后端设备
$ -la /sys/fs/bcache $> /sys/block/bcache /bcache/
3.3 删除后端设备
- 1、detach解绑backing device设备
$ -la /sys/fs/bcache/ $> /sys/block/bcache /bcache/
- 2、删除后端设备
$ > /sys/block/bcache/bcache/
3.4 添加缓存设备(caching device)
-1、 创建缓存设备
$ make-bcache -C结果:在/sys/fs/bcache目录下生成对应的CACHE SET UUID 注意:有可能设备本身有残余数据,需要使用wipefs清理掉 $ wipefs -a /dev/sda
-2、attach,与bcache设备关联
$ echo> /sys/block/bcache /bcache/attach 解释:通过后端设备attach缓存设备,cache device才能开始缓存,backing device才能被缓存
3.5 删除缓存设备
前提:确保没有backing device在使用它(可以通过lsblk查看)
解释: - cache设备的存在,可以通过/sys/fs/bcache目录对应的cache set uuid了解
- unregister该uuid后这个cache设备就被视为删除了
$ echo 1 > /sys/fs/bcache//unregister 结果:再看/sys/fs/bcache目录下就没有这个cache设备的uuid了
3.6 格式化bcache并挂载使用
$ mkfs.xfs /dev/bcache//格式化设备为xfs文件系统$ mount /dev/bcache /mnt //挂载设备到/mnt目录进行访问
四、使用操作
4.1 查看运行状态
$ cat /sys/block/bcache/bcache/state
no cache:该backing device没有attach任何caching device(这意味着所有I / O都直接传递到backing device[pass-through mode])。
clean:everything is ok,缓存是干净的。
dirty:这意味着一切都设置正常,并且您已启用回写,缓存是脏的。
inconsistent:您遇到问题,因为后台设备与缓存设备不同步。
4.2 查看缓存的数据量
$ cat /sys/block/bcache/bcache/dirty_data
4.3 查看/设置缓存模式
// 设置缓存模式(默认writethrough)$ echo> /sys/block/bcache /bcache/cache_mode// 查看缓存模式$ cat /sys/block/bcache /bcache/cache_mode [writethrough] writeback writearound none
4.4 打印device信息
$ bcache-super-show /dev/sd
4.5 配置信息
backing device 在 /sys/block/bcache
/bcache/ 目录下 cache device 在 /sys/fs/bcache/
/ 目录下
对/sys中配置信息的改变是暂时的,重启会失效。如果想要在启动时设置当前的配置,需要创建一个conf配置文件在/etc/tmpfile.d/中,例如 /etc/tmpfile.d/my-bcache.conf:
w /sys/block/bcache0/bcache/sequential_
cutoff - - - - 1
w /sys/block/bcache0/bcache/cache_mode - - - - writeback
(To set, in a persistent fashion, the sequential cutoff for bcache0 to 1 MB and write back)
# 后端
# 目录下
# 可以通过
# 重启
# 配置文件
# 是否存在
# 则说
# 几个
# 就会
# 是在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
html5的keygen标签为什么废弃_替代方案说明【解答】
Android Socket接口实现即时通讯实例代码
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
手机软键盘弹出时影响布局的解决方法
做企业网站制作流程,企业网站制作基本流程有哪些?
如何做网站制作流程,*游戏网站怎么搭建?
浅谈javascript alert和confirm的美化
如何用狗爹虚拟主机快速搭建网站?
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
node.js报错:Cannot find module 'ejs'的解决办法
香港网站服务器数量如何影响SEO优化效果?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
,交易猫的商品怎么发布到网站上去?
如何快速生成可下载的建站源码工具?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
如何快速上传建站程序避免常见错误?
如何快速搭建高效简练网站?
Laravel如何配置和使用缓存?(Redis代码示例)
高防服务器租用指南:配置选择与快速部署攻略
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何快速搭建个人网站并优化SEO?
香港服务器部署网站为何提示未备案?
如何彻底卸载建站之星软件?
JS去除重复并统计数量的实现方法
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel如何实现数据库事务?(DB Facade示例)
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
如何构建满足综合性能需求的优质建站方案?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
详解jQuery停止动画——stop()方法的使用
如何基于云服务器快速搭建个人网站?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
音乐网站服务器如何优化API响应速度?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
用yum安装MySQLdb模块的步骤方法
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
如何快速搭建高效服务器建站系统?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Android okhttputils现在进度显示实例代码


cutoff - - - - 1