Ceph集群测试上传和下载

212 阅读1分钟

创建一个存储池

# 32PG,32PGP
[root@node1 ~]# ceph osd pool create mypool 32 32
pool 'mypool' created

查看存储池

[root@node1 ~]# ceph osd pool ls
.mgr
mypool

## 或者使用如下命令
[root@node1 ~]# rados lspools
.mgr
mypool

使用rados命令往存储池上传文件

# 把/var/log/nginx-error.log上传到mypool,并指定对象的id为nginx.log
[root@node1 ~]# rados put nginx.log /var/log/nginx-error.log --pool=mypool

列出文件

[root@node1 ~]# rados ls --pool=mypool
nginx.log

查看文件信息

ceph osd map命令可以获取到存储池中数据对象的具体位置信息

[root@node1 ~]# ceph osd map mypool nginx.log
osdmap e21 pool 'mypool' (2) object 'nginx.log' -> pg 2.bb481e1c (2.1c) -> up ([2,1,0], p2) acting ([2,1,0], p2)

# 说明:
表示文件放在了存储池id为2的bb481e1c的PG上,1c为当前PG的id,2.1c表示数据是在id为2的存储池当中id为1c的PG中存储,在线的OSD编号15,13,10,主OSD为2,

image.png

从存储池下载文件

[root@node1 ~]# rados get nginx.log --pool=mypool /root/nginx.log
[root@node1 ~]# ls nginx.log -al
-rw-r--r-- 1 root root 666 Oct 27 06:51 nginx.log

删除文件

[root@node1 ~]# rados rm nginx.log --pool=mypool

测试完后删除pool

[root@node1 ~]# rados  purge mypool --yes-i-really-really-mean-it
Warning: using slow linear search
Removed 2 objects
successfully purged pool mypool