Ceph实验室:第四课:Ceph监控

本课程演示如何监控一个Ceph集群。我们将学习如何用ceph的命令行工具进行监控。

监控集群的整体状态

  • 健康状态

ceph命令的health选项查看集群的健康状态。

# ceph health detail 

HEALTH_WARN clock skew detected on mon.ceph-node2; Monitor clock skew detected
mon.ceph-node2 addr 192.168.1.121:6789/0 clock skew 0.194536s > max 0.05s (latency 0.00103766s)

HEALTH_WARN表示集群处于“告警”状态。
  • 集群事件监控

ceph命令的-w选项用于监控集群的事件,这个命令会实时显示集群中所有的事件消息。

# ceph -w    

    cluster b6e0c604-c9dd-4eac-9b00-45ff246d64fb
     health HEALTH_WARN
            clock skew detected on mon.ceph-node2
            Monitor clock skew detected
    monmap e2: 2 mons at {ceph-node1=192.168.1.120:6789/0,ceph-node2=192.168.1.121:6789/0}
            election epoch 24, quorum 0,1 ceph-node1,ceph-node2
    osdmap e28: 6 osds: 6 up, 6 in
             flags sortbitwise,require_jewel_osds
     pgmap v99: 0 pgs, 0 pools, 0 bytes data, 0 objects
            197 MB used, 91895 MB / 92093 MB avail
 2017-03-16 12:00:00.000245 mon.0 [INF] HEALTH_WARN; clock skew detected on mon.ceph-node2; Monitor clock skew detected   
  • 集群存储空间统计

ceph命令的df选项可以获取集群的存储空间使用统计数据,包括集群的总容量,剩余的可用容量,以及已使用容量的百分百。

# ceph df    

GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED
    92093M     91895M         197M          0.21
POOLS:
    NAME     ID     USED     %USED     MAX AVAIL     OBJECTS 
  • 集群状态

使用status选项可以查看集群的状态。

# ceph -s    

    cluster b6e0c604-c9dd-4eac-9b00-45ff246d64fb
     health HEALTH_WARN
            clock skew detected on mon.ceph-node2
            Monitor clock skew detected
     monmap e2: 2 mons at {ceph-node1=192.168.1.120:6789/0,ceph-node2=192.168.1.121:6789/0}
            election epoch 24, quorum 0,1 ceph-node1,ceph-node2
     osdmap e28: 6 osds: 6 up, 6 in
            flags sortbitwise,require_jewel_osds
      pgmap v99: 0 pgs, 0 pools, 0 bytes data, 0 objects
            197 MB used, 91895 MB / 92093 MB avail
# ntpdate pool.ntp.org
17 Mar 04:18:56 ntpdate[20268]: adjust time server 61.216.153.106 offset 0.000257 sec
# ceph -s

    cluster b6e0c604-c9dd-4eac-9b00-45ff246d64fb
     health HEALTH_OK
     monmap e2: 2 mons at {ceph-node1=192.168.1.120:6789/0,ceph-node2=192.168.1.121:6789/0}
            election epoch 26, quorum 0,1 ceph-node1,ceph-node2
     osdmap e30: 6 osds: 6 up, 6 in
            flags sortbitwise,require_jewel_osds
      pgmap v106: 0 pgs, 0 pools, 0 bytes data, 0 objects
            198 MB used, 91895 MB / 92093 MB avail

监控monitor

  • 查看MON状态

使用ceph命令的mon stat或者mon dump子命令来查看monitor的状态和map信息。

# ceph mon stat    

e2: 2 mons at {ceph-node1=192.168.1.120:6789/0,ceph-node2=192.168.1.121:6789/0}, election epoch 26, quorum 0,1 ceph-node1,ceph-node2

# ceph mon dump
dumped monmap epoch 2
epoch 2
fsid b6e0c604-c9dd-4eac-9b00-45ff246d64fb
last_changed 2017-03-16 10:10:30.700537
created 2017-03-16 09:56:25.645057
0: 192.168.1.120:6789/0 mon.ceph-node1
1: 192.168.1.121:6789/0 mon.ceph-node2
  • 查看MON的仲裁状态

在IO操作中,客户端会首先尝试与仲裁中的Leader Mon建立连接。如果leader不可用,客户端会以此尝试连接其他的mon。

# ceph quorum_status -f json-pretty    

{
    "election_epoch": 26,
    "quorum": [
        0,
        1
    ],
    "quorum_names": [
        "ceph-node1",
        "ceph-node2"
    ],
    "quorum_leader_name": "ceph-node1",
    "monmap": {
        "epoch": 2,
        "fsid": "b6e0c604-c9dd-4eac-9b00-45ff246d64fb",
        "modified": "2017-03-16 10:10:30.700537",
        "created": "2017-03-16 09:56:25.645057",
        "mons": [
            {
                "rank": 0,
                "name": "ceph-node1",
                "addr": "192.168.1.120:6789\/0"
            },
            {
                "rank": 1,
                "name": "ceph-node2",
                "addr": "192.168.1.121:6789\/0"
            }
        ]
    }
}

监控OSD

  • OSD tree

OSD tree会显示每个节点上所有OSD及其在CRUSH map中的位置。

# ceph osd tree

ID WEIGHT  TYPE NAME           UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.08752 root default
-2 0.04376     host ceph-node1
 0 0.01459         osd.0            up  1.00000          1.00000
 1 0.01459         osd.1            up  1.00000          1.00000
 2 0.01459         osd.2            up  1.00000          1.00000
-3 0.04376     host ceph-node2
 3 0.01459         osd.3            up  1.00000          1.00000
 4 0.01459         osd.4            up  1.00000          1.00000
 5 0.01459         osd.5            up  1.00000          1.00000 
  • 查看CRUSH map
# ceph osd crush rule list

[
    "replicated_ruleset"
]

# ceph osd crush rule dump "replicated_ruleset"

{
    "rule_id": 0,
    "rule_name": "replicated_ruleset",
    "ruleset": 0,
    "type": 1,
    "min_size": 1,
    "max_size": 10,
    "steps": [
        {
            "op": "take",
            "item": -1,
            "item_name": "default"
        },
        {
            "op": "chooseleaf_firstn",
            "num": 0,
            "type": "host"
        },
        {
            "op": "emit"
        }
    ]
}
  • 监控PG
# ceph pg stat

v107: 0 pgs: ; 0 bytes data, 198 MB used, 91895 MB / 92093 MB avail
时间: 2024-12-10 04:04:33

Ceph实验室:第四课:Ceph监控的相关文章

Ceph实验室:第二课:集成ceph与openstack

本课程介绍如何配置ceph作为Nova的后端存储,用来存放vm的临时磁盘. 集成ceph与Openstack Nova 安装ceph客户端集成ceph与Openstack的第一步就是要在openstack的节点上安装ceph客户端(一些ceph命令行工具和连接ceph集群需要的libraries). $ ceph-deploy install --cli --no-adjust-repos openstack $ ceph-deploy config push openstack 创建pool

Ceph实验室:第一课:快速部署ceph集群

本次实验演示如何快速地在centos上部署ceph分布式存储集群.目标是在ceph-node1和ceph-node2上创建一个两节点的集群. 环境 硬件环境 主机名 IP 功能 备注 ceph-node1 192.168.1.120 deploy,mon*1,osd*3 ceph-node2 192.168.1.121 deploy,mon*1,osd*3 ceph-node3 192.168.1.122 横向扩展节点 cloud 192.168.1.102 openstack ocata te

Ceph实验室:第七课:Ceph块存储操作

创建Ceph块设备 创建一个1024MB大小的块设备 #rbd create rbd1 --size 1024 -p compute 列出创建的块image #rbd ls -p compute 检查块image的细节 #rbd --image rbd1 info -p compute rbd image 'rbd1': size 1024 MB in 256 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.14895

Ceph实验室:第六课:Ceph运维之横向扩展

Ceph支持在一个已有的集群中增加一个带有一组磁盘的新节点来扩展其容量,而且在服务部宕机的情况下进行扩展. 1: 在新节点上安装ceph软件包,保证和ceph集群的软件版本一致 #ceph-deploy install ceph-node3 --release jewel 2: 列出新节点上所有可用磁盘 #ceph-deploy disk list ceph-node3 3: 将ceph-node3上的磁盘加入到ceph集群 #ceph-deploy disk zap ceph-node3:sd

Ceph实验室:第五课:Ceph运维之换盘

在ceph集群里,磁盘出故障是不可避免,所以替换故障磁盘成为ceph日常运维不断重复的任务.本课程演示如何替换一个故障盘. 定位故障磁盘 #MegaCli -PDList -aALL|grep "Media Error" Enclosure Device ID: 0 Slot Number: 3 Enclosure position: 0 Device Id: 2 Sequence Number: 2 Media Error Count: 227 <- 物理故障 Other Er

Ceph 实验室:概述

本实验室目标是构建一个完整的Ceph学习,开发环境,帮助立志学习Ceph的同学们,快速入门,快速提高! 包括博客文字部分和录制的相关视频.主要内容包括: 快速部署一个ceph集群 ceph与Openstack ocata的集成 ceph集群横向扩展 ceph集群管理 ceph集群问题解决 ceph集群性能调优 ceph集群原理 云计算存储理论深入解析 实验室环境      在ubuntu16操作系统上用vagrant起动五台vm构成了实验室环境.为了保证Openstack aio能正常运行,最好

2天驾驭DIV+CSS!第四课(下)

第四课的思路就是这样的,如果吃透了这节课,那么以后什么样子的导航都很轻易作出来,如果你在和js很好的结合起来用~你就可以很自信的向老板提出加薪了!!!^_^ 上节课我们将导航条做成了下面的效果[第四步] 我们需要将上面的导航条做以下几个修改1)给上面的导航加上链接:2)链接文字大小修改为12px;3)并且规定链接样式,鼠标移上去和拿开的效果修改方法如下1)导航加链接,HTML代码如下:<div id="nav">    <ul>     <li>&l

吴恩达deeplearning.ai将于11月6日开放第四课,主讲卷积神经网络

截止到2017年10月25日,吴恩达在Coursera上有3门深度学习课程: 第一课:神经网络和深度学习(Neural Networks and Deep Learning) 第二课:改善深度神经网络:调优超参数,正则化和优化(Improving Deep Neural Networks: Hyperparamater tuning, Regularization and Optimization) 第三课:构建机器学习项目(Structuring Machine Learning Projec

Asp.Net Web API 2第十四课——Content Negotiation(内容协商)

原文:Asp.Net Web API 2第十四课--Content Negotiation(内容协商) 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API如何实现内容协商. HTTP规范(RFC 2616)将内容协商定义为"在有多个表现可用时,为一个给定的响应选择最佳表现的过程".在HTTP中内容协商的主要机制是以下请求报头: