前言

在ceph 的jewel版本以及之前的版本,通过ceph -w命令是可以拿到每秒钟ceph集群的io状态的,现在的版本是ceph -s一秒秒手动去刷,ceph -w也不监控io的状态了,有的时候需要看io是否平滑,或者恢复还剩多少,能够比较直观的去看

实际上通过简单的脚本就可以实现之前差不多的效果

每秒查看状态

[root@lab201 ~]# sh ceph-s.sh
Wed Sep 9 10:44:57 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 93.3KiB/s rd, 0B/s wr, 155op/s
Wed Sep 9 10:44:58 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 91.7KiB/s rd, 0B/s wr, 152op/s
Wed Sep 9 10:45:00 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 94.6KiB/s rd, 0B/s wr, 157op/s
Wed Sep 9 10:45:01 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 94.6KiB/s rd, 0B/s wr, 157op/s
Wed Sep 9 10:45:02 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 88.3KiB/s rd, 0B/s wr, 147op/s
Wed Sep 9 10:45:03 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 88.3KiB/s rd, 0B/s wr, 147op/s
Wed Sep 9 10:45:04 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 69.6KiB/s rd, 0B/s wr, 115op/s
Wed Sep 9 10:45:06 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.6KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:07 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.6KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:08 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.0KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:09 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.0KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:10 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.1KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:12 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.8KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:13 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.8KiB/s rd, 0B/s wr, 154op/s

需要有时间,需要每秒的状态方便比对,如上所示

脚本

[root@lab201 ~]# cat ceph-s.sh
#!/bin/bash
LANG=C
PATH=/sbin:/usr/sbin:/bin:/usr/bin
interval=1
length=86400
for i in $(seq 1 $(expr ${length} / ${interval}));do
date=`date`
echo -n "$date "
ceph pg stat
sleep ${interval}
done

可以自行调整中间的间隔

变更记录

Why Who When
创建 武汉-运维-磨渣 2020-09-09

ceph打印出每秒的IO和pg状态的更多相关文章

  1. AutoCAD图形打印出图片 C#

    这几天搞cad二次开发,用的是C#语言,目前在网上找到的资料比较少.弄了两天,才做出怎样实现打印出图片.首先得在AutoCAD软件界面下,设置打印机的页面设置和打印机设备名称一样(以防打印不出来).即 ...

  2. java算法面试题:从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 ;读取docx 读取doc 使用poi 相关jar包提集提供下载

    从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 ...

  3. scala基础题--函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔

    函数可以没有返回值案例,编写一个函数,从终端输入一个整数,打印出对应的金字塔 import scala.io.StdIn object work02 { def main(args: Array[St ...

  4. 代码实现:从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名

    package com.loaderman.test; import java.io.File; import java.io.FileReader; import java.util.Scanner ...

  5. 以16进制打印出一块内存buff

    如下代码(支持windows与Linux)会以[16进制][每行16字节]打印出一块内存的内容: void PrintBuffer(void* pBuff, unsigned int nLen) { ...

  6. 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花 数 ",因为153=1的三次方+5的三次方+3的三次方。

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个 "水仙花 数 ", ...

  7. javap 可以打印出用于jni调用的java函数的签名信息

    javap可以打印出java的字节码: -c     Prints out disassembled code, i.e., the instructions that comprise the Ja ...

  8. c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法

    GCC Function instrumentation机制可以用来跟踪函数的调用关系,在gcc中对应的选项为“-finstrument-functions”.可查看gcc的man page来获取更详 ...

  9. Java基础知识强化07:打印出空心菱形

    1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...

随机推荐

  1. Kibana详细入门教程

    Kibana详细入门教程   目录 一.Kibana是什么 二.如何安装 三.如何加载自定义索引 四.如何搜索数据 五.如何切换中文 六.如何使用控制台 七.如何使用可视化 八.如何使用仪表盘 一.K ...

  2. nginx安全:配置allow/deny控制ip访问(ngx_http_access_module)

    一,nginx中allow/deny指令的用途 1, Nginx的deny和allow指令是由ngx_http_access_module模块提供, Nginx安装默认内置了该模块 2, nginx访 ...

  3. 2019-2020-1 20209313《Linux内核原理与分析》第二周作业

    2019-2020-1 20209313<Linux内核原理与分析>第二周作业 零.总结 阐明自己对"计算机是如何工作的"理解. 一.myod 步骤 复习c文件处理内容 ...

  4. frp 内网穿透远程桌面(Windows 10)配置

    一.服务端配置 服务端需要公网环境,一般用一台云服务器就行了,我选择的是 Linux 服务器,Windows 服务器也是可以的. 下载 frp: wget https://github.com/fat ...

  5. Ansible之YAML语言

    playbook写yml语句,若干模块发给Ansible,变成一个一个play,多个片段组合起来变成大片. 最终还是要读取主机清单,来确定作用在哪些机器上. YAML语言 YAML是一个可读性高的用来 ...

  6. Flink on Yarn三部曲之三:提交Flink任务

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. spring-boot-route(二十二)实现邮件发送功能

    在项目开发中,除了需要短信验证外,有时候为了节省 短信费也会使用邮件发送.在Spring项目中发送邮件需要封装复杂的消息体,不太方便.而在Spring Boot项目中发送邮件就太简单了,下面一起来看看 ...

  8. git删除缓存区中文件

    删除缓冲区中的文件 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除: git rm --f "文件路径",不仅将该文件从缓 ...

  9. .net core autofac asyncinterceptor 异步拦截器帮助包

    autofac使用拦截器实现AOP,是基于Castle.Core的.然而Castle.Core并未提供原生异步支持.所以需要使用帮助类实现,这在autofac官方文档的已知问题中有详细说明: http ...

  10. Go之NSQ简介,原理和使用

    NSQ简介 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异. NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息.它具有分布式和去中心化 ...