Manager可视化组件管理Ceph集群
1.Mgr组件的基本概念
Mgr组件的官方文档:https://docs.ceph.com/en/latest/mgr/
Ceph Manager守护进程 (ceph-mgr) 与Monitor守护进程一起运行,为外部监控和管理系统提供额外的监控和接口。
ceph luminous版本中新增加了一个组件: Ceph Manager Daemon,简称ceph-mgr。 该组件的主要 作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统。
ceph-mgr是由C/C++、python以及Cpython等共同编写完成的。
Manager组件的特性:
- 多用户和角色的管理
- 支持创建不同的角色和用户,用户账户和角色可以通过命令行或者WEB界面进行管理,仪表盘支持各种方法来增强密码的安全性,也可以配置密码的复杂性规则,例如要求用户在第一次登陆后或者某个时间段过后,强制修改密码。
- 单点登录SSO
- 仪表盘支持使用SAML2.0协议通过外部身份提供者进行身份的验证。
- SSL/TLS的支持
- Manager组件提供的访问方式默认是HTTP类型,也可以支持SSL/TLS的加密认证,可以通过命令创建自签证书,也可以导入由CA颁发机构下发的证书,从而使用HTTPS协议类型访问仪表盘。
- 审计功能
- Manager组件可以配置审计功能,记录所有的API操作请求。
- 国际化
- 在使用仪表盘时,支持调整使用的语言。
Ceph集群Dashboard提供的功能:
- 显示集群的健康状态、性能指标、容量指标等等。
- 支持嵌入Grafana仪表盘服务,展示由Prometheus采集来的集群性能指标的图形数据。
- 可以在仪表盘中显示集群的事件信息和审计日志,按照优先级、日期、关键字来过滤条目。
- 显示集群中所有节点的信息列表和驱动器列表。
- 显示每个正在运行的节点中服务的统计信息。
- 显示集群中所有的Monitor节点状态,包括仲裁节点的状态。
- 通过启用Prometheus监控系统,监控集群的性能指标,配置和触发告警信息。、
- 支持列出集群中所有的OSD、RBD、Cephfs等类型的数据存储详情。
2.在Ceph集群中部署Mgr Dashboard仪表盘
2.1.安装Dashboard仪表盘的软件包
sh
[root@ceph-node-1 ~]# yum -y install ceph-mgr-dashboard
2.2.开启Mgr组件的Dashboard模块
sh
[root@ceph-node-1 ~]# ceph mgr module enable dashboard --force
开启成功。
2.3.开启SSL/TLS协议
开启SSL/TLS协议后,使用HTTPS访问仪表盘,当然也可以禁用。
禁用SSL/TLS的命令:ceph config set mgr mgr/dashboard/ssl false
快速生成Ceph提供的SSL证书的命令:ceph dashboard create-self-signed-cert
通过openssl生成自签的证书。
sh
[root@ceph-node-1 ~]# openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
Generating a 2048 bit RSA private key
......................................+++
.......................+++
writing new private key to 'dashboard.key'
-----
将生成的证书导入到集群中。
sh
[root@ceph-node-1 ~]# ceph dashboard set-ssl-certificate -i dashboard.crt
SSL certificate updated
[root@ceph-node-1 ~]# ceph dashboard set-ssl-certificate-key -i dashboard.key
SSL certificate key updated
2.4.配置Dashboard监听的地址和端口
启用SSL/TLS协议后,访问Dashboard的端口号为8443,不启用SSL/TLS协议时,访问Dashboard的端口号为8080
sh
[root@ceph-node-1 ~]# ceph config set mgr mgr/dashboard/server_addr 0.0.0.0
[root@ceph-node-1 ~]# ceph config set mgr mgr/dashboard/server_port 8080
[root@ceph-node-1 ~]# ceph config set mgr mgr/dashboard/ssl_server_port 8443
2.5.设置Dashboard的用户名及密码
sh
1.将密码写入到一个文件中
[root@ceph-node-1 ~]# echo "admin" >> /etc/ceph/dashboard-pw.txt
2.创建用户
[root@ceph-node-1 ~]# ceph dashboard ac-user-create admin -i /etc/ceph/dashboard-pw.txt administrator
{"username": "admin", "lastUpdate": 1650813186, "name": null, "roles": ["administrator"], "password": "$2b$12$.g6F41S.wXbYjW2/.rnbAuLW/ZWfRGwURPTMXTPM/5fhOe6joBrda", "email": null}
2.6.查看服务的状态
sh
[root@ceph-node-1 ~]# ceph mgr services
{
"dashboard": "https://ceph-node-1:8443/"
}
2.7.登陆Dashboard仪表盘
访问地址:https://192.168.20.20:8443/
系统首页如下。
3.Dashboard仪表盘的基本使用
3.1.仪表盘的基本使用
3.1.1.查看集群的健康状态
在Cluster Status这里可以看到集群的状态,当前集群的状态是OK状态。
当集群状态为其他时,鼠标放在上面会显示出详细的信息,并且还可以点击进去查看详情。
3.1.2.查看集群中Monitor组件的信息
在Monitors中可以看到当前集群中Monitor节点的数量以及状态。
点击Monitors即可跳转至详情页面。
3.1.3.查看集群中OSD组件的信息
在OSDs中可以看到当前集群中OSD组件的数量。
点击OSDs可以跳转至详情页面,在这里可以看到集群中每一个OSD的详细信息,包括运行的状态、PG的数量、空间大小、用户使用的空间、读写速率、读写IOPS等指标。
3.1.4.查看Manager组件的信息
在Manager Daemons页面这里看到集群中Manager组件的信息,可以看到有一个节点处于Active状态,剩余两个节点处于Standby状态。
3.1.5.剩余的仪表盘信息
在第二排中还可以看到当前集群中的节点信、对象网关、MDS、ISCSI网关等信息。点击超链接都可以跳转查看详情。
3.1.6.关于性能指标的仪表盘
在Performance中主要是显示集群性能指标的一些监控数据。
3.1.7.集群存储情况的仪表盘
可以看到当前集群的Pool资源池的数量,点击超链接可以看到每个Pool的信息。
可以看到集群OSD存储的使用空间,当前使用了20%还剩余80%。
可以看到当前集群中Objects对象文件的信息,当前集群中所有的对象文件都是健康的状态。
可以看到当前集群中PG的状态,都处于正常状态。
3.2.查看集群的仪表盘信息
在Cluster这里能查看的信息非常全面,包括Hosts、Monitors、OSD等等很多的信息。
3.2.1.查看当前集群的节点信息
点击Cluster--->Hosts可以看到集群各节点的信息,包括每个节点部署的组件、组件的版本等等。
3.2.2.查看集群中Monitor组件的信息
点击Cluster--->Monitors可以看到集群中Monitor组件的信息。
3.2.3.查看集群中OSD组件的信息
点击Cluster--->OSD可以看到集群中OSD组件的信息。
3.2.4.集群的配置参数
在Cluster--->Configuration中可以对一些参数进行调整。
3.2.5.查看集群的CrushMap
点击Cluster--->Crush Map中可以看到集群的CrushMap列表,支持编辑。
3.2.6.Mgr支持的模块启用
点击Cluster--->Manager Modules可以看到集群中启用的Mgr模块。
3.2.7.查看集群的日志和审计日志
点击Cluster--->Logs中可以看到集群的日志和审计日志。
3.3.查看集群中的Pool资源池
1)点击Pools可以看到集群中的Pool资源池信息。
2)点击图中的Create可以进行创建,输入资源池的名称、类型即可。
创建成功。
点击资源池的名称可以查看详细的参数。
3.4.查看集群中的块设备
点击Block--->Images可以看到集群中可用的块设备,可以进行创建。
3.5.查看集群中Cephfs文件系统
点击Filesystems可以查看当前集群中所有的Cephfs文件系统。
4.Mgr组件的常用模块
官方文档:https://docs.ceph.com/en/quincy/mgr/
Mgr组件的模块启用后即可使用,启动模块的命令:ceph mgr module enable {module_name}
Mgr组件常用的模块有以下几种:
- Alerts Module
- 告警模块,主要是将集群的监控信息通过邮件的方式通知给管理员。
- Zabbix Module
- 通过zabbix模块可以向zabbix服务器发送监控信息,形成监控视图。
- Prometheus Module
- 提供Prometheus的Exports客户端,采集Ceph集群的相关监控指标,上报给Prometheus服务端,展示更加友好的监控面板。
- Influx Module
- 通过Influx模块可以将收集的时序数据写入到Influxdb数据库中。
- Iostat Module
- 通过Iostat模块可以显示集群OSD设备的吞吐量和IOPS指标。