Cephday武汉20161119分享回顾


image_1b2ne8h4m1vfq1f7b1qgr262dfn9.png-405.3kB

活动地点

这次的分享活动是由武汉烽火进行赞助的,在烽火创新谷谷咖啡进行的,武汉的高校很多,光一本重点学校就有十所,武大,华科的学生的科研水平在全国也是非常强的,但是与之相匹配的大型企业却不是很多,本土大型企业更是少,这个地方还是一个相对封闭的地方,技术的交流远没有达到北上广深等地的开放程度,光谷也是在近十年成为一个科技飞速发展的地方,这与东湖高新的大力支持以及一些高校参与到企业当中来有很大的关系,未来的发展还是值得期待的

fio测试ceph的filestore


fio

前言

fio是一个适应性非常强的软件,基本上能够模拟所有的IO请求,是目前最全面的一款测试软件,之前在看德国电信的一篇分享的时候,里面就提到了,如果需要测试存储性能,尽量只用一款软件,这样从上层测试到底层去,才能更好的去比较差别

fio对于ceph来说,可以测试文件系统,基于文件系统之上测试,可以测试内核rbd,将rbdmap到本地格式化以后进行测试,或者基于librbd直接对rbd进行测试,这个是目前都已经有的测试场景,这些不在本篇的讨论的范围内,今天讲的是一种新的测试场景,直接对ceph的底层存储进行测试

查询OSD运行在哪些cpu上



前言

在看CPU相关的文章的时候,想起来之前有文章讨论是否要做CPU绑定,这个有说绑定的也有说不绑定的,然后就想到一个问题,有去观测这些OSD到底运行在哪些CPU上面么,有问题就好解决了,现在就是要查下机器上的OSD运行在哪些CPU上

处理stale的pg



前言

在某些场景下Ceph集群会出现stale的情况,也就是ceph集群PG的僵死状态,这个状态实际上是无法处理新的请求了,新的请求过来只会block,那么我们如何去恢复环境

实践过程

首先模拟stale环境,这个比较好模拟

设置副本2,然后同时关闭两个OSD(不同故障域上),然后删除这两个OSD

集群这个时候就会出现stale的情况了,因为两份数据都丢了,在一些环境下,数据本身就是临时的或者不是那么重要的,比如存储日志,这样的环境下,只需要快速的恢复环境即可,而不担心数据的丢失

yum安装Ceph指定Jewel版本



前言

通过yum安装指定的rpm包,这个一般是 yum --showduplicates list ceph | expand,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的,但是在Jewel下进行安装的时候却出现了问题,我们来看下怎么解决这个问题的

实践过程

我们需要安装 ceph-10.2.0-0.el7 这个版本的,根据之前的方法

[root@lab8106 ~]# yum install  ceph-10.2.0-0.el7
Loaded plugins: fastestmirror, langpacks, priorities
base | 3.6 kB 00:00:00
ceph | 2.9 kB 00:00:00
ceph-noarch | 2.9 kB 00:00:00
epel | 4.3 kB 00:00:00
···
Error: Package: 1:ceph-base-10.2.0-0.el7.x86_64 (ceph)
Requires: librados2 = 1:10.2.0-0.el7
Removing: 1:librados2-0.94.6-0.el7.x86_64 (@ceph)
librados2 = 1:0.94.6-0.el7
Updated By: 1:librados2-10.2.3-0.el7.x86_64 (ceph)
librados2 = 1:10.2.3-0.el7
Available: 1:librados2-0.80.7-0.8.el7.x86_64 (epel)
librados2 = 1:0.80.7-0.8.el7
Available: 1:librados2-0.80.7-3.el7.x86_64 (base)
librados2 = 1:0.80.7-3.el7
Available: 1:librados2-10.1.0-0.el7.x86_64 (ceph)

Ceph用户邮件列表Vol45-Issue4



ceph Vol 45 Issue 4

1.upgrade from v0.94.6 or lower and ‘failed to encode map X with expected crc’

f user upgrades the cluster from a prior release to v0.94.7 or up by
following the steps:

  1. upgrade the monitors first,
  2. and then the OSDs.

It is expected that the cluster log will be flooded with messages like:

2016-07-12 08:42:42.1234567 osd.1234 [WRN] failed to encode map e4321
with expected crc

这个是开发者kefu chai发出来的邮件,是提醒用户注意一个升级的问题的,先介绍下这个问题

Ceph用户邮件列表Vol45-Issue3



ceph Vol 45 Issue 3

1.Crash in ceph_readdir.

Hello,

I’ve been investigating the following crash with cephfs:
···
According to the state of the ceph_inoide_info this means that
ceph_dir_is_complete_ordered would return true and the second condition
should also be true since ptr_pos is held in r12 and the dir size is 26496.
So the dentry being passed should be the 2953 % 512 = 393 in the
cache_ctl.dentries array.
Unfortunately my crashdump excldues the page cache pages and I cannot really see
what are the contents of the dentries array.

Ceph用户邮件列表Vol45-Issue2



ceph Vol 45 Issue 2

1.CephFS: No space left on device

After upgrading to 10.2.3 we frequently see messages like

‘rm: cannot remove ‘…’: No space left on device

The folders we are trying to delete contain approx. 50K files 193 KB each.

The cluster state and storage available are both OK:

cluster 98d72518-6619-4b5c-b148-9a781ef13bcb
health HEALTH_WARN
mds0: Client XXX.XXX.XXX.XXX failing to respond to cache pressure
mds0: Client XXX.XXX.XXX.XXX failing to respond to cache pressure
mds0: Client XXX.XXX.XXX.XXX failing to respond to cache pressure
mds0: Client XXX.XXX.XXX.XXX failing to respond to cache pressure
mds0: Client XXX.XXX.XXX.XXX failing to respond to cache pressure
monmap e1: 1 mons at {000-s-ragnarok=XXX.XXX.XXX.XXX:6789/0}
election epoch 11, quorum 0 000-s-ragnarok
fsmap e62643: 1/1/1 up {0=000-s-ragnarok=up:active}
osdmap e20203: 16 osds: 16 up, 16 in
flags sortbitwise
pgmap v15284654: 1088 pgs, 2 pools, 11263 GB data, 40801 kobjects
23048 GB used, 6745 GB / 29793 GB avail
1085 active+clean
2 active+clean+scrubbing
1 active+clean+scrubbing+deep