目标
使用 ceph luminous 版新特性
手动部署 mgr
完成 ceph 监控
新建用户
创建用户 openstack 用于 MGR 监控
[root@cephsvr-128040 ceph]# ceph auth get-or-create mgr.openstack mon 'allow *' osd 'allow *' mds 'allow *'
[mgr.openstack]
key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxugvXkLfgauLA==
修改用户
假如用户已经存在, 用过下面方法进行权限修改
[root@cephsvr-128040 ceph]# ceph auth caps mgr.openstack mon 'allow *' osd 'allow *' mds 'allow *'
[mgr.openstack]
key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxugvXkLfgauLA==
删除用户
提示
删除用户方法
ceph auth del mgr.openstack
导出密钥
需要吧之前创建的用户密码存放至对应位置
[root@cephsvr-128040 ceph]# mkdir /var/lib/ceph/mgr/ceph-openstack
[root@cephsvr-128040 ceph]# ceph auth get mgr.openstack -o /var/lib/ceph/mgr/ceph-openstack/keyring
exported keyring for mgr.openstack
启动 mgr
[root@cephsvr-128040 ceph]# ceph-mgr -i openstack
监控状态
[root@cephsvr-128040 ceph]# ceph -s
cluster:
id: xxxxxxx-5d4d-4d3a-xxxx-04e73eff4ccd
health: HEALTH_OK
services:
mon: 3 daemons, quorum cephsvr-128040,cephsvr-128214,cephsvr-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@cephsvr-128040 ceph]# ceph mgr module enable dashboard
[root@cephsvr-128040 ceph]# ceph config-key set mgr/dashboard/openstack/server_addr xx.199.128.40
set mgr/dashboard/openstack/server_addr
[root@cephsvr-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
服务管理
复制 systemd 配置
[root@cephsvr-128040 ceph]# cp /usr/lib/systemd/system/ceph-mgr@.service /usr/lib/systemd/system/ceph-mgr@openstack.service
注:
这里 mgr 服务命名需要跟 ceph -s 中 mgr 定义的命名匹配
[root@cephsvr-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@cephsvr-128040 ceph]# systemctl restart ceph-mgr@openstack.service
[root@cephsvr-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
11月 21 12:51:45 cephsvr-128040.vclound.com systemd[1]: Started Ceph cluster manager daemon.
11月 21 12:51:45 cephsvr-128040.vclound.com systemd[1]: Starting Ceph cluster manager daemon...
11月 21 12:51:45 cephsvr-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Bus STARTING
11月 21 12:51:45 cephsvr-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Started monitor thread '_TimeoutMonitor'.
11月 21 12:51:45 cephsvr-128040.vclound.com ceph-mgr[33521]: [21/Nov/2017:12:51:45] ENGINE Serving on xx.199.128.40:8088
11月 21 12:51:45 cephsvr-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 需要不同的独立的命名)
参考
Every 2.0s: ceph -s Thu Jan 18 11:16:01 2018
cluster:
id: xxxxxxxx-ff22-4439-xxxx-f9d5d2a4faed
health: HEALTH_OK
services:
mon: 3 daemons, quorum cephsvr-208217,cephsvr-208218,cephsvr-208219
mgr: cephsvr-208218(active), standbys: cephsvr-208219, cephsvr-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)
参考 dashbroad 中的 screenshot
health
server
osd
pool files