查看rados对象属性

做以下操作之前需要先停掉osd

普通的Header对象

列出有哪些属性

[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore rbd_data.42d9f1fdc7dff2.0000000000000504 list-attrs 2> /dev/zero
_
snapset

可以看到有两个属性:

  • “_”:object_info_t

  • “SnapSet”:SnapSet

find_object_context的时候就是或者这两个属性,这两个属性代表了对象的上下文。

查看对象每个属性的内容

ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore rbd_data.42d9f1fdc7dff2.0000000000000504 get-attr "_" > 1.txt
[root@k8s-node1 ~]# ceph-dencoder import 1.txt type object_info_t decode dump_json
{
    "oid": {
        "oid": "rbd_data.42d9f1fdc7dff2.0000000000000504",
        "key": "",
        "snapid": -2,
        "hash": 2708742671,
        "max": 0,
        "pool": 1,
        "namespace": ""
    },
    "version": "342'36",
    "prior_version": "322'33",
    "last_reqid": "osd.3.0:41",
    "user_version": 33,
    "size": 4194304,
    "mtime": "2023-07-18 11:35:04.763217",
    "local_mtime": "2023-07-18 11:35:04.766368",
    "lost": 0,
    "flags": [
        "dirty",
        "data_digest",
        "omap_digest"
    ],
    "truncate_seq": 0,
    "truncate_size": 0,
    "data_digest": "0x3b11aa72",
    "omap_digest": "0xffffffff",
    "expected_object_size": 4194304,
    "expected_write_size": 4194304,
    "alloc_hint_flags": 0,
    "manifest": {
        "type": 0
    },
    "watchers": {}
}
ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore rbd_data.42d9f1fdc7dff2.0000000000000504 get-attr snapset > 2.txt
[root@k8s-node1 ~]# ceph-dencoder import 2.txt type SnapSet decode dump_json
{
    "snap_context": {
        "seq": 0,
        "snaps": []
    },
    "clones": []
}

带有的快照的对象的解码

注意list-attrs的时候此时会报错,说有两个相同的对象

[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore rbd_data.64ce414394b57a.0000000000000000 list-attrs 
Found 2 objects with id 'rbd_data.64ce414394b57a.0000000000000000', please use a JSON spec from --op list instead

根据提示我们可以进行如下操作,得到该对象存在两个子对象,一个就是snapid为-2的header,还有snapid为4的clone

[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore --op list rbd_data.64ce414394b57a.0000000000000000 
["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":4,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]
["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":-2,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]

我们查看两个子对象:

[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":4,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' list-attrs 
_
[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":-2,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' list-attrs 
_
snapset

可以看出子对象中,只有header对象才有snapset属性,接下来我们进一步dump出具体的内容

dump

  • clone对象的“_”
[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":4,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' get-attr "_" > 3.txt
[root@k8s-node1 ~]# ceph-dencoder import 3.txt type object_info_t decode dump_json
{
    "oid": {
        "oid": "rbd_data.64ce414394b57a.0000000000000000",
        "key": "",
        "snapid": 4,
        "hash": 3989087978,
        "max": 0,
        "pool": 1,
        "namespace": ""
    },
    "version": "337'36",
    "prior_version": "336'35",
    "last_reqid": "client.605976.0:13993931",
    "user_version": 35,
    "size": 4194304,
    "mtime": "2023-08-15 20:38:06.943213",
    "local_mtime": "2023-08-15 20:38:06.948631",
    "lost": 0,
    "flags": [
        "dirty",
        "data_digest"
    ],
    "truncate_seq": 0,
    "truncate_size": 0,
    "data_digest": "0x43d61c5d",
    "omap_digest": "0xffffffff",
    "expected_object_size": 0,
    "expected_write_size": 0,
    "alloc_hint_flags": 0,
    "manifest": {
        "type": 0
    },
    "watchers": {}
}
  • header对象的“_”
[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":-2,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' get-attr "_" > 4.txt
[root@k8s-node1 ~]# ceph-dencoder import 4.txt type object_info_t decode dump_json
{
    "oid": {
        "oid": "rbd_data.64ce414394b57a.0000000000000000",
        "key": "",
        "snapid": -2,
        "hash": 3989087978,
        "max": 0,
        "pool": 1,
        "namespace": ""
    },
    "version": "337'37",
    "prior_version": "336'35",
    "last_reqid": "client.605976.0:14002137",
    "user_version": 37,
    "size": 4194304,
    "mtime": "2023-08-15 21:04:09.444052",
    "local_mtime": "2023-08-15 21:04:09.448472",
    "lost": 0,
    "flags": [
        "dirty",
        "data_digest"
    ],
    "truncate_seq": 0,
    "truncate_size": 0,
    "data_digest": "0x43d61c5d",
    "omap_digest": "0xffffffff",
    "expected_object_size": 4194304,
    "expected_write_size": 4194304,
    "alloc_hint_flags": 0,
    "manifest": {
        "type": 0
    },
    "watchers": {}
}
  • header对象的“snapset”
[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":-2,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' get-attr "snapset" > 5.txt
[root@k8s-node1 ~]# ceph-dencoder import 5.txt type SnapSet decode dump_json
{
    "snap_context": {
        "seq": 4,
        "snaps": [
            4
        ]
    },
    "clones": [
        {
            "snap": 4,
            "size": 4194304,
            "overlap": "[]",
            "snaps": [
                4
            ]
        }
    ]
}

其实bluestore还提供了一次dump全部属性的方法:

[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore '["1.ea",{"oid":"rbd_data.64ce414394b57a.0000000000000000","key":"","snapid":4,"hash":3989087978,"max":0,"pool":1,"namespace":"","max":0}]' dump
{
    "id": {
        "oid": "rbd_data.64ce414394b57a.0000000000000000",
        "key": "",
        "snapid": 4,
        "hash": 3989087978,
        "max": 0,
        "pool": 1,
        "namespace": "",
        "max": 0
    },
    "info": {
        "oid": {
            "oid": "rbd_data.64ce414394b57a.0000000000000000",
            "key": "",
            "snapid": 4,
            "hash": 3989087978,
            "max": 0,
            "pool": 1,
            "namespace": ""
        },
        "version": "337'36",
        "prior_version": "336'35",
        "last_reqid": "client.605976.0:13993931",
        "user_version": 35,
        "size": 4194304,
        "mtime": "2023-08-15 20:38:06.943213",
        "local_mtime": "2023-08-15 20:38:06.948631",
        "lost": 0,
        "flags": [
            "dirty",
            "data_digest"
        ],
        "truncate_seq": 0,
        "truncate_size": 0,
        "data_digest": "0x43d61c5d",
        "omap_digest": "0xffffffff",
        "expected_object_size": 0,
        "expected_write_size": 0,
        "alloc_hint_flags": 0,
        "manifest": {
            "type": 0
        },
        "watchers": {}
    },
    "stat": {
        "size": 4194304,
        "blksize": 4096,
        "blocks": 1024,
        "nlink": 1
    }
}
[root@k8s-node1 ~]# ceph-objectstore-tool --data-path /data/cos/osd/osd.DATASTOR_B --type bluestore rbd_data.42d9f1fdc7dff2.0000000000000504
{
    "id": {
        "oid": "rbd_data.42d9f1fdc7dff2.0000000000000504",
        "key": "",
        "snapid": -2,
        "hash": 2708742671,
        "max": 0,
        "pool": 1,
        "namespace": "",
        "max": 0
    },
    "info": {
        "oid": {
            "oid": "rbd_data.42d9f1fdc7dff2.0000000000000504",
            "key": "",
            "snapid": -2,
            "hash": 2708742671,
            "max": 0,
            "pool": 1,
            "namespace": ""
        },
        "version": "342'36",
        "prior_version": "322'33",
        "last_reqid": "osd.3.0:41",
        "user_version": 33,
        "size": 4194304,
        "mtime": "2023-07-18 11:35:04.763217",
        "local_mtime": "2023-07-18 11:35:04.766368",
        "lost": 0,
        "flags": [
            "dirty",
            "data_digest",
            "omap_digest"
        ],
        "truncate_seq": 0,
        "truncate_size": 0,
        "data_digest": "0x3b11aa72",
        "omap_digest": "0xffffffff",
        "expected_object_size": 4194304,
        "expected_write_size": 4194304,
        "alloc_hint_flags": 0,
        "manifest": {
            "type": 0
        },
        "watchers": {}
    },
    "stat": {
        "size": 4194304,
        "blksize": 4096,
        "blocks": 1024,
        "nlink": 1
    },
    "SnapSet": {
        "snap_context": {
            "seq": 0,
            "snaps": []
        },
        "clones": []
    }
}

只是上面的操作更加明了而已

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ceph中,要查询对象可以使用rados命令。rados命令是Ceph提供的一个命令行工具,用于管理和操作RADOS对象存储。要查询对象,可以使用以下命令: ``` rados -p <pool-name> ls ``` 其中,`<pool-name>`是要查询的对象所在的存储池的名称。这个命令将列出指定存储池中的所有对象。 另外,如果你知道对象的名称,可以使用以下命令查询指定对象的信息: ``` rados -p <pool-name> stat <object-name> ``` 其中,`<object-name>`是要查询的对象的名称。这个命令将显示指定对象的元数据信息,如对象的大小、修改时间等。 请注意,使用rados命令查询对象需要在Ceph集群的管理节点上执行,并且需要具有适当的权限。 #### 引用[.reference_title] - *1* *2* [Ceph入门到精通-Ceph对象存储网关RADOS Gateway(RGW)](https://blog.csdn.net/wxb880114/article/details/130294209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ceph简介](https://blog.csdn.net/m0_65931372/article/details/126129305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值