千家信息网

Ceph中怎么知道一个Object的存放位置

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了Ceph中怎么知道一个Object的存放位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ceph中,数据会被平均拆
千家信息网最后更新 2025年02月05日Ceph中怎么知道一个Object的存放位置

这篇文章主要介绍了Ceph中怎么知道一个Object的存放位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

ceph中,数据会被平均拆分为4MB(默认值)的Object,然后通过Pool ---(crush)----> PG -----> OSD的流程,最后存放到OSD中。

那么怎么才能获取一个Object的存放位置?

一、存放一个Object

要存放一个Object到ceph集群中,需要知道:

  1. Object的名字name

  2. 指定要存放Object的pool名

查看pools,这儿使用"testpool"这个pool。

# rados lspools
rbd
testpool

新建一个"test.txt"文件,生成名为"test-object-1"的Object,往"testpool"中写入

# echo "test data" > test.txt
# rados put test-object-1 test.txt --pool=testpool

查看该Object

# rados -p testpool ls
rbd_directory
rbd_id.bar
rbd_data.5e3b248a65f6.0000000000000083
rbd_data.5e3b248a65f6.0000000000000080
rbd_data.5e3b248a65f6.00000000000000e0
rbd_data.5e3b248a65f6.0000000000000087
rbd_data.5e3b248a65f6.0000000000000000
rbd_data.5e3b248a65f6.00000000000000ff
rbd_data.5e3b248a65f6.0000000000000084
rbd_data.5e3b248a65f6.00000000000000a0
rbd_data.5e3b248a65f6.0000000000000060
rbd_data.5e3b248a65f6.0000000000000021
rbd_data.5e3b248a65f6.0000000000000004
rbd_data.5e3b248a65f6.0000000000000085
rbd_data.5e3b248a65f6.0000000000000081
rbd_data.5e3b248a65f6.0000000000000020
rbd_data.5e3b248a65f6.0000000000000086
rbd_data.5e3b248a65f6.0000000000000082
test-object-1
rbd_header.5e3b248a65f6

查看该Object在ceph集群中存放的位置。

# ceph osd map testpool test-object-1
osdmap e95 pool 'testpool' (1) object 'test-object-1' -> pg 1.74dc35e2 (1.1e2) -> up ([4,1], p4) acting ([4,1], p4)
上述输出信息表明,在osdmap中 "epoch 95" --> pool number 1 "testpool'" 下,存放了"'test-object-1"的object,存放在PG "1.74dc35e2 (1.1e2)",其osd是osd.4和osd.1,并且osd.4是Primary osd。

二、查看osdmap

获取osdmap的二进制文件

# sudo ceph osd getmap -o osds.map
got osdmap epoch 95

使用文本方式查看osdmap

# osdmaptool --print osds.map
osdmaptool: osdmap file 'osds.map'
epoch 95
fsid ced59665-9de8-42b7-b2c3-5a19cffe97c7
created 2016-03-25 21:13:13.595390
modified 2016-03-31 12:36:39.588974
flags sortbitwise

pool 0 'rbd' replicated size 2 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 16 flags hashpspool stripe_width 0
pool 1 'testpool' replicated size 2 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 512 pgp_num 512 last_change 95 flags hashpspool stripe_width 0
removed_snaps [1~3]

max_osd 6
osd.0 up in weight 1 up_from 77 up_thru 88 down_at 70 last_clean_interval [54,61) 10.167.225.35:6812/3979 10.167.225.35:6813/3979 10.167.225.35:6814/3979 10.167.225.35:6815/3979 exists,up 5c0194c3-351b-4ce9-9864-083819a3e0cb
osd.1 up in weight 1 up_from 74 up_thru 91 down_at 70 last_clean_interval [51,61) 10.167.225.35:6808/3668 10.167.225.35:6809/3668 10.167.225.35:6810/3668 10.167.225.35:6811/3668 exists,up 02327243-d1e4-4ea5-9688-9c5e6f46ec44
osd.2 up in weight 1 up_from 68 up_thru 89 down_at 67 last_clean_interval [57,61) 10.167.225.35:6804/3107 10.167.225.35:6805/3107 10.167.225.35:6806/3107 10.167.225.35:6807/3107 exists,up 03a50780-9924-4f66-bf5c-71fa0b37bf2f
osd.3 up in weight 1 up_from 63 up_thru 89 down_at 62 last_clean_interval [48,61) 10.167.225.35:6800/2728 10.167.225.35:6801/2728 10.167.225.35:6802/2728 10.167.225.35:6803/2728 exists,up edaf6eda-6683-48bd-adf3-f9c748148036
osd.4 up in weight 1 up_from 85 up_thru 90 down_at 80 last_clean_interval [71,84) 10.167.225.63:6804/3048 10.167.225.63:6808/1003048 10.167.225.63:6809/1003048 10.167.225.63:6810/1003048 exists,up f57ba6b1-54e9-4bfc-930f-42adbdd036fb
osd.5 up in weight 1 up_from 85 up_thru 91 down_at 80 last_clean_interval [65,84) 10.167.225.63:6800/2559 10.167.225.63:6805/1002559 10.167.225.63:6807/1002559 10.167.225.63:6811/1002559 exists,up 583e265c-11c1-4230-81d6-7c9a58d0f463

三、删除一个Object

使用如下rados rm命令,从pool中删除该名字的object即可。

# rados rm test-object-1 --pool=testpool

感谢你能够认真阅读完这篇文章,希望小编分享的"Ceph中怎么知道一个Object的存放位置"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

位置 篇文章 名字 文件 集群 二进制 价值 信息 兴趣 同时 命令 数据 文本 方式 更多 朋友 流程 知识 编带 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天涯明月刀一区不同服务器 直播服务器故障怎么处理 辽宁省视频会议服务器云服务器 国家安全教育日网络安全培训 学软件开发还是学修车好 网络安全技术文科 阿里去98一年的备案服务器 举例网络安全问题事件 中国做股票软件开发的有多少部门 白色金税盘安全接入服务器 关于无线网络安全技术 万方数据库逻辑非 易丁点网络技术有限公司 软件开发工程师培训具体内容 nodejs 云服务器 高斯数据库中rank函数的用法 专业手机股票软件开发公司 软件开发中的活动 网络安全的测试范围 学分管理系统数据库设计 奥迪车载网络技术 考研网络安全专业学什么 网络技术分析方法 云服务器和服务器的区别 神州租车软件开发 待遇 忻州网络安全等级保护 无线网络安全监控 数据库动用在什么地方 好了(杭州)互联网科技有限公司 北京标准软件开发价格走势
0