首页 > 其他分享 >rbd常用的配置参数

rbd常用的配置参数

时间:2024-07-16 14:32:48浏览次数:12  
标签:常用 缓存 cache 默认 参数 预读 io rbd

本文分享自天翼云开发者社区《rbd常用的配置参数》,作者:l****n

rbd的基本介绍

rbd的架构如下图所示:

rbd采用CRUSH算法实现数据的随机分布。CRUSH算法,即Controlled Replication Under Scalable Hashing,是一种基于哈希的数据分布算法。CRUSH算法以数据唯一标识符、当前存储集群的拓扑结构以及数据备份策略作为CRUSH的输入,可以随时随地通过计算获取数据所在的底层存储设备并直接通信获取或者写入数据,从而避免查表操作,实现去中心化和高度并发,将数据均衡的存储到各个存储节点,实现数据存储的负载均衡;另外去中心化以及哈希的数据随机分布,使得rbd存储在理论上具备无限的可扩展性。CRUSH算法支持数据的多种备份策略,支持可配置副本数,支持存储节点故障域定义与划分,从而使整个系统具备了高可靠性和高可用性。

rbd的主要参数

在实际使用中需要配置rbd的一些参数,下面对rbd的一些常用参数进行一下说明:

1.rbd_cache: 是否使能缓存,默认情况下开启。

2.rbd_cache_size:最大的缓存大小,默认32MB。

3.rbd_cache_max_dirty:缓存中脏数据的最大值,用来控制回写,不能超过rbd cache size,默认24MB。

4.rbd_cache_target_dirty:开始执行回写的脏数据大小,不能超过rbd cache max dirty,默认16MB。

5.rbd_cache_max_dirty_age: 缓存中单个脏数据的最大缓存时间,避免因为未达到回写要求脏数据长时间存在缓存中,默认1s。

6.rbd cache max dirty object:最大的Object对象数,默认为0,表示通过rbd cache size计算得到,librbd默认以4MB为单位对磁盘Image进行逻辑切分,每个chunk对象抽象为一个Object;librbd中以Object为单位来管理缓存,增大该值可以提升性能。

7.rbd cache writethrough until flush:默认为true,该选项是为了兼容linux-2.6.32之前的virtio驱动,避免因为不发送flush请求,数据不回写;设置该参数后,librbd会以writethrough的方式执行io,直到收到第一个flush请求,才切换为writeback方式。

8.rbd cache block writes upfront:是否开启同步io,默认false,开启后librbd要收到Ceph OSD的应答才返回。

9.rbd readahead trigger requests: 触发预读的连续请求数,默认为10。

10.rbd readahead max bytes: 一次预读请求的最大io大小,默认512KB,为0则表示关闭预读。

11.rbd readahead disable after bytes: 预读缓存的最大数据量,默认为50MB,超过阀值后,librbd会关闭预读功能,由Guest OS处理预读(防止重复缓存);如果为0,则表示不限制缓存。

12.objecter inflight ops: 客户端流控,允许的最大未发送io请求数,超过阀值会堵塞应用io,为0表示不受限。

13.objecter inflight op bytes:客户端流控,允许的最大未发送脏数据,超过阀值会堵塞应用io,为0表示不受限。

14.rbd_enable_alloc_hint:是否开发底层对象的分配。

 

标签:常用,缓存,cache,默认,参数,预读,io,rbd
From: https://www.cnblogs.com/developer-tianyiyun/p/18305156

相关文章

  • Qt常用快捷键
    alt+enter//自动创建类定义的实现F1//查看帮助,文档F2//快速到变量声明Shift+F2//函数的声明和定义之间快速切换F4//在cpp和h文件切换Ctrl+M创建书签,Ctrl+.切换书签Alt+M打开书签栏。Ctrl+Enter在当前行的下方插入空白行,Ctrl+Shift+Enter......
  • 助力智慧交通,基于YOLO家族最新端到端实时目标检测算法YOLOv10全系列【n/s/m/b/l/x】参
    交通标志检测是交通标志识别系统中的一项重要任务。与其他国家的交通标志相比,中国的交通标志有其独特的特点。卷积神经网络(CNN)在计算机视觉任务中取得了突破性进展,在交通标志分类方面取得了巨大的成功。CCTSDB数据集是由长沙理工大学的相关学者及团队制作而成的,其有交通标志样......
  • QT常用函数
    #include<QFileDialog>QFileDialog::getOpenFileName()//打开一个文件,得到这个文件的绝对路径FileName=QFileDialog::getOpenFileName(this,"prd",dir.currentPath(),"prd(*.prd)");#include<QFile>QFilefile;file("文件路径")或者file.setF......
  • Anaconda常用命令
    1、创建环境conda create -n environment_namepython=3.x#例如创建python3.8环境condacreate-npython38python=3.82、激活或切换环境conda activate environment_name3、删除一个环境condaremove-nenvironment_name--all4、查看所有环境condainfo--e......
  • 深度学习中的正则化技术 - 参数绑定和参数共享篇
    序言在深度学习的探索之旅中,如何高效地管理模型的参数,以减少计算成本、提升训练效率并防止过拟合,一直是研究者们关注的焦点。参数绑定与参数共享作为两种重要的参数优化策略,应运而生。参数绑定通过构建参数间的直接或间接联系,使模型的不同部分能够共享或依赖某些参数的变化......
  • 数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可
    原文链接:http://tecdat.cn/?p=26868最近我们被客户要求撰写关于电信公司用户流失的研究报告,包括一些图形和统计输出。在本教程中,我们将学习覆盖决策树和随机森林。这些是可用于分类或回归的监督学习算法下面的代码将加载本教程所需的包和数据集。  library(tidyverse)......
  • 算法金 | 最难的来了:超参数网格搜索、贝叶斯优化、遗传算法、模型特异化、Hyperopt、O
    ​大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」今日215/10000抱个拳,送个礼为模型找到最好的超参数是机器学习实践中最困难的部分之一1.超参数调优的基本概念机器学习模型中的参数通常分为两类:模型参数和超......
  • 【漏洞分析】DoughFina 攻击事件分析:不做任何参数检查的去杠杆合约
    背景介绍2024年7月12日,DoughFina协议遭受了黑客攻击,造成本次攻击的主要原因是ConnectorDeleverageParaswap合约没有对输入参数进行检查,且该合约为DSA合约的owner。攻击者可以构造恶意参数窃取DSA合约的资金。攻击交易https://app.blocksec.com/explorer/tx/eth/0x......
  • springboot常用注解大全(超详细, 30个)
    SpringBoot注解主要用于简化配置、自动装配组件和实现声明式服务。以下是详细的介绍:1、Springboot注解核心注解1.@SpringBootApplication作用:标注一个主程序类,表明这是一个SpringBoot应用程序的入口。功能:这是一个复合注解,组合了@Configuration、@EnableAutoConfigur......
  • JVM调优参数和概念
    Java虚拟机(JVM)调优是一个复杂的过程,涉及到对JVM的内存管理、垃圾收集器选择、线程管理等多个方面的优化。以下是一些常见的JVM调优参数和概念:1.**堆内存设置**:  -`-Xms<size>`:设置JVM启动时的初始堆大小。  -`-Xmx<size>`:设置JVM最大堆大小。2.**新生代和老年代......