zoukankan      html  css  js  c++  java
  • PG degraded实验


    1. 创建一个文件,并把该文件作为对象放到集群中:

    [root@node1 ~]# echo "this is test! " >>test.txt
    [root@node1 ~]# rados -p testpool ls
    [root@node1 ~]# rados -p testpool put test.txt test.txt 
    [root@node1 ~]# rados -p testpool ls
    test.txt
    

    2. 查看该对象对应的pg号以及osd组:

    [root@node1 ~]# ceph osd map testpool test.txt 
    osdmap e76 pool 'testpool' (2) object 'test.txt' -> pg 2.8b0b6108 (2.8) -> up ([1,2,0], p1) acting ([1,2,0], p1)
    

    3. 踢除主osd,pg降级,次osd升级为临时主osd:

    [root@node2 ~]# systemctl stop ceph-osd@1
    [root@node2 ~]# ceph osd map testpool test.txt
    osdmap e79 pool 'testpool' (2) object 'test.txt' -> pg 2.8b0b6108 (2.8) -> up ([2,0], p2) acting ([2,0], p2)
    [root@node2 ~]# ceph pg dump_stuck |grep ^2.8
    2.8     active+undersized+degraded [2,0]          2  [2,0]              2 
    

    4. 此时仍能够访问该对象:

    [root@node2 ~]# rados -p testpool get test.txt test.txt
    [root@node2 ~]# cat test.txt 
    this is test! 
    

    5. 恢复原主osd:

    [root@node2 ~]# systemctl start ceph-osd@1
    [root@node2 ~]# ceph pg dump_stuck |grep ^2.8
    ok
    [root@node2 ~]# ceph osd map testpool test.txt
    osdmap e82 pool 'testpool' (2) object 'test.txt' -> pg 2.8b0b6108 (2.8) -> up ([1,2,0], p1) acting ([1,2,0], p1)
    

    通过上面的实验可以看出,当承载同一个pg的osd中的主osd out,次osd会临时升任主osd。在一定的时间间隔内,如果主osd up,该osd继续其主osd功能。

    参考文献:

    大话Ceph--PG那点事儿

  • 相关阅读:
    时间戳计算
    .NET/C#/Oracle数据库操作类
    memcached安装及.NET中的Memcached.ClientLibrary使用
    C# Redis
    Jmeter教程 简单的压力测试
    Elasticsearch查询类型
    Windows 如何查看本地端口被进程占用的情况?
    Log4net 配置
    NLog 配置
    RPC原理
  • 原文地址:https://www.cnblogs.com/sisimi/p/7723861.html
Copyright © 2011-2022 走看看