在高速配置好ceph存储集群环境的基础上,能够做相关的对象操作:


1. 设置osd pool min_size
首先通过rados命令查看pool例如以下:
#rados lspools
data
metadata
rbd

默认的osd的min_size数量配置为2,这里以一个osd为例须要将其设置为1
ceph osd pool get {pool-name} {key}
ceph osd pool set {pool-name} {key} {value}
#ceph osd pool set data min_size 1
ubuntu环境ceph配置入门(二)_数据迁移


2. 測试上传一个对象
准备一个test.txt文件然后利用rados上传
rados put {object-name} {file-path} --pool=data
#rados put test.txt test.txt --pool=data

查看上传的结果
#rados -p data ls (这里会列举pool中的对象名称)
查看对象的位置
ceph osd map {pool-name} {object-name}
ceph osd map data test.txt
ubuntu环境ceph配置入门(二)_映射关系_02

依据映射关系,我们能够到osd查看内容的存储结构
#cd /srv/ceph/osd0
ubuntu环境ceph配置入门(二)_元数据_03
在这里能够看到相关的配置文件。当中current存储数据对象内容的地方,进入里面能够看到一堆head文件和omap(元数据利用leveldb存储)。

依据映射关系。文件test.txt存储的对象应该位于以0.8开头0.8_head的文件夹中,能够看到有文件test.txt__head_8B0B6108__0即是我们刚存储的对象。

利用rados命令还能够做benchmark、恢复对象、删除对象等操作。这里就不再一一列举了。

3. 扩展集群加入新的osd到集群中 
为当前节点添加一个Ceph OSD进程。
#sudo mkdir -p /srv/ceph/osd1

回到集群的工作文件夹下
#cd /root/ceph-cluster
#ceph-deploy osd prepare apusapp:/srv/ceph/osd1
#ceph-deploy osd activate apusapp:/srv/ceph/osd1

利用命令
#ceph -w
能够看到集群内部在做数据迁移
ubuntu环境ceph配置入门(二)_上传_04
进入osd1的current文件夹下能够看到刚刚上传对象0.8开头有0.8_TEMP和0.8_head,osd0中的对象内容也复制了过来。