环境

Ceph version Luminous

ceph-mgr的主要功能是提供外部监测和管理系统的接口。12.x(Luminous)的Ceph集群,需要启用ceph-mgr之后集群状态才会是HEALTH_OK。

配置并启动mgr

1、生成mgr密钥
  1. ceph auth get-or-create mgr.{hostname} mon 'allow *' osd 'allow *'
2、创建mgr数据目录
  1. mkdir /var/lib/ceph/mgr/ceph-{hostname}/
3、保存密钥文件
  1. ceph auth get mgr.{hostname} -o /var/lib/ceph/mgr/ceph-{hostname}/keyring
4、启动mgr

使用 ceph-mgr -i {hostname} 可以对mgr进行启动,例如: ceph-mgr -i node1 。启动之后通过ceph -s 可以看到mgr active的信息。如下:

  1. $ ceph -s
  2. cluster:
  3. id: 2c9ce865-aede-4826-83de-16e9f9b16d75
  4. health: HEALTH_OK
  5. services:
  6. mon: 3 daemons, quorum node1,node2,node3
  7. mgr: node1(active), standbys: node2, node3
  8. osd: 9 osds: 9 up, 9 in
  9. data:
  10. pools: 0 pools, 0 pgs
  11. objects: 0 objects, 0 bytes
  12. usage: 10179 MB used, 169 GB / 179 GB avail
  13. pgs:

mgr的高可用性

通常ceph-mgr守护进程是需要在每一个运行了ceph-mon的主机上,以实现相同的可用性级别。默认情况下,第一个开始运行ceph-mgr的实例将会是激活状态,其他的节点作为备用。如果活动守护进程出现异常超过30s(默认值)将会由备用监视器的守护进程替代。

如果要抢占故障转移,可以标记ceph-mgr进程失败。命令格式为ceph mgr fail {hostname}例如:

  1. ceph mgr fail node1

启用并配置dashboard

开启dashborad

mgr提供一个web界面,可以用来显示监控信息。默认是没有启动的,可以通过以下命令启用dashboard

  1. ceph mgr module enable dashboard
配置dashboard监听地址
  1. ceph config-key set mgr/dashboard/{hostname}/server_addr $IP
配置dashboard监听端口
  1. ceph config-key set mgr/dashboard/{hostname}/server_port $PORT

配置完成后,可以通过浏览器使用 http://$IP/$PORT 的方式进行访问dashboard
服务管理
为了方便对mgr管理,可以通过以下命令生成systemd配置文件

  1. cp /usr/lib/systemd/system/ceph-mgr@.service /usr/lib/systemd/system/ceph-mgr@{hostname}.service
启动mgr
  1. systemctl start ceph-mgr@{hostname}
停止mgr
  1. systemctl stop ceph-mgr@{hostname}
重启mgr
  1. systemctl restart ceph-mgr@{hostname}
查看mgr状态
  1. systemctl status ceph-mgr@{hostname}