zoukankan      html  css  js  c++  java
  • ceph crush

    [问题]

    [解答]

     

    [问题] int CrushWrapper::try_remap_rule()该方法的作用和应用场景是什么样的?

    [解答]

     

    [问题] crush rule op 中 firstn 和 indep 各有什么样的应用场合?www.spinics.net/lists/ceph-users/msg07167.html

    [解答]

     

    [问题] crush_map 中 pos Vs id, 它们之间的关系是怎么样的, 什么时候是负数,什么时候是正数?

    id = -1 - pos; pos = -1 - id

    [解答]

     

    [问题] ceph osd crush dump 打印输出,是 json 格式的输出, 跟踪代码实现

    [解答]
    [harvis@centos7 build]$ ./bin/ceph osd crush dump

    *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
    {
        "devices": [
            {
                "id": 0,
                "name": "osd.0"
            },
            {
                "id": 1,
                "name": "osd.1"
            },
            {
                "id": 2,
                "name": "osd.2"
            }
        ],
        "types": [
            {
                "type_id": 0,
                "name": "osd"
            },
            {
                "type_id": 1,
                "name": "host"
            },
            {
                "type_id": 2,
                "name": "chassis"
            },
            {
                "type_id": 3,
                "name": "rack"
            },
            {
                "type_id": 4,
                "name": "row"
            },
            {
                "type_id": 5,
                "name": "pdu"
            },
            {
                "type_id": 6,
                "name": "pod"
            },
            {
                "type_id": 7,
                "name": "room"
            },
            {
                "type_id": 8,
                "name": "datacenter"
            },
            {
                "type_id": 9,
                "name": "region"
            },
            {
                "type_id": 10,
                "name": "root"
            }
        ],
        "buckets": [
            {
                "id": -1,
                "name": "default",
                "type_id": 10,
                "type_name": "root",
                "weight": ,
                "alg": "straw",
                "hash": "rjenkins1",
                "items": [
                    {
                        "id": -2,
                        "weight":196608 ,
                        "pos": 0
                    }
                ]
            },
            {
                "id": -2,
                "name": "centos7",
                "type_id": 1,
                "type_name": "host",
                "weight": 196608,
                "alg": "straw",
                "hash": "rjenkins1",
                "items": [
                    {
                        "id": 0,
                        "weight": 65536,
                        "pos": 0
                    },
                    {
                        "id": 1,
                        "weight": 65536,
                        "pos": 1
                    },
                    {
                        "id": 2,
                        "weight": 65536,
                        "pos": 2
                    }
                ]
            }
        ],
        "rules": [
            {
                "rule_id": 0,
                "rule_name": "replicated_ruleset",
                "ruleset": 0,
                "type": 1, ## 1: type replicated 0:type erasure
                "min_size": 1,
                "max_size": 10,
                "steps": [
                    {
                        "op": "take",
                        "item": -1,
                        "item_name": "default" ## id 为 -1 的 item 的名字
                    },
                    {
                        "op": "choose_firstn",
                        "num": 0,
                        "type": "osd" ##
                    },
                    {
                        "op": "emit"
                    }
                ]
            }
        ],
        "tunables": {
            "choose_local_tries": 0,
            "choose_local_fallback_tries": 0,
            "choose_total_tries": 50,
            "chooseleaf_descend_once": 1,
            "chooseleaf_vary_r": 1,
            "chooseleaf_stable": 0,
            "straw_calc_version": 1,
            "allowed_bucket_algs": 22,
            "profile": "firefly",
            "optimal_tunables": 0,
            "legacy_tunables": 0,
            "minimum_required_version": "firefly",
            "require_feature_tunables": 1,
            "require_feature_tunables2": 1,
            "has_v2_rules": 0,
            "require_feature_tunables3": 1,
            "has_v3_rules": 0,
            "has_v4_buckets": 0,
            "require_feature_tunables5": 0,
            "has_v5_rules": 0
        }
    }

     

    [问题] crush 单元测试输出信息

    [解答]
    [harvis@centos7 build]$ ./bin/unittest_crush
    [==========] Running 9 tests from 1 test case.
    [----------] Global test environment set-up.
    [----------] 9 tests from CRUSH
    [ RUN      ] CRUSH.indep_toosmall
    ID    WEIGHT    TYPE NAME
    -1    3.00000    root default
    -3    3.00000        rack rack-0
    -2    1.00000            host host-0-0
    0    1.00000                osd.0
    -4    1.00000            host host-0-1
    1    1.00000                osd.1
    -5    1.00000            host host-0-2
    2    1.00000                osd.2
    0 -> [2,1,2147483647,0,2147483647]
    1 -> [2,2147483647,0,2147483647,1]
    2 -> [1,0,2,2147483647,2147483647]
    3 -> [1,2,0,2147483647,2147483647]
    4 -> [0,2,2147483647,2147483647,1]
    5 -> [1,2,2147483647,0,2147483647]
    6 -> [1,2147483647,2147483647,2,0]
    7 -> [2,0,2147483647,1,2147483647]
    8 -> [0,2,2147483647,1,2147483647]
    9 -> [1,2147483647,2,2147483647,0]
    10 -> [2,2147483647,1,0,2147483647]
    11 -> [2,2147483647,0,2147483647,1]
    12 -> [1,2147483647,0,2,2147483647]
    13 -> [0,2,1,2147483647,2147483647]
    14 -> [1,2,2147483647,2147483647,0]
    15 -> [0,1,2,2147483647,2147483647]
    16 -> [1,2,0,2147483647,2147483647]
    17 -> [2,0,1,2147483647,2147483647]
    18 -> [1,2147483647,2147483647,0,2]
    19 -> [1,0,2147483647,2,2147483647]
    20 -> [2,1,2147483647,0,2147483647]
    21 -> [0,2,2147483647,1,2147483647]
    22 -> [1,0,2,2147483647,2147483647]
    23 -> [2,1,2147483647,2147483647,0]
    24 -> [1,2,2147483647,0,2147483647]
    25 -> [1,2147483647,2147483647,2,0]
    26 -> [0,1,2,2147483647,2147483647]
    27 -> [0,1,2147483647,2,2147483647]
    28 -> [0,1,2,2147483647,2147483647]
    29 -> [0,2147483647,2,2147483647,1]
    30 -> [0,2147483647,2147483647,2,1]
    31 -> [2,1,2147483647,0,2147483647]
    32 -> [2,0,2147483647,2147483647,1]
    33 -> [2,1,2147483647,0,2147483647]
    34 -> [2,2147483647,0,2147483647,1]
    35 -> [2,0,2147483647,2147483647,1]
    36 -> [0,1,2,2147483647,2147483647]
    37 -> [2,0,2147483647,1,2147483647]
    38 -> [0,2,1,2147483647,2147483647]
    39 -> [2,1,0,2147483647,2147483647]
    40 -> [2,2147483647,0,1,2147483647]
    41 -> [1,2,0,2147483647,2147483647]
    42 -> [0,1,2147483647,2147483647,2]
    43 -> [1,0,2,2147483647,2147483647]
    44 -> [2,1,2147483647,2147483647,0]
    45 -> [1,2,0,2147483647,2147483647]
    46 -> [1,2,0,2147483647,2147483647]
    47 -> [2,2147483647,0,1,2147483647]
    48 -> [2,0,1,2147483647,2147483647]
    49 -> [2,0,1,2147483647,2147483647]
    50 -> [1,0,2,2147483647,2147483647]
    51 -> [0,2,1,2147483647,2147483647]
    52 -> [2,2147483647,0,2147483647,1]
    53 -> [0,2,1,2147483647,2147483647]
    54 -> [0,1,2,2147483647,2147483647]
    55 -> [1,2,0,2147483647,2147483647]
    56 -> [2,2147483647,1,0,2147483647]
    57 -> [2,1,2147483647,0,2147483647]
    58 -> [1,0,2147483647,2,2147483647]
    59 -> [0,2,2147483647,1,2147483647]
    60 -> [2,0,1,2147483647,2147483647]
    61 -> [0,2,2147483647,2147483647,1]
    62 -> [2,0,2147483647,2147483647,1]
    63 -> [1,2,0,2147483647,2147483647]
    64 -> [0,2,2147483647,1,2147483647]
    65 -> [0,2147483647,1,2147483647,2]
    66 -> [2,0,1,2147483647,2147483647]
    67 -> [0,1,2147483647,2147483647,2]
    68 -> [2,1,0,2147483647,2147483647]
    69 -> [0,2,2147483647,2147483647,1]
    70 -> [2,1,0,2147483647,2147483647]
    71 -> [2,1,0,2147483647,2147483647]
    72 -> [2,2147483647,0,2147483647,1]
    73 -> [0,1,2147483647,2,2147483647]
    74 -> [1,2147483647,2,0,2147483647]
    75 -> [2,1,0,2147483647,2147483647]
    76 -> [1,2,2147483647,2147483647,0]
    77 -> [1,2,0,2147483647,2147483647]
    78 -> [2,1,2147483647,0,2147483647]
    79 -> [0,2147483647,2,2147483647,1]
    80 -> [2,0,1,2147483647,2147483647]
    81 -> [2,1,0,2147483647,2147483647]
    82 -> [2,1,2147483647,2147483647,0]
    83 -> [2,0,1,2147483647,2147483647]
    84 -> [2,1,0,2147483647,2147483647]
    85 -> [0,2147483647,2147483647,2,1]
    86 -> [1,2147483647,2,0,2147483647]
    87 -> [2,2147483647,2147483647,1,0]
    88 -> [2,0,1,2147483647,2147483647]
    89 -> [0,2,2147483647,2147483647,1]
    90 -> [1,2,2147483647,0,2147483647]
    91 -> [1,2,2147483647,0,2147483647]
    92 -> [2,1,0,2147483647,2147483647]
    93 -> [2,0,1,2147483647,2147483647]
    94 -> [2,0,1,2147483647,2147483647]
    95 -> [1,0,2147483647,2,2147483647]
    96 -> [0,2,1,2147483647,2147483647]
    97 -> [2,2147483647,1,0,2147483647]
    98 -> [2,1,2147483647,2147483647,0]
    99 -> [0,2147483647,2,1,2147483647]
    [       OK ] CRUSH.indep_toosmall (42 ms)
    [ RUN      ] CRUSH.indep_basic
    ID    WEIGHT    TYPE NAME
    -1    27.00000    root default
    -3    9.00000        rack rack-0
    -2    3.00000            host host-0-0
    0    1.00000                osd.0
    1    1.00000                osd.1
    2    1.00000                osd.2
    -4    3.00000            host host-0-1
    3    1.00000                osd.3
    4    1.00000                osd.4
    5    1.00000                osd.5
    -5    3.00000            host host-0-2
    6    1.00000                osd.6
    7    1.00000                osd.7
    8    1.00000                osd.8
    -7    9.00000        rack rack-1
    -6    3.00000            host host-1-0
    9    1.00000                osd.9
    10    1.00000                osd.10
    11    1.00000                osd.11
    -8    3.00000            host host-1-1
    12    1.00000                osd.12
    13    1.00000                osd.13
    14    1.00000                osd.14
    -9    3.00000            host host-1-2
    15    1.00000                osd.15
    16    1.00000                osd.16
    17    1.00000                osd.17
    -11    9.00000        rack rack-2
    -10    3.00000            host host-2-0
    18    1.00000                osd.18
    19    1.00000                osd.19
    20    1.00000                osd.20
    -12    3.00000            host host-2-1
    21    1.00000                osd.21
    22    1.00000                osd.22
    23    1.00000                osd.23
    -13    3.00000            host host-2-2
    24    1.00000                osd.24
    25    1.00000                osd.25
    26    1.00000                osd.26
    0 -> [11,3,23,2,7]
    1 -> [9,7,1,3,13]
    2 -> [17,9,22,5,14]
    3 -> [4,6,0,10,15]
    4 -> [14,22,19,0,9]
    5 -> [3,25,10,22,1]
    6 -> [10,3,17,25,1]
    7 -> [19,10,25,21,12]
    8 -> [10,6,0,22,14]
    9 -> [22,18,8,16,0]
    10 -> [25,12,5,9,20]
    11 -> [13,24,18,22,5]
    12 -> [24,18,22,8,2]
    13 -> [15,6,14,25,2]
    14 -> [13,8,24,20,0]
    15 -> [14,4,25,10,15]
    16 -> [22,12,0,8,17]
    17 -> [24,0,11,8,5]
    18 -> [3,17,25,1,18]
    19 -> [5,20,2,21,15]
    20 -> [14,2,3,20,24]
    21 -> [14,17,1,9,3]
    22 -> [20,16,11,6,4]
    23 -> [9,25,5,8,17]
    24 -> [12,20,6,0,4]
    25 -> [12,16,20,26,11]
    26 -> [18,4,17,10,13]
    27 -> [23,25,14,0,20]
    28 -> [2,13,23,7,4]
    29 -> [2,19,6,24,22]
    30 -> [11,0,20,23,17]
    31 -> [8,4,21,25,18]
    32 -> [19,2,7,11,13]
    33 -> [14,5,21,24,9]
    34 -> [13,25,21,6,4]
    35 -> [6,1,13,10,25]
    36 -> [1,23,16,13,4]
    37 -> [25,17,22,11,20]
    38 -> [1,8,3,14,9]
    39 -> [16,9,22,8,24]
    40 -> [23,18,15,26,13]
    41 -> [19,6,0,25,5]
    42 -> [18,3,14,11,21]
    43 -> [10,0,21,6,16]
    44 -> [11,20,2,17,22]
    45 -> [3,24,16,12,9]
    46 -> [16,21,26,14,11]
    47 -> [25,15,10,6,2]
    48 -> [17,6,19,26,21]
    49 -> [20,12,4,17,7]
    50 -> [14,9,21,17,6]
    51 -> [1,20,13,5,23]
    52 -> [14,16,8,24,3]
    53 -> [23,0,19,9,16]
    54 -> [18,3,16,14,10]
    55 -> [3,8,22,9,25]
    56 -> [18,16,3,2,14]
    57 -> [16,20,7,26,21]
    58 -> [16,11,23,0,14]
    59 -> [0,14,24,20,9]
    60 -> [22,19,1,8,4]
    61 -> [24,14,2,17,4]
    62 -> [14,17,9,6,19]
    63 -> [18,7,5,24,9]
    64 -> [19,26,11,4,6]
    65 -> [2,14,3,9,8]
    66 -> [12,18,4,6,26]
    67 -> [0,18,21,13,6]
    68 -> [8,17,24,18,10]
    69 -> [20,6,26,15,5]
    70 -> [9,23,14,26,16]
    71 -> [25,5,2,22,6]
    72 -> [6,9,16,13,2]
    73 -> [21,3,24,6,16]
    74 -> [11,3,13,7,19]
    75 -> [14,19,17,23,6]
    76 -> [12,7,10,22,26]
    77 -> [20,25,0,9,13]
    78 -> [17,24,9,1,12]
    79 -> [16,6,14,19,3]
    80 -> [13,24,5,8,0]
    81 -> [12,5,1,8,23]
    82 -> [23,10,6,5,26]
    83 -> [15,2,6,26,13]
    84 -> [10,24,6,20,17]
    85 -> [25,13,17,19,3]
    86 -> [4,7,24,16,12]
    87 -> [15,20,21,4,13]
    88 -> [10,1,16,23,25]
    89 -> [22,20,14,16,6]
    90 -> [3,7,24,21,15]
    91 -> [11,22,8,0,17]
    92 -> [17,7,24,19,22]
    93 -> [23,12,1,9,15]
    94 -> [15,23,13,5,11]
    95 -> [13,1,26,3,11]
    96 -> [2,14,18,5,9]
    97 -> [21,19,11,2,12]
    98 -> [18,16,6,10,1]
    99 -> [0,15,25,3,9]
    [       OK ] CRUSH.indep_basic (207 ms)
    [ RUN      ] CRUSH.indep_out_alt
    ID    WEIGHT    TYPE NAME
    -1    27.00000    root default
    -3    9.00000        rack rack-0
    -2    3.00000            host host-0-0
    0    1.00000                osd.0
    1    1.00000                osd.1
    2    1.00000                osd.2
    -4    3.00000            host host-0-1
    3    1.00000                osd.3
    4    1.00000                osd.4
    5    1.00000                osd.5
    -5    3.00000            host host-0-2
    6    1.00000                osd.6
    7    1.00000                osd.7
    8    1.00000                osd.8
    -7    9.00000        rack rack-1
    -6    3.00000            host host-1-0
    9    1.00000                osd.9
    10    1.00000                osd.10
    11    1.00000                osd.11
    -8    3.00000            host host-1-1
    12    1.00000                osd.12
    13    1.00000                osd.13
    14    1.00000                osd.14
    -9    3.00000            host host-1-2
    15    1.00000                osd.15
    16    1.00000                osd.16
    17    1.00000                osd.17
    -11    9.00000        rack rack-2
    -10    3.00000            host host-2-0
    18    1.00000                osd.18
    19    1.00000                osd.19
    20    1.00000                osd.20
    -12    3.00000            host host-2-1
    21    1.00000                osd.21
    22    1.00000                osd.22
    23    1.00000                osd.23
    -13    3.00000            host host-2-2
    24    1.00000                osd.24
    25    1.00000                osd.25
    26    1.00000                osd.26
    0 -> [11,3,23,1,7,19,13,17,25]
    1 -> [9,7,1,19,13,25,5,15,21]
    2 -> [17,9,3,25,13,1,19,21,7]
    3 -> [5,7,21,11,15,1,25,19,13]
    4 -> [13,23,26,1,9,15,7,5,19]
    5 -> [3,25,11,23,13,7,1,19,17]
    6 -> [11,3,13,25,1,7,19,17,21]
    7 -> [19,11,25,21,13,1,15,7,3]
    8 -> [11,25,1,23,13,19,5,7,17]
    9 -> [23,19,7,15,1,9,26,13,3]
    10 -> [25,13,5,1,19,17,7,23,9]
    11 -> [13,25,19,21,15,7,3,1,9]
    12 -> [26,19,15,7,1,9,13,21,3]
    13 -> [15,7,13,25,1,23,19,5,9]
    14 -> [13,7,25,19,1,23,15,11,5]
    15 -> [13,5,25,9,15,21,7,1,19]
    16 -> [21,25,1,7,17,11,19,13,3]
    17 -> [26,1,11,7,13,17,19,5,21]
    18 -> [3,17,25,1,19,9,13,23,7]
    19 -> [5,19,1,13,15,7,11,26,23]
    20 -> [13,11,3,19,17,7,1,21,25]
    21 -> [13,17,26,9,3,23,1,19,7]
    22 -> [19,15,11,26,3,1,21,7,13]
    23 -> [9,25,5,7,15,19,13,23,1]
    24 -> [13,19,21,1,5,11,26,7,17]
    25 -> [13,17,19,3,11,1,21,7,26]
    26 -> [19,3,17,11,1,26,13,21,7]
    27 -> [23,25,3,1,19,15,13,11,7]
    28 -> [1,13,23,7,11,26,19,17,5]
    29 -> [1,11,7,25,21,13,19,5,17]
    30 -> [11,1,13,23,17,7,19,26,5]
    31 -> [7,5,11,21,19,13,17,1,26]
    32 -> [19,1,7,11,13,21,25,17,5]
    33 -> [13,5,21,26,1,15,9,19,7]
    34 -> [13,25,21,17,5,1,7,19,11]
    35 -> [7,1,13,11,3,26,19,17,21]
    36 -> [1,23,7,13,5,19,26,17,11]
    37 -> [25,17,21,11,19,13,7,1,3]
    38 -> [1,7,3,13,17,11,19,25,21]
    39 -> [17,13,23,7,25,11,1,19,3]
    40 -> [23,19,9,26,5,1,7,15,13]
    41 -> [19,7,1,25,5,23,13,17,9]
    42 -> [19,3,13,11,21,17,7,26,1]
    43 -> [9,13,21,7,26,19,1,3,15]
    44 -> [11,19,13,17,21,7,3,1,26]
    45 -> [3,26,15,13,9,7,19,1,23]
    46 -> [15,21,26,13,11,1,7,3,19]
    47 -> [25,19,5,23,1,7,15,9,13]
    48 -> [17,7,19,26,1,5,21,9,13]
    49 -> [19,13,3,17,11,26,1,23,7]
    50 -> [13,9,21,17,7,25,5,1,19]
    51 -> [1,19,13,5,23,17,7,9,25]
    52 -> [13,15,7,25,3,19,1,9,21]
    53 -> [23,1,19,9,17,13,3,7,26]
    54 -> [19,3,17,13,11,21,1,26,7]
    55 -> [3,7,23,9,25,15,1,19,13]
    56 -> [19,17,3,1,25,7,23,11,13]
    57 -> [17,19,7,26,21,5,1,13,11]
    58 -> [15,11,23,1,13,19,5,26,7]
    59 -> [1,13,26,19,3,11,7,15,21]
    60 -> [23,19,25,7,3,1,13,17,9]
    61 -> [25,13,19,17,5,7,21,1,9]
    62 -> [13,17,9,7,19,21,1,26,5]
    63 -> [19,1,5,25,13,21,11,17,7]
    64 -> [19,26,11,5,1,21,13,17,7]
    65 -> [1,13,3,19,7,21,11,26,17]
    66 -> [13,19,5,7,17,21,26,1,11]
    67 -> [1,19,5,9,7,17,21,26,13]
    68 -> [7,17,5,1,11,19,13,26,21]
    69 -> [19,7,26,1,5,11,15,21,13]
    70 -> [9,23,7,26,15,19,13,1,3]
    71 -> [25,5,1,23,7,15,19,13,9]
    72 -> [7,9,17,13,5,19,1,21,26]
    73 -> [21,3,26,7,15,1,13,11,19]
    74 -> [11,3,1,7,26,13,21,17,19]
    75 -> [13,19,3,17,7,9,1,26,23]
    76 -> [13,7,11,23,26,19,5,1,17]
    77 -> [19,25,1,9,7,13,15,23,3]
    78 -> [17,26,9,1,13,23,7,19,5]
    79 -> [17,7,13,19,3,1,21,26,11]
    80 -> [13,26,23,7,1,9,17,3,19]
    81 -> [13,5,1,19,7,17,26,21,9]
    82 -> [23,11,7,13,26,17,19,1,3]
    83 -> [15,1,7,26,21,9,19,13,5]
    84 -> [9,25,7,19,17,5,23,1,13]
    85 -> [25,13,17,19,7,23,5,9,1]
    86 -> [5,9,25,15,13,21,7,1,19]
    87 -> [15,19,21,3,7,26,1,9,13]
    88 -> [9,1,5,23,25,13,7,15,19]
    89 -> [23,19,13,15,1,7,25,5,11]
    90 -> [3,7,25,21,15,1,19,11,13]
    91 -> [11,23,26,1,17,19,13,7,5]
    92 -> [17,7,26,9,19,21,5,13,1]
    93 -> [23,13,1,9,15,7,3,26,19]
    94 -> [15,23,13,5,7,11,19,1,25]
    95 -> [13,1,19,3,15,26,11,21,7]
    96 -> [1,13,19,5,9,15,7,25,23]
    97 -> [21,19,11,1,13,26,5,7,17]
    98 -> [19,17,7,9,23,25,5,1,13]
    99 -> [1,15,25,3,9,23,7,19,13]
    [       OK ] CRUSH.indep_out_alt (60 ms)
    [ RUN      ] CRUSH.indep_out_contig
    ID    WEIGHT    TYPE NAME
    -1    27.00000    root default
    -3    9.00000        rack rack-0
    -2    3.00000            host host-0-0
    0    1.00000                osd.0
    1    1.00000                osd.1
    2    1.00000                osd.2
    -4    3.00000            host host-0-1
    3    1.00000                osd.3
    4    1.00000                osd.4
    5    1.00000                osd.5
    -5    3.00000            host host-0-2
    6    1.00000                osd.6
    7    1.00000                osd.7
    8    1.00000                osd.8
    -7    9.00000        rack rack-1
    -6    3.00000            host host-1-0
    9    1.00000                osd.9
    10    1.00000                osd.10
    11    1.00000                osd.11
    -8    3.00000            host host-1-1
    12    1.00000                osd.12
    13    1.00000                osd.13
    14    1.00000                osd.14
    -9    3.00000            host host-1-2
    15    1.00000                osd.15
    16    1.00000                osd.16
    17    1.00000                osd.17
    -11    9.00000        rack rack-2
    -10    3.00000            host host-2-0
    18    1.00000                osd.18
    19    1.00000                osd.19
    20    1.00000                osd.20
    -12    3.00000            host host-2-1
    21    1.00000                osd.21
    22    1.00000                osd.22
    23    1.00000                osd.23
    -13    3.00000            host host-2-2
    24    1.00000                osd.24
    25    1.00000                osd.25
    26    1.00000                osd.26
    0 -> [11,17,23,2147483647,25,20,14]
    1 -> [9,19,25,2147483647,13,22,15]
    2 -> [17,9,2147483647,21,14,25,18]
    3 -> [2147483647,14,18,10,15,26,23]
    4 -> [14,22,18,24,9,16,2147483647]
    5 -> [2147483647,25,10,22,13,20,15]
    6 -> [10,2147483647,12,25,15,22,20]
    7 -> [19,10,25,21,12,2147483647,17]
    8 -> [10,17,2147483647,22,14,20,25]
    9 -> [22,18,13,16,25,9,2147483647]
    10 -> [25,12,9,2147483647,20,21,17]
    11 -> [13,24,18,22,2147483647,11,16]
    12 -> [24,18,14,11,16,23,2147483647]
    13 -> [15,9,14,25,20,2147483647,21]
    14 -> [13,2147483647,24,20,10,21,15]
    15 -> [14,2147483647,25,19,15,22,9]
    16 -> [22,10,18,26,17,2147483647,12]
    17 -> [24,14,11,15,2147483647,23,19]
    18 -> [10,17,25,13,18,22,2147483647]
    19 -> [22,20,24,2147483647,15,13,10]
    20 -> [14,10,24,20,15,2147483647,21]
    21 -> [14,17,19,9,21,2147483647,24]
    22 -> [20,16,11,12,21,25,2147483647]
    23 -> [9,25,15,2147483647,21,18,13]
    24 -> [12,20,23,15,2147483647,11,26]
    25 -> [12,16,20,21,11,2147483647,24]
    26 -> [18,2147483647,17,10,21,13,24]
    27 -> [23,25,15,9,20,2147483647,12]
    28 -> [15,13,23,9,26,2147483647,19]
    29 -> [2147483647,16,9,24,22,12,20]
    30 -> [11,12,24,23,17,2147483647,20]
    31 -> [2147483647,24,22,11,18,12,15]
    32 -> [19,2147483647,15,11,13,26,22]
    33 -> [14,18,21,24,2147483647,15,10]
    34 -> [13,25,21,18,16,11,2147483647]
    35 -> [22,19,13,10,2147483647,26,15]
    36 -> [17,23,9,13,26,20,2147483647]
    37 -> [25,17,22,11,20,12,2147483647]
    38 -> [25,23,11,14,2147483647,20,17]
    39 -> [16,13,22,20,24,10,2147483647]
    40 -> [23,18,13,26,2147483647,17,9]
    41 -> [19,14,2147483647,25,10,23,15]
    42 -> [18,2147483647,14,11,21,17,26]
    43 -> [10,17,21,13,19,25,2147483647]
    44 -> [11,20,24,17,22,14,2147483647]
    45 -> [2147483647,24,16,12,9,21,19]
    46 -> [16,21,26,14,11,19,2147483647]
    47 -> [25,22,2147483647,10,18,13,15]
    48 -> [17,12,19,26,10,2147483647,21]
    49 -> [20,12,23,17,9,26,2147483647]
    50 -> [14,9,21,18,16,24,2147483647]
    51 -> [2147483647,20,13,10,23,16,26]
    52 -> [14,22,16,24,2147483647,20,11]
    53 -> [23,26,19,9,16,12,2147483647]
    54 -> [18,24,16,14,10,21,2147483647]
    55 -> [16,13,22,9,25,2147483647,19]
    56 -> [18,16,2147483647,11,21,13,24]
    57 -> [16,20,2147483647,26,21,9,13]
    58 -> [16,11,23,18,14,2147483647,25]
    59 -> [17,14,24,20,23,2147483647,11]
    60 -> [22,19,2147483647,24,16,9,13]
    61 -> [24,14,2147483647,17,19,11,22]
    62 -> [14,17,9,24,19,21,2147483647]
    63 -> [18,16,9,24,2147483647,22,14]
    64 -> [19,26,11,16,13,21,2147483647]
    65 -> [19,14,26,17,2147483647,21,10]
    66 -> [12,18,21,17,10,2147483647,24]
    67 -> [17,18,23,9,2147483647,24,13]
    68 -> [25,17,12,21,10,18,2147483647]
    69 -> [20,23,26,12,2147483647,11,15]
    70 -> [9,23,2147483647,26,16,18,12]
    71 -> [25,19,15,22,9,2147483647,14]
    72 -> [2147483647,9,22,13,25,19,16]
    73 -> [21,12,24,18,16,2147483647,11]
    74 -> [11,18,15,2147483647,26,13,21]
    75 -> [14,19,2147483647,24,22,9,16]
    76 -> [12,16,10,22,26,18,2147483647]
    77 -> [20,25,2147483647,9,15,14,23]
    78 -> [17,24,9,2147483647,20,22,13]
    79 -> [16,23,14,19,11,2147483647,25]
    80 -> [13,24,15,2147483647,23,10,18]
    81 -> [12,20,23,11,2147483647,17,26]
    82 -> [23,10,18,12,26,17,2147483647]
    83 -> [15,2147483647,14,26,23,9,20]
    84 -> [10,24,14,20,17,21,2147483647]
    85 -> [25,13,17,19,9,23,2147483647]
    86 -> [9,20,24,16,13,22,2147483647]
    87 -> [15,20,21,2147483647,12,24,10]
    88 -> [10,2147483647,20,23,25,13,17]
    89 -> [22,20,14,16,10,25,2147483647]
    90 -> [20,2147483647,24,21,15,13,10]
    91 -> [11,22,24,2147483647,17,18,14]
    92 -> [17,23,24,2147483647,13,9,18]
    93 -> [23,12,2147483647,24,15,19,9]
    94 -> [15,23,13,26,10,2147483647,19]
    95 -> [13,21,11,2147483647,16,26,18]
    96 -> [25,14,18,23,9,17,2147483647]
    97 -> [21,19,11,24,12,16,2147483647]
    98 -> [18,16,14,10,23,24,2147483647]
    99 -> [19,15,25,21,9,2147483647,12]
    [       OK ] CRUSH.indep_out_contig (76 ms)
    [ RUN      ] CRUSH.indep_out_progressive
    ID    WEIGHT    TYPE NAME
    -1    27.00000    root default
    -3    9.00000        rack rack-0
    -2    3.00000            host host-0-0
    0    1.00000                osd.0
    1    1.00000                osd.1
    2    1.00000                osd.2
    -4    3.00000            host host-0-1
    3    1.00000                osd.3
    4    1.00000                osd.4
    5    1.00000                osd.5
    -5    3.00000            host host-0-2
    6    1.00000                osd.6
    7    1.00000                osd.7
    8    1.00000                osd.8
    -7    9.00000        rack rack-1
    -6    3.00000            host host-1-0
    9    1.00000                osd.9
    10    1.00000                osd.10
    11    1.00000                osd.11
    -8    3.00000            host host-1-1
    12    1.00000                osd.12
    13    1.00000                osd.13
    14    1.00000                osd.14
    -9    3.00000            host host-1-2
    15    1.00000                osd.15
    16    1.00000                osd.16
    17    1.00000                osd.17
    -11    9.00000        rack rack-2
    -10    3.00000            host host-2-0
    18    1.00000                osd.18
    19    1.00000                osd.19
    20    1.00000                osd.20
    -12    3.00000            host host-2-1
    21    1.00000                osd.21
    22    1.00000                osd.22
    23    1.00000                osd.23
    -13    3.00000            host host-2-2
    24    1.00000                osd.24
    25    1.00000                osd.25
    26    1.00000                osd.26
    (0/27 out) 1 -> [9,7,1,26,13,22,5]
    (1/27 out) 1 -> [9,7,1,26,13,22,5]
    (2/27 out) 1 -> [9,7,2,26,13,22,5]
     0 moved, 1 changed
    (3/27 out) 1 -> [9,7,25,15,13,22,5]
     0 moved, 2 changed
    (4/27 out) 1 -> [9,7,25,15,13,22,5]
    (5/27 out) 1 -> [9,7,25,15,13,22,5]
    (6/27 out) 1 -> [9,7,25,19,13,22,15]
     15 moved from 3 to 6
     1 moved, 2 changed
    (7/27 out) 1 -> [9,7,25,19,13,22,15]
    (8/27 out) 1 -> [9,8,25,19,13,22,15]
     0 moved, 1 changed
    (9/27 out) 1 -> [9,19,25,2147483647,13,22,15]
     19 moved from 3 to 1
     1 moved, 2 changed
    (10/27 out) 1 -> [10,19,25,2147483647,13,22,15]
     0 moved, 1 changed
    (11/27 out) 1 -> [11,19,25,2147483647,13,22,15]
     0 moved, 1 changed
    (12/27 out) 1 -> [25,19,2147483647,2147483647,13,22,15]
     25 moved from 2 to 0
     1 moved, 2 changed
    (13/27 out) 1 -> [25,19,2147483647,2147483647,13,22,15]
    (14/27 out) 1 -> [25,19,2147483647,2147483647,14,22,15]
     0 moved, 1 changed
    (15/27 out) 1 -> [25,19,2147483647,2147483647,21,2147483647,15]
     0 moved, 2 changed
    (16/27 out) 1 -> [25,19,2147483647,2147483647,21,2147483647,16]
     0 moved, 1 changed
    (17/27 out) 1 -> [25,19,2147483647,2147483647,21,2147483647,17]
     0 moved, 1 changed
    (18/27 out) 1 -> [25,19,2147483647,2147483647,21,2147483647,2147483647]
     0 moved, 1 changed
    (19/27 out) 1 -> [25,19,2147483647,2147483647,21,2147483647,2147483647]
    (20/27 out) 1 -> [25,20,2147483647,2147483647,21,2147483647,2147483647]
     0 moved, 1 changed
    (21/27 out) 1 -> [25,2147483647,2147483647,2147483647,21,2147483647,2147483647]
     0 moved, 1 changed
    (22/27 out) 1 -> [25,2147483647,2147483647,2147483647,22,2147483647,2147483647]
     0 moved, 1 changed
    (23/27 out) 1 -> [25,2147483647,2147483647,2147483647,23,2147483647,2147483647]
     0 moved, 1 changed
    (24/27 out) 1 -> [25,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (25/27 out) 1 -> [25,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647]
    (26/27 out) 1 -> [26,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (0/27 out) 2 -> [17,9,4,25,14,0,18]
    (1/27 out) 2 -> [17,9,4,25,14,1,18]
     0 moved, 1 changed
    (2/27 out) 2 -> [17,9,4,25,14,2,18]
     0 moved, 1 changed
    (3/27 out) 2 -> [17,9,4,21,14,25,18]
     25 moved from 3 to 5
     1 moved, 2 changed
    (4/27 out) 2 -> [17,9,4,21,14,25,18]
    (5/27 out) 2 -> [17,9,5,21,14,25,18]
     0 moved, 1 changed
    (6/27 out) 2 -> [17,9,8,21,14,25,18]
     0 moved, 1 changed
    (7/27 out) 2 -> [17,9,8,21,14,25,18]
    (8/27 out) 2 -> [17,9,8,21,14,25,18]
    (9/27 out) 2 -> [17,9,2147483647,21,14,25,18]
     0 moved, 1 changed
    (10/27 out) 2 -> [17,11,2147483647,21,14,25,18]
     0 moved, 1 changed
    (11/27 out) 2 -> [17,11,2147483647,21,14,25,18]
    (12/27 out) 2 -> [17,2147483647,2147483647,21,14,25,18]
     0 moved, 1 changed
    (13/27 out) 2 -> [17,2147483647,2147483647,21,14,25,18]
    (14/27 out) 2 -> [17,2147483647,2147483647,21,14,25,18]
    (15/27 out) 2 -> [17,2147483647,2147483647,21,2147483647,25,18]
     0 moved, 1 changed
    (16/27 out) 2 -> [17,2147483647,2147483647,21,2147483647,25,18]
    (17/27 out) 2 -> [17,2147483647,2147483647,21,2147483647,25,18]
    (18/27 out) 2 -> [22,2147483647,2147483647,2147483647,2147483647,25,18]
     0 moved, 2 changed
    (19/27 out) 2 -> [22,2147483647,2147483647,2147483647,2147483647,25,19]
     0 moved, 1 changed
    (20/27 out) 2 -> [22,2147483647,2147483647,2147483647,2147483647,25,20]
     0 moved, 1 changed
    (21/27 out) 2 -> [22,2147483647,2147483647,2147483647,2147483647,25,2147483647]
     0 moved, 1 changed
    (22/27 out) 2 -> [22,2147483647,2147483647,2147483647,2147483647,25,2147483647]
    (23/27 out) 2 -> [23,2147483647,2147483647,2147483647,2147483647,25,2147483647]
     0 moved, 1 changed
    (24/27 out) 2 -> [2147483647,2147483647,2147483647,2147483647,2147483647,25,2147483647]
     0 moved, 1 changed
    (25/27 out) 2 -> [2147483647,2147483647,2147483647,2147483647,2147483647,25,2147483647]
    (26/27 out) 2 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,2147483647]
     0 moved, 1 changed
    (0/27 out) 3 -> [4,6,18,10,15,0,12]
    (1/27 out) 3 -> [4,6,18,10,15,2,12]
     0 moved, 1 changed
    (2/27 out) 3 -> [4,6,18,10,15,2,12]
    (3/27 out) 3 -> [4,6,18,10,15,26,12]
     0 moved, 1 changed
    (4/27 out) 3 -> [4,6,18,10,15,26,12]
    (5/27 out) 3 -> [5,6,18,10,15,26,12]
     0 moved, 1 changed
    (6/27 out) 3 -> [23,6,18,10,15,26,12]
     0 moved, 1 changed
    (7/27 out) 3 -> [23,7,18,10,15,26,12]
     0 moved, 1 changed
    (8/27 out) 3 -> [23,8,18,10,15,26,12]
     0 moved, 1 changed
    (9/27 out) 3 -> [2147483647,14,18,10,15,26,23]
     23 moved from 0 to 6
     1 moved, 3 changed
    (10/27 out) 3 -> [2147483647,14,18,10,15,26,23]
    (11/27 out) 3 -> [2147483647,14,18,11,15,26,23]
     0 moved, 1 changed
    (12/27 out) 3 -> [2147483647,14,18,2147483647,15,26,23]
     0 moved, 1 changed
    (13/27 out) 3 -> [2147483647,14,18,2147483647,15,26,23]
    (14/27 out) 3 -> [2147483647,14,18,2147483647,15,26,23]
    (15/27 out) 3 -> [2147483647,2147483647,18,2147483647,15,26,23]
     0 moved, 1 changed
    (16/27 out) 3 -> [2147483647,2147483647,18,2147483647,16,26,23]
     0 moved, 1 changed
    (17/27 out) 3 -> [2147483647,2147483647,18,2147483647,17,26,23]
     0 moved, 1 changed
    (18/27 out) 3 -> [2147483647,2147483647,18,2147483647,2147483647,26,23]
     0 moved, 1 changed
    (19/27 out) 3 -> [2147483647,2147483647,20,2147483647,2147483647,26,23]
     0 moved, 1 changed
    (20/27 out) 3 -> [2147483647,2147483647,20,2147483647,2147483647,26,23]
    (21/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,23]
     0 moved, 1 changed
    (22/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,23]
    (23/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,23]
    (24/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,2147483647]
     0 moved, 1 changed
    (25/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,2147483647]
    (26/27 out) 3 -> [2147483647,2147483647,2147483647,2147483647,2147483647,26,2147483647]
    (0/27 out) 4 -> [14,22,18,0,9,16,7]
    (1/27 out) 4 -> [14,22,18,1,9,16,7]
     0 moved, 1 changed
    (2/27 out) 4 -> [14,22,18,2,9,16,7]
     0 moved, 1 changed
    (3/27 out) 4 -> [14,22,18,24,9,16,7]
     0 moved, 1 changed
    (4/27 out) 4 -> [14,22,18,24,9,16,7]
    (5/27 out) 4 -> [14,22,18,24,9,16,7]
    (6/27 out) 4 -> [14,22,18,24,9,16,7]
    (7/27 out) 4 -> [14,22,18,24,9,16,7]
    (8/27 out) 4 -> [14,22,18,24,9,16,8]
     0 moved, 1 changed
    (9/27 out) 4 -> [14,22,18,24,9,16,2147483647]
     0 moved, 1 changed
    (10/27 out) 4 -> [14,22,18,24,10,16,2147483647]
     0 moved, 1 changed
    (11/27 out) 4 -> [14,22,18,24,11,16,2147483647]
     0 moved, 1 changed
    (12/27 out) 4 -> [14,22,18,24,2147483647,16,2147483647]
     0 moved, 1 changed
    (13/27 out) 4 -> [14,22,18,24,2147483647,16,2147483647]
    (14/27 out) 4 -> [14,22,18,24,2147483647,16,2147483647]
    (15/27 out) 4 -> [2147483647,22,18,24,2147483647,16,2147483647]
     0 moved, 1 changed
    (16/27 out) 4 -> [2147483647,22,18,24,2147483647,16,2147483647]
    (17/27 out) 4 -> [2147483647,22,18,24,2147483647,17,2147483647]
     0 moved, 1 changed
    (18/27 out) 4 -> [2147483647,22,18,24,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (19/27 out) 4 -> [2147483647,22,20,24,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (20/27 out) 4 -> [2147483647,22,20,24,2147483647,2147483647,2147483647]
    (21/27 out) 4 -> [2147483647,22,2147483647,24,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (22/27 out) 4 -> [2147483647,22,2147483647,24,2147483647,2147483647,2147483647]
    (23/27 out) 4 -> [2147483647,23,2147483647,24,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (24/27 out) 4 -> [2147483647,2147483647,2147483647,24,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (25/27 out) 4 -> [2147483647,2147483647,2147483647,25,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    (26/27 out) 4 -> [2147483647,2147483647,2147483647,26,2147483647,2147483647,2147483647]
     0 moved, 1 changed
    77 total changed
    [       OK ] CRUSH.indep_out_progressive (128 ms)
    [ RUN      ] CRUSH.straw_zero
    [       OK ] CRUSH.straw_zero (8 ms)
    [ RUN      ] CRUSH.straw_same
    0    1.000000    2823    1.000000    2822    1.000000
    1    2.001526    5738    2.032589    5742    2.034727
    2    2.000000    5718    2.025505    5717    2.025868
    3    3.001526    8462    2.997520    8466    3.000000
    4    3.000000    8594    3.044279    8592    3.044649
    5    4.001526    11565    4.096706    11566    4.098512
    6    4.000000    11449    4.055615    11443    4.054926
    7    5.001526    14326    5.074743    14327    5.076896
    8    5.000000    14223    5.038257    14222    5.039688
    9    6.001526    17102    6.058094    17103    6.060595
    12 of 100000 = 0.000120 different
    [       OK ] CRUSH.straw_same (150 ms)
    [ RUN      ] CRUSH.straw2_stddev
    maxskew    stddev
    expect            66666.666667
    osd    weight    count    adjusted
    0    1.0000    66000    66000
    1    1.0000    66918    66918
    2    1.0000    66931    66931
    3    1.0000    66597    66597
    4    1.0000    67020    67020
    5    1.0000    66484    66484
    6    1.0000    66109    66109
    7    1.0000    67139    67139
    8    1.0000    66488    66488
    9    1.0000    66582    66582
    10    1.0000    66611    66611
    11    1.0000    66771    66771
    12    1.0000    66676    66676
    13    1.0000    67137    67137
    14    1.0000    66537    66537
    std dev 323.092281
         vs 249.443826    (expected)
    1.000000    323.092281
    expect            66666.666667
    osd    weight    count    adjusted
    0    1.0000    9016    65928
    1    1.2500    11485    67186
    2    1.5625    14160    66268
    3    1.9531    17698    66260
    4    2.4414    22245    66627
    5    3.0518    27653    66260
    6    3.8147    34505    66143
    7    4.7684    43641    66924
    8    5.9605    54025    66279
    9    7.4506    68046    66784
    10    9.3132    84726    66524
    11    11.6415    105942    66545
    12    14.5519    132942    66804
    13    18.1898    166630    66986
    14    22.7373    207286    66664
    std dev 361.978260
         vs 249.217965    (expected)
    22.737305    361.978260
    expect            66666.666667
    osd    weight    count    adjusted
    0    1.0000    1147    66815
    1    1.5000    1691    65670
    2    2.2500    2530    65501
    3    3.3750    3935    67918
    4    5.0625    5868    67521
    5    7.5938    8594    65925
    6    11.3906    12926    66104
    7    17.0859    19661    67031
    8    25.6289    29292    66578
    9    38.4434    43943    66586
    10    57.6650    66064    66737
    11    86.4976    98714    66479
    12    129.7463    148586    66711
    13    194.6195    223328    66845
    14    291.9293    333721    66591
    std dev 619.742046
         vs 249.321332    (expected)
    291.929260    619.742046
    expect            66666.666667
    osd    weight    count    adjusted
    0    1.0000    179    70335
    1    1.7500    291    65339
    2    3.0625    507    65050
    3    5.3594    937    68698
    4    9.3789    1581    66236
    5    16.4131    2771    66338
    6    28.7229    4847    66307
    7    50.2651    8690    67931
    8    87.9639    14924    66665
    9    153.9368    26069    66542
    10    269.3894    45706    66667
    11    471.4314    79754    66474
    12    825.0049    139847    66606
    13    1443.7585    245707    66871
    14    2526.5775    428190    66592
    std dev 1267.124917
         vs 249.775244    (expected)
    2526.577454    1267.124917
    [       OK ] CRUSH.straw2_stddev (5663 ms)
    [ RUN      ] CRUSH.straw2_reweight
    expect            66666.666667
    osd    weight    count    adjusted
    0    1.0000    13817    66137
    1    0.3000    4195    66939
    2    2.0000    27887    66742
    3    2.0000    27859    66675
    4    3.0000    42069    67123
    5    5.0000    69499    66533
    6    0.5000    6894    65998
    7    2.0000    28074    67190
    8    1.0000    13978    66908
    9    1.0000    13980    66917
    10    2.0000    27771    66465
    11    1.0000    13986    66946
    12    1.0000    13814    66122
    13    2.0000    28179    67441
    14    48.0000    667998    66614
    std dev 403.864209
         vs 249.443826
    [       OK ] CRUSH.straw2_reweight (2851 ms)
    [----------] 9 tests from CRUSH (9192 ms total)

    [----------] Global test environment tear-down
    [==========] 9 tests from 1 test case ran. (9193 ms total)
    [  PASSED  ] 9 tests.
    [harvis@centos7 build]$


  • 相关阅读:
    Java NIO系列教程(九) ServerSocketChannel
    Java NIO系列教程(十) Java NIO DatagramChannel
    Java NIO系列教程(七) FileChannel
    Java NIO系列教程(八) SocketChannel
    Java NIO系列教程(六) Selector
    Java NIO系列教程(四) Scatter/Gather
    简述数据库设计的范式及应用
    简述在MySQL数据库中MyISAM和InnoDB的区别
    sql语句_2
    sql语句_统计总成绩最高的前2名
  • 原文地址:https://www.cnblogs.com/harvis/p/6683799.html
Copyright © 2011-2022 走看看