升级Ceph集群从Kraken到Luminous

2017-11-05 阅读: Ceph

Ceph Luminous(Ceph 12.2)增加了很多新功能,例如新的后端存储BlueStore已经稳定,主推的新的管理进程ceph-mgr,并提供了用于监控的Prometheus插件和Dashboard插件,终于不用再折腾calamari了。本文尝试在测试环境中使用ceph-deploy将Ceph集群从Kraken到Luminous。

1.准备

ceph -s确认Kraken集群上设置了sortbitwise标志,可使用下面的命令设置:

ceph osd set sortbitwise

设置noout标志,避免每次停止节点时,Ceph通过复制数据导其他节点以重新平衡集群。

ceph osd set noout

2.升级ceph-deploy工具

ceph-deploy工具更新到最新版,在ceph-deploy节点上配置Ceph yum源 /etc/yum.repos.d/ceph.repo:

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
priority=2
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
yum install ceph-deploy python-pushy

3.更新各节点Ceph软件包

使用ceph-deploy升级各节点的ceph软件包:

ceph-deploy install --release luminous vm1 vm2 vm3

在每个节点上执行ceph --version确认版本:

ceph --version
ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)

4.升级MON节点

在每个MON节点上执行:

systemctl restart ceph-mon.target

确认MON节点的状态:

ceph mon stat
e4: 3 mons at {vm1=192.168.61.21:6789/0,vm2=192.168.61.22:6789/0,vm3=192.168.61.23:6789/0}, election epoch 38, leader 0 vm1, quorum 0,1,2 vm1,vm2,vm3

5.升级ceph-mgr

在每个MON节点上执行:

systemctl restart ceph-mgr.target

6.升级ceph-osd

在每个OSD节点上执行:

systemctl restart ceph-osd.target

7.最后

此时确认所有组件的版本都是Luminous的12.2.1:

ceph versions
{
    "mon": {
        "ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)": 3
    },
    "mgr": {
        "ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)": 3
    },
    "osd": {
        "ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)": 3
    },
    "mds": {},
    "overall": {
        "ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)": 9
    }
}

接下来禁止Luminous版本之前的OSD:

ceph osd require-osd-release luminous

禁止noot,使集群可以在以后自己需要时自己重新平衡集群:

ceph osd unset noout

确保集群处于健康状态:

ceph health
HEALTH_OK

现在我们的Ceph集群以及是Luminous 12.2.1了,接下来体验一下ceph-mgr提供的Dashboard插件。

启用dashboard插件:

ceph mgr module enable dashboard

执行完上面命令后Dashboard的http端口将会在当前active的mgr节点上被监听,使用ceph mgr dump可以确认当前激活的mgr节点。 Dashboard默认监听7000端口,使用http://ip:7000打开即可。

当前版本的ceph mgr dashboard插件只会在active的mgr节点上启动

ceph-dashboard

问题处理

升级完成后ceph health查看有下面的警告:

ceph health
HEALTH_WARN application not enabled on 1 pool(s)

使用ceph health detail得到下面的提示:

ceph health detail
HEALTH_WARN application not enabled on 1 pool(s)
POOL_APP_NOT_ENABLED application not enabled on 1 pool(s)
    application not enabled on pool 'kube'
    use 'ceph osd pool application enable <pool-name> <app-name>', where <app-name> is 'cephfs', 'rbd', 'rgw', or freeform for custom applications.

根据提示操作如下:

ceph osd pool application enable kube kubernetes
enabled application 'kubernetes' on pool 'kube'
ceph health
HEALTH_OK

参考

标题:升级Ceph集群从Kraken到Luminous
本文链接:https://blog.frognew.com/2017/11/upgrade-ceph-from-kraken-to-luminous.html
转载请注明出处。

目录