第35讲:Manager可视化组件管理Ceph集群

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指标。
相关推荐
爱打lan球的程序员20 分钟前
redis分布式锁和lua脚本
数据库·redis·分布式
说书客啊34 分钟前
计算机毕业设计 | springboot旅行旅游网站管理系统(附源码)
java·数据库·spring boot·后端·毕业设计·课程设计·旅游
hummhumm40 分钟前
数据库系统 第46节 数据库版本控制
java·javascript·数据库·python·sql·json·database
ac-er88881 小时前
Flask如何创建并运行数据库迁移
数据库·python·flask
人工智障调包侠1 小时前
Linux 目录介绍
linux·运维·服务器
传而习乎2 小时前
【Postgresql】地理空间数据的存储与查询,查询效率优化策略,数据类型与查询速度的影响
数据库·postgresql
King.6242 小时前
SQLynx如何提高企业数据库安全?
数据库·sql·mysql·postgresql·oracle
hakesashou2 小时前
python怎么输入中文
java·服务器·python
Java小白白同学3 小时前
Linux 硬盘扩容操作手册
linux·运维·服务器
牛像话3 小时前
`GLIBCXX_3.4.29‘ not found,升级至libstdc++.so.6.0.29解决问题,欧拉服务器
服务器·开发语言·c++