手动部署 ceph mgr (luminous 版)

时间:2021-11-28 12:50:49

目标

使用 ceph luminous 版新特性
手动部署 mgr
完成 ceph 监控

新建用户

创建用户 openstack 用于 MGR 监控

[root@hh-ceph-128040 ceph]# ceph auth get-or-create mgr.openstack mon 'allow *' osd 'allow *' mds 'allow *'
[mgr.openstack]
key = AQBqhxNaKcVpLhAA/P1GVlu3yRugvXkLfgauLA==

修改用户

假如用户已经存在, 用过下面方法进行权限修改

[root@hh-ceph-128040 ceph]# ceph auth caps mgr.openstack mon 'allow *' osd 'allow *' mds 'allow *'
[mgr.openstack]
key = AQBqhxNaKcVpLhAA/P1GVlu3yRugvXkLfgauLA==

删除用户

提示一下删除用户方法

ceph auth del mgr.openstack

导出密钥

需要吧之前创建的用户密码存放至对应位置

[root@hh-ceph-128040 ceph]# mkdir /var/lib/ceph/mgr/ceph-openstack
[root@hh-ceph-128040 ceph]# ceph auth get mgr.openstack -o /var/lib/ceph/mgr/ceph-openstack/keyring
exported keyring for mgr.openstack

启动 mgr

[root@hh-ceph-128040 ceph]# ceph-mgr -i openstack

监控状态

[root@hh-ceph-128040 ceph]# ceph -s
cluster:
id: c45b752d-5d4d-4d3a-a3b2-04e73eff4ccd
health: HEALTH_OK

services:
mon: 3 daemons, quorum hh-ceph-128040,hh-ceph-128214,hh-ceph-128215
mgr: openstack(active)
osd: 36 osds: 36 up, 36 in

data:
pools: 1 pools, 2048 pgs
objects: 383 objects, 1496 MB
usage: 8476 MB used, 196 TB / 196 TB avail
pgs: 2048 active+clean

总结

当 mgr 服务被激活之后, service 中 mgr 会显示 mgr-$name(active) 
data 部分信息将变得可用

dashbroad

luminous 版本新特色
由 mgr 提供的一个 web 界面
只能够用于监控显示, 无法进行信息更改

手动配置方法

[root@hh-ceph-128040 ceph]# ceph mgr module enable dashboard
[root@hh-ceph-128040 ceph]# ceph config-key set mgr/dashboard/openstack/server_addr 10.199.128.40
set mgr/dashboard/openstack/server_addr
[root@hh-ceph-128040 ceph]# ceph config-key set mgr/dashboard/openstack/server_port 8088
set mgr/dashboard/openstack/server_port

配置文件修改

/etc/ceph/ceph.conf

[mgr]
mgr modules
= dashboard

服务管理

复制配置

[root@hh-ceph-128040 ceph]# cp /usr/lib/systemd/system/ceph-mgr@.service  /usr/lib/systemd/system/ceph-mgr@openstack.service

注: 这里 mgr 服务命名需要跟 ceph -s 中 mgr 定义的命名匹配
重启

[root@hh-ceph-128040 ceph]# systemctl status  ceph-mgr@openstack.service
● ceph-mgr@openstack.service - Ceph cluster manager daemon
Loaded: loaded (/usr/lib/systemd/system/ceph-mgr@openstack.service; disabled; vendor preset: disabled)
Active: inactive (dead)

[root@hh-ceph-128040 ceph]# systemctl restart ceph-mgr@openstack.service

[root@hh-ceph-128040 ceph]# systemctl status ceph-mgr@openstack.service
● ceph-mgr@openstack.service - Ceph cluster manager daemon
Loaded: loaded (/usr/lib/systemd/system/ceph-mgr@openstack.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2017-11-21 12:51:45 CST; 1s ago
Main PID: 33521 (ceph-mgr)
CGroup: /system.slice/system-ceph\x2dmgr.slice/ceph-mgr@openstack.service
└─33521 /usr/bin/ceph-mgr -f --cluster ceph --id openstack --setuser ceph --setgroup ceph

1121 12:51:45 hh-ceph-128040.vclound.com systemd[1]: Started Ceph cluster manager daemon.
1121 12:51:45 hh-ceph-128040.vclound.com systemd[1]: Starting Ceph cluster manager daemon...
1121 12:51:45 hh-ceph-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Bus STARTING
1121 12:51:45 hh-ceph-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Started monitor thread '_TimeoutMonitor'.
1121 12:51:45 hh-ceph-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Serving on 10.199.128.40:8088
1121 12:51:45 hh-ceph-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Bus STARTED

关于高可用

ceph-mgr 对于当前 ceph 版本十分重要
主要用于管理 pg map 作用
当 ceph-mgr 发生故障, 相当于整个 ceph 集群都会出现严重问题
建议在每个 mon 中都创建独立的 ceph-mgr (至少 3 个 CEPH MON 节点)
只需要在每个 mon 节点参考上面方法进行创建即可 (注, 每个 mgr 需要不同的独立的命名)

参考启动三个 ceph-mgr 后的结果,

Every 2.0s: ceph -s                                                                                                                                  Thu Jan 18 11:16:01 2018

cluster:
id: 540236d7-ff22-4439-902e-f9d5d2a4faed
health: HEALTH_OK

services:
mon: 3 daemons, quorum ns-ceph-208217,ns-ceph-208218,ns-ceph-208219
mgr: ns-ceph-208218(active), standbys: ns-ceph-208219, ns-ceph-208217
osd: 150 osds: 150 up, 150 in

data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 bytes
usage: 18374 MB used, 818 TB / 818 TB avail
pgs:

其中一个为 active, 另外另个为 standby
当 active 状态的 ceph-mgr 出现故障, standby ceph-mgr 会自动变成 acitve,

注意:

如上所述, 当使用了三个 ceph-mgr 后,  dashbroad 只可用于 active ceph-mgr 中

访问 dashbroad

参考 手动配置方法 配置定义了 dashbroad 访问 ip 与端口 (默认 7000)

http://10.199.128.40:8088

参考 dashbroad 中的 screenshot
health
手动部署 ceph mgr (luminous 版)

server
手动部署 ceph mgr (luminous 版)

osd
手动部署 ceph mgr (luminous 版)

pool files
手动部署 ceph mgr (luminous 版)