Ceph配置参数(二)

Ceph配置参数(一)

6、KEYVALUESTORE CONFIG REFERENCE

http://ceph.com/docs/master/rados/configuration/keyvaluestore-config-ref/

KeyValueStore is an alternative OSD backend compared to FileStore. Currently, it uses LevelDB as backend. KeyValueStore doesn’t need journal device. Each operation will flush into the backend directly.

  • KeyValueStore所用的后端(leveldb):keyvaluestore backend

(1)队列

  • 队列上可以存储的最大操作数:keyvaluestore queue max ops
  • 队列上可以存储的最大btye数:keyvaluestore queue max bytes

(2)线程

  • 并行线程数:keyvaluestore op threads
  • 文件操作线程超时秒数:keyvaluestore op thread timeout
  • 提交一个操作多少秒都可以取消:keyvaluestore op thread suicide timeout

(3)MISC

  • 条带大小:keyvaluestore default strip size

注:每个对象会分割成多个键值对存储在后端

  • header cache大小:keyvaluestore header cache size

注:存的东西和文件系统中的inode差不多

7、OSD CONFIG REFERENCE

http://ceph.com/docs/master/rados/configuration/osd-config-ref/

(1)通用设置

  • OSD的UUID:osd uuid

注:一个uuid作用于一个OSD Daemon,一个fsid作用于整个cluster,这两个不一样

  • OSD数据存储的路径:osd data

注:实际底层设备挂载的地方e.g. /var/lib/ceph/osd/$cluster-$id

  • 一次写入最大的MB数(默认90):osd max write size
  • 在内存中允许存储的最大客户端数据信息(默认500MB):osd client message size cap
  • RADOS class插件地址($libdir/rados-classes):osd class dir

(2)文件系统设置

  • 生成文件系统的类型:osd mkfs options {fs-type}

注:对XFS默认-f -i 2048,其他类型无默认,e.g. osd mkfs options xfs = -f -d agcount=24

  • 挂载选项:osd mount options {fs-type}

注:对XFS默认rw,noatime,inode64,其他类型rw, noatime,e.g. osd mount options xfs = rw, noatime, inode64, nobarrier, logbufs=8
其中noatime表示取消读文件时记录最后一次读取的时间(access time),节省时间,inode64表示inode数有64位(近乎无限制)现在的很多文件系统会在数据提交时强制底层设备刷新cache,避免数据丢失,称为write barriers。但是,其实我们数据库服务器底层存储设备要么采用RAID卡,RAID卡本身的电池可以掉电保护;要么采用Flash卡,它也有自我保 护机制,保证数据不会丢失。所以我们可以安全的使用nobarrier挂载文件系统。

(3)日志设置

  • 日志路径:osd journal

注:建议使用硬盘或SSD单独存放,默认/var/lib/ceph/osd/$cluster-$id/journal

  • 日志大小(默认5120MB,即5G):osd journal size

注:如果是0表示整个块设备都用来存日志,建议初始设为1G,至少为2 * (expected throughput * filestore max sync interval),其中throughput 为磁盘转速和网络速率的最小值,filestore max sync interval参数在上文filestore参数设置中有解释。

(4)SCRUBBING

scrubbing相当于一个周期性检查工作,保证数据完整性,对象没有丢失,轻量级的scrubbing每天进行,它检查对象的大小和属性,深度scrubbing每周进行,它读取数据并进行校验和来保证数据的完整性。

  • 一个Ceph OSD Daemon内能够同时进行的scrubbing操作(默认1):osd max scrubs
  • scrub线程超时(默认60秒):osd scrub thread timeout
  • 终止一个scrub最终线程(finalize thread)的超时(默认600秒):osd scrub finalize thread timeout
  • 最大负载(超过这个负载scrub不进行):osd scrub load threshold
  • 最小scrub间隔(负载低时进行,默认每天):osd scrub min interval
  • 最大scrub间隔(不管负载如何,默认每周):osd scrub max interval
  • 深层scrub间隔(默认每周):osd deep scrub interval
  • 深层scrub时的读大小(默认512K):osd deep scrub stride

(5)操作

  • Ceph OSD Daemon 并行线程数(0表示关闭多线程,默认是2):osd op threads
  • 客户端操作的优先级(默认63):osd client op priority
  • 修复操作的优先级(默认10):osd recovery op priority
  • 线程超时(默认30秒):osd op thread timeout
  • 一个操作变成 complaint worthy (不造啥意思)的超时(默认30s):osd op complaint time
  • 后端磁盘线程数(如scrub操作和snap trimming操作。默认为1):osd disk threads
  • 磁盘线程优先级(默认不设置)类:osd disk thread ioprio class

注:idle-磁盘线程优先级比任何一个OSD线程都低,这有助于在一个繁忙的OSD上不让他scrub;rt-磁盘线程优先级比任何一个OSD线程都高,如果scrub比较需要。这个参数要将内核设置为CFQ调度才有用。

  • 磁盘线程优先级(默认是-1):osd disk thread ioprio priority

注:这个参数要个上面那个参数一起使用,有0-7(最低)个级别,-1表示不设置,单独设置每个OSD scrub的优先级,拥塞或存在IO竞争是可以用这个,这个参数要将内核设置为CFQ调度才有用。

  • 可以跟踪到的已完成的操作数量(默认20):osd op history size
  • 最老可以跟踪到的已完成的操作(默认600):osd op history duration
  • 一次显示多少操作的log(默认5):osd op log threshold

(6)BACKFILLING

当新加入OSD或删除OSD时,部分PG会迁移已达到新的平衡,这一行为会导致性能下降,为避免性能下降,可以设置迁移为backfill操作,并设置它的优先级低于正常读写。(backfill我猜是先标志一下,等空闲的时候在实际操作)

  • 一个OSD运行的最大的backfill操作数(默认10):osd max backfills
  • 每一个backfill扫描的最小对象数(默认64):osd backfill scan min
  • 每一个backfill扫描的最大对象数(默认512):osd backfill scan max
  • 如果OSD Daemon的使用率高于这个值测不响应backfills请求(默认0.85):osd backfill full ratio
  • backfill请求重试间隔(默认10秒):osd backfill retry interval

(7)OSD MAP

osd map记录着OSD所有信息,包括节点的改变,加入和退出等等信息,随着集群的运行,这个map会越变越大,一下一些配置保证了在map变大的情况下集群仍然能够运行良好。

  • 开启删除Map中的重复内容(默认是true):osd map dedup
  • map的cache大小(默认500MB):osd map cache size
  • OSD进程运行时map在内存中的cache大小(默认50MB):osd map cache bl size
  • OSD进程运行时map在内存中的cache的增量大小:osd map cache bl inc size
  • 每个MOSDMap消息的最大的映射项:osd map message max

(8)RECOVERY

  • 延迟多少秒开始修复对象(默认0):osd recovery delay start
  • 每个OSD一次可以接受的修复请求(默认15):osd recovery max active

注:增大会加速修复但同时也会增加集群负载

  • 修复最大的chunk大小:osd recovery max chunk
  • 修复过程的线程数量(默认1):osd recovery threads
  • 修复线程超时(默认30s):osd recovery thread timeout
  • 在恢复过程中保留克隆重叠(应始终设置为true):osd recover clone overlap

(9)杂项

  • snap trim线程的超时设定(默认1小时):osd snap trim thread timeout
  • 后台log线程的超时设定(默认1小时):osd backlog thread timeout
  • 默认通知超时(默认30s):osd default notify timeout
  • 检查日志文件是否损坏(代价大,默认false):osd check for log corruption
  • 命令线程超时设定(默认10分钟):osd command thread timeout
  • 返回最大的丢失对象数(默认256):osd command max records
  • 将tmap用作omap(默认false):osd auto upgrade tmap
  • 只将tmap用作调试(默认false):osd tmapput sets users tmap
  • 不删减log空间,多用磁盘空间(默认false):osd preserve trimmed log
时间: 2024-10-27 07:50:13

Ceph配置参数(二)的相关文章

Ceph配置参数(三)

Ceph配置参数(一) Ceph配置参数(二) 8.MONITOR CONFIG REFERENCE http://ceph.com/docs/master/rados/configuration/mon-config-ref/ 客户端在读写数据前,都比去和monitor取得联系,获得cluster map,结合CRUSH算法计算得到对象的位置. (1)最小配置 生成一个fsid和monitorde的最小配置,配置字段[mon]或[mon.a],ceph监视器默认监听6789端口. 主机名(e.

ceph配置参数优化

ceph的配置文件/etc/ceph.conf中可配置参数很多,可以通过以下命令查看: [email protected]:/var/run/ceph# ceph --admin-daemon ceph-mon.osd2.asok config show|wc -l 759 一直想对一些参数进行修改以达到优化性能的目的.以前一篇文章和其它一些资料为基础,总结一下可优化的配置.

Ceph配置参数(一)

1.POOL, PG AND CRUSH CONFIG REFERENCE http://docs.ceph.com/docs/master/rados/configuration/pool-pg-config-ref/ 所属配置段:[global] 格式:osd pool default pg num = 250 每个存储池最大pg数:mon max pool pg num 同一个OSD Daemon中创建PG所间隔的秒数:mon pg create interval 等待多少秒PG可被认为被

ubuntu环境ceph配置入门(二)

在高速配置好ceph存储集群环境的基础上,能够做相关的对象操作: 1. 设置osd pool min_size 首先通过rados命令查看pool例如以下: #rados lspools data metadata rbd 默认的osd的min_size数量配置为2,这里以一个osd为例须要将其设置为1 ceph osd pool get {pool-name} {key} ceph osd pool set {pool-name} {key} {value} #ceph osd pool se

Ceph性能优化 之 配置参数调优

该文同时发表在盛大游戏G云微信公众号,粘贴于此,方便各位查阅 Ceph,相信很多IT朋友都听过.因为搭上了Openstack的顺风车,Ceph火了,而且越来越火.然而要用好Ceph却也不是件易事,在QQ群里就经常听到有初学者抱怨Ceph性能太烂,不好用.事实果真如此吗!如果你采用Ceph的默认配置来运行你的Ceph集群,性能自然不能如人意.俗话说,玉不琢,不成器:Ceph也有它的脾性,经过良好配置优化的Ceph性能还是不错的.下文简单分享下,盛大游戏G云在Ceph优化上的一些实际经验,如有错误之

Mysql一些重要配置参数的学习与整理(二)

原文地址:Mysql一些重要配置参数的学习与整理(二) 上一篇,Mysql一些重要配置参数的学习与整理(一)中,我们了解和学习了mysql配置中的一些重要参数,今天继续进行学习,mysql的配置参数很多,不可能做到面面俱到,这里的总结和整理只是针对于现实生产环境中用到的一些配置参数的学习,接下来,开始本篇的学习.    innodb_flush_log_at_trx_commit = 2        这个变量的官方定义是:Controls the balance between strict

关于ntp时间同步理论及配置参数-20170804

[原创]关于ntp时间同步理论及配置参数20170804 前言 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.无论是平时使用的私人计算机还是在工作中搭建的服务器集群,时间的统一性和准确性是十分重要的.它是用来同步网络中各个计算机的时间的协议. 在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NT

微信公众平台生成带参数二维码

<?php // +---------------------------------------------------------------------- // | 获取微信公众带参数二维码 // | Author: wzb [email protected] // +---------------------------------------------------------------------- namespace Mob\Controller; use Think\Contr

网站前端_KindEditor.基础入门.0001.KindEditor_3.4.2配置参数?

初始方式: 说明: 在快速入门中使用KE.show({ .. .})来初始化了一个编辑器,具体进入js/kindeditor.js下可以看到KE对象下的show方法先调用了KE的init方法然后又调用了其event事件对象的ready方法,内部其实是调用的KE的create方法,传递的参数为args的id属性,所以可通过2种方式来初始化编辑器 # 方式一 : # 方式二 : 注意: 无论使用哪种方式初始化编辑器,都需要传递配置对象{ ... },配置对象中id属性是必须配置的,其它的属性默认采用