在Kraken release版本上测试Ceph BlueStore

在Kraken release版本上测试Ceph BlueStore

前面写了一篇文章《ceph升级到kraken版本》(我的个人博客,更多ceph相关文章也在该博客),在升级后的集群上重新部署OSD遇到一些问题。这里在干净的kraken环境下部署bluestore,用来测试一下性能。本文记录部署过程及遇到的问题和解决方法。

前言

Ceph版本Kraken(11.2.0)已经发布,发行说明告诉我们,用于OSD的新的BlueStore后端现在可用。

bluestore

OSD的当前后端是FileStore,它主要使用XFS文件系统来存储它的数据。 为了克服XFS和POSIX的一些限制,所以开发了BlueStore后端。

由于校验和压缩它将提供更多的性能(主要是写)和数据安全。

鼓励用户从Kraken发行版本开始,使用非生产和非关键数据集来测试BlueStore,并向社区报告。

部署BlueStore

要使用BlueStore部署OSD,您可以使用-bluestore标志来使用ceph-deploy。

我创建了一个简单的测试集群,有三个机器:alpha,bravo和charlie。

每个机器将运行一个ceph-mon和ceph-osd进程。

这是我用来部署集群的ceph-deploy命令:

ceph-deploy new alpha bravo charlie
ceph-deploy mon create alpha bravo charlie

现在,编辑当前目录中的ceph.conf文件,并添加:

[osd]
enable_experimental_unrecoverable_data_corrupting_features = bluestore

有了这个设置我们允许使用BlueStore,我们现在可以部署我们的OSD:

ceph-deploy --overwrite-conf osd create --bluestore alpha:sdb bravo:sdb charlie:sdb

运行Bluestore

这个微小的集群如何使用BlueStore运行三个OSD:

root@alpha:~# ceph -s
    cluster c824e460-2f09-4994-8b2f-108aedc52d19
     health HEALTH_OK
     monmap e2: 3 mons at {alpha=[2001:db8::100]:6789/0,bravo=[2001:db8::101]:6789/0,charlie=[2001:db8::102]:6789/0}
            election epoch 14, quorum 0,1,2 alpha,bravo,charlie
        mgr active: charlie standbys: alpha, bravo
     osdmap e14: 3 osds: 3 up, 3 in
            flags sortbitwise,require_jewel_osds,require_kraken_osds
      pgmap v24: 64 pgs, 1 pools, 0 bytes data, 0 objects
            43356 kB used, 30374 MB / 30416 MB avail
                  64 active+clean
root@alpha:~#
root@alpha:~# ceph osd tree
ID WEIGHT  TYPE NAME        UP/DOWN REWEIGHT PRIMARY-AFFINITY 
-1 0.02907 root default                                       
-2 0.00969     host alpha                                     
 0 0.00969         osd.0         up  1.00000          1.00000 
-3 0.00969     host bravo                                     
 1 0.00969         osd.1         up  1.00000          1.00000 
-4 0.00969     host charlie                                   
 2 0.00969         osd.2         up  1.00000          1.00000 
root@alpha:~#

在alpha我看到osd.0只有一个小分区的一点配置,其余的由BlueStore使用。

root@alpha:~# df -h /var/lib/ceph/osd/ceph-0
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1        97M  5.4M   92M   6% /var/lib/ceph/osd/ceph-0
root@alpha:~# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0    8G  0 disk 
├─sda1   8:1    0  7.5G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0  510M  0 part [SWAP]
sdb      8:16   0   10G  0 disk 
├─sdb1   8:17   0  100M  0 part /var/lib/ceph/osd/ceph-0
└─sdb2   8:18   0  9.9G  0 part 
sdc      8:32   0   10G  0 disk 
root@alpha:~# cat /var/lib/ceph/osd/ceph-0/type
bluestore

OSD应该像运行FileStore的OSD一样工作,但它们应该运行得更好。

以上内容翻译自:Testing Ceph BlueStore with the Kraken release。亲测可以成功,觉得很好就不放自己的配置,直接翻译过来了。

问题

问题1ceph -s的时候出现告警:WARNING: the following dangerous and experimental features are enabled: bluestore

如下

# ceph -s
2017-02-07 10:10:34.266900 7f06a82e0700 -1 WARNING: the following dangerous and experimental features are enabled: bluestore
2017-02-07 10:10:34.271112 7f06a82e0700 -1 WARNING: the following dangerous and experimental features are enabled: bluestore
    cluster 7e9423ea-95f8-42d1-ae2d-7a384d68dea7
     health HEALTH_OK
     monmap e2: 3 mons at {blue0=172.20.1.151:6789/0,blue1=172.20.1.152:6789/0,blue2=172.20.1.153:6789/0}
            election epoch 6, quorum 0,1,2 blue0,blue1,blue2
        mgr no daemons active 
     osdmap e15: 3 osds: 3 up, 3 in
            flags sortbitwise,require_jewel_osds,require_kraken_osds
      pgmap v34: 64 pgs, 1 pools, 0 bytes data, 0 objects
            49092 kB used, 599 GB / 599 GB avail
                  64 active+clean

查了资料,无果,有些认为是内核版本的问题,然而并不对。

真正原因是在添加

enable_experimental_unrecoverable_data_corrupting_features = bluestore

的时候忘记在前面加上:[osd]

问题2、从jewel版本上升级到kraken版本,然后再通过上述方法创建OSD并不成功

问题3、创建mon的时候出现error

[ceph_deploy.mon][ERROR ] RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite

解决方法

ceph-deploy --overwrite-conf mon create-initial
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值