Planet Ceph

Aggregated news from external sources

  • May 8, 2017
    OpenStack Summit Boston: Deterministic Storage Performance

    Deterministic Storage Performance – ‘The AWS Way’ for capacity based QoS with OpenStack and Ceph Date: 08/05/17 Video: http://sebastien-han.fr/viewer/web/viewer.html?val=http://www.sebastien-han.fr/down/Deterministic_Storage_Performance_-_The_AWS_Way_for_capacity_based_QoS_with_OpenStack_and_Ceph_-_OS_SUMMIT17.pdf Source: Sebastian Han (OpenStack Summit Boston: Deterministic Storage Performance)

  • May 6, 2017
    Recovering from a complete node failure

    Recovering an entire OSD node A Ceph Recovery Story Note: This will be a very lengthy and detail account of my experience. If you want to skip it, please just scroll down to the TL:DR section at the bottom I wanted to share with everyone a situation that happened to me over the weekend. This …Read more

  • May 5, 2017
    Sneak preview: Upcoming Ceph Management Features

    Despite the number of disruptive changes that we went through in the past few weeks, e.g. moving our code base from Mercurial to git, relocating our infrastructure to a new data center, refactoring our code base for version 3.0, our developers have been busy working on expanding the Ceph management capabilities in openATTIC. I’d like …Read more

  • May 4, 2017
    Ceph full ratio and uneven CRUSH distributions

    A common CRUSH rule in Ceph is step chooseleaf firstn 0 type host meaning Placement Groups (PGs) will place replicas on different hosts so the cluster can sustain the failure of any host without losing data. The missing replicas are then restored from the surviving replicas (via a process called “backfilling”) and placed on the …Read more

  • May 3, 2017
    Ceph OSD从filestore 转换到 bluestore的方法

    前言 前段时间看到豪迈的公众号上提到了这个离线转换工具,最近看到群里有人问,找了下没什么相关文档,就自己写了一个,供参考 实践步骤 获取代码并安装 git clone https://github.com/ceph/ceph.gitcd cephgit submodule update –init –recursive./make-distrpm -bb ceph.spec 生成rpm安装包后进行安装,这个过程就不讲太多,根据各种文档安装上最新的版本即可,这个代码合进去时间并不久,大概是上个月才合进去的 配置集群 首先配置一个filestore的集群,这个也是很简单的,我的环境配置一个单主机三个OSD的集群 [root@lab8106 ceph]# ceph -s cluster 3daaf51a-eeba-43a6-9f58-c26c5796f928 health HEALTH_WARN mon.lab8106 low disk space monmap e2: 1 mons at {lab8106=192.168.8.106:6789/0} election epoch 4, quorum 0 lab8106 mgr active: lab8106 osdmap e16: 3 osds: 3 up, 3 in pgmap v34: 64 …Read more

  • May 3, 2017
    openATTIC 2.0.20 has been released

    It is our great pleasure to announce the release of openATTIC version 2.0.20. This is a minor bugfix release, which also provides a number of small selected improvements, e.g. in the WebUI (styling, usability), installation and logging (now adds PID and process name to logs). Furthermore, we updated our documentation – especially the installation instructions …Read more

  • May 3, 2017
    多MDS变成单MDS的方法

    前言 之前有个cepher的环境上是双活MDS的,需要变成MDS,目前最新版本是支持这个操作的 方法 设置最大mds 多活的mds的max_mds会超过1,这里需要先将max_mds设置为1 ceph mds set max_mds 1 deactive mds 看下需要停掉的mds是rank 0 还是rank1,然后执行下面的命令即可 [root@server8 ~]# zbkc -s|grep mdsmap mdsmap e13: 1/1/1 up {0=lab8106=up:clientreplay} 这个输出的lab8106前面的0,就是这个mds的rank,根据需要停止对应的rank ceph mds deactivate 1 总结 不建议用多活mds 变更记录 Why Who When 创建 武汉-运维-磨渣 2017-05-03 Source: zphj1987@gmail (多MDS变成单MDS的方法)

  • April 29, 2017
    Ceph hybrid storage tiers

    In a previous post I showed you how to deploy storage tiering for Ceph, today I will explain how to setup hybrid storage tiers. What is hybrid storage? Hybrid storage is a combination of two different storage tiers like SSD and HDD. In Ceph terms that means that the copies of each objects are located …Read more

  • April 27, 2017
    Ceph根据Crush位置读取数据

    前言 在ceph研发群里面看到一个cepher在问关于怎么读取ceph的副本的问题,这个功能应该在2012年的时候,我们公司的研发就修改了代码去实现这个功能,只是当时的硬件条件所限,以及本身的稳定性问题,后来没有在生产当中使用我们都知道ceph在写数据的时候,是先写主本,然后去写副本,而读取的时候,实际上只有主本能够提供服务,这对于磁盘的整体带宽来说,并没有充分的发挥其性能,所以能够读取副本当然是会有很大好处的,特别是对于读场景比较多的情况 那么在ceph当中是不是有这个功能呢?其实是有的,这个地方ceph更往上走了一层,是基于crush定义的地址去进行文件的读取,这样在读取的客户端眼里,就没有什么主副之分,他会按自己想要的区域去尽量读取,当然这个区域没有的时候就按正常读取就可以了

  • April 26, 2017
    关于backfill参数建议

    前言 在做一个比较满的集群的扩容的时候,遇到了一些问题,在这里做下总结,一般来说很难遇到,扩容要趁早,不然出的问题都是稀奇古怪的一些问题 建议 环境一般来说在70%左右就需要考虑扩容了,这个时候的扩容数据迁移的少,遇到的问题自然会少很多,所谓的参数设置并不是一个单纯的参数的设置,所以一般来说在调优参数的时候,个人觉得只有适配硬件进行调优,所以本篇的参数同样是一个组合形式的 首先罗列出本篇涉及的所有参数 mon_osd_full_ratio = 0.95osd_backfill_full_ratio = 0.85osd_max_backfills = 1 最少的OSD的PG数目 min_pg=`ceph osd df|awk ‘{print $9}’|awk ‘NF’|grep -v PGS|sort|head -n 1` 那么最好满足 (osd_max_backfills/min_pg)+osd_backfill_full_ratio < mon_osd_full_ratio 这个在老版本里面进行backfill full的检测的时候,只在启动backfill的时候做了检测,如果设置的backfill足够大,而迁移的又足够多的时候,就会一下涌过去,直径把OSD给弄full然后挂掉了,新版本还没验证是否做了实时控制,但是如果遵循了上面的设置,即使没控制一样不会出问题 总结 有的参数不光对速度有控制,对量上面同样可能有影响,所以在设置的时候,需要尽量综合考虑 变更记录 Why Who When 创建 武汉-运维-磨渣 2017-04-27 Source: zphj1987@gmail (关于backfill参数建议)

  • April 26, 2017
    mds/journal.cc: 2929: FAILED assert解决

    前言 在处理一个其他双活MDS无法启动环境的时候,查看mds的日志看到了这个错误mds/journal.cc: 2929: FAILED assert(mds->sessionmap.get_version() == cmapv),在查询资料以后,暂时得到了解决,在生产环境下还是不建议使用双活MDS 处理步骤 这个是双MDS多活情况下出现的一个问题,在什么情况下出现还无法判断,目前只看到是有这个问题,并且有其他人也出现了 issue17113按照disaster-recovery建议的步骤做了如下处理: 备份下journal cephfs-journal-tool journal export backup.bin cephfs-journal-tool journal resetcephfs-table-tool all reset session 做了上两步后环境并没有恢复,还有个下面的操作没有做,这个操作会引起数据的丢失, MDS ranks other than 0 will be ignored: as a result it is possible for this to result in data loss,所以暂缓操作 ceph fs reset <fs name> –yes-i-really-mean-it 再次启动后还是,看到日志提示的是sessionmap的问题,正常情况下这个地方重置了session应该是可以好的 Yan, Zheng 2014年的时候在邮件列表里面提过一个配置 mds wipe_sessions …Read more

  • April 26, 2017
    rados put striper功能的调试

    前言 之前对于striper这个地方的功能并没研究太多,只是知道这个里面可以以条带方式并行的去写对象,从而加大并发性来提高性能,而默认的条带数目为1,也就是以对象大小去写,并没有条带,所以不是很好感觉到差别,今天就尝试下用rados命令来看下这个条带是怎么回事 实践过程 最开始我的集群是用rpm包进行安装的,这个可以做一些常规的测试,如果需要改动一些代码的话,就比较麻烦了,本文后面会讲述怎么改动一点点代码,然后进行测试 我们一般来说用rados put操作就是一个完整的文件,并不会进行拆分,我们尝试下看下 [root@lab8106 ~]# dd if=/dev/zero of=16M bs=4M count=4[root@lab8106 ~]# rados -p rbd put 16M 16M[root@lab8106 ~]# rados -p rbd stat 16Mrbd/16M mtime 2017-04-26 15:08:14.000000, size 16777216 可以看到我们put 16M的文件,在后台就是一个16M的对象 这个rados命令还有个参数是striper [root@lab8106 ~]# rados –help|grep stri –striper Use radostriper interface rather than pure rados 我们来用这个命令试一下 [root@lab8106 ~]# dd if=/dev/zero of=strip16M bs=4M count=4[root@lab8106 …Read more

Careers