ceph中rados对象创建以及文件上传与下载
一、将本地文件 /home/liangwl/file 文件拷贝到 cephpool 这个池中,并在pool中查看这个文件中的内容
环境:3台monitor,3个osd
查看pool
rados lspools
1. 我们先创建一个包含数据的file文件、一个ceph pool并且设置pool的副本数为3
$ echo "Hello ceph, I'm learning the data management part." > /home/liangwl/file
$ cat /home/liangwl/file
Hello ceph, I'm learning the data management part.
$ ceph osd pool create cephpool 32 32 #创建一个32个pg,32个pgd的池cephpool,如果进行ceph搭建的时候已经存在pool,可以不用额外创建,例 如可以选择上面已经存在的data、metadata、rbd作为pool
pool 'cephpool' created
$ ceph osd pool set cephpool size 3
set pool size to 3
2. 将文件写入到创建的pool中
put <obj-name> [infile] write object
$ rados put object1 /home/liangwl/file -p cephpool #在cephpool下创建一个名为object1的对象,将本地文件file拷贝到这个pool的对象
$ rados ls -p cephpool
object1
#如果单单只在mypool这个池中创建对象object2,不拷贝文件的指令为:
rados create object2 -p mypool
3. 查看object1的pg map
$ ceph osd map cephpool object1
osdmap e19 pool 'cephpool' (3) object 'object1' -> pg 3.bac5debc (3.1c) -> up ([2,0,1], p2) acting ([2,0,1], p2)
其中,
osdmap e19OSD map的版本号
pool 'cephpool' (3)