CephFS 与专用池
CephFS 与专用池
这篇博客介绍了为 cephfs 配置专用池(用户自定义池)。如果您正在 寻找配置 cephfs 的方法,请访问 CephFS 逐步指南 博客
- 为 cephfs 创建一个新池(当然您也可以使用现有的池)
# rados mkpool cephfs
- 获取池 ID
# ceph osd dump | grep -i cephfs
pool 34 'cephfs' rep size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 860 owner 0
#
- 将池分配给 MDS
# ceph mds add_data_pool 34
- 挂载您的 cephfs 分享
# mount -t ceph 192.168.100.101:/ /cephfs -o name=cephfs,secretfile=/etc/ceph/client.cephfs
- 检查 cephfs 的当前布局,您会注意到默认的 layout.data_pool 设置为 0,这意味着您的 cephfs 将把数据存储在池 0 中,即数据池
# cephfs /cephfs/ show_layout
layout.data_pool: 0
layout.object_size: 4194304
layout.stripe_unit: 4194304
layout.stripe_count: 1
- 为 cephfs 设置新的数据池布局,使用我们上面创建的池的池 ID。
# cephfs /cephfs/ set_layout -p 34
# cephfs /cephfs/ show_layout
layout.data_pool: 34
layout.object_size: 4194304
layout.stripe_unit: 4194304
layout.stripe_count: 1
[root@na_csc_fedora19 ~]#
- 重新挂载您的 cephfs 分享
# umount /cephfs
# mount -t ceph 192.168.100.101:/ /cephfs -o name=cephfs,secretfile=/etc/ceph/client.cephfs
- 检查 cephfs 池中存在的对象,由于这是一个新的池,不包含任何数据,因此应该没有对象。但是,如果您查找任何其他池的对象,则应该包含对象。
# rados --pool=cephfs ls
# rados --pool=metadata ls
1.00000000.inode
100.00000000
100.00000000.inode
1.00000000
2.00000000
200.00000000
this is a tesf fine
200.00000001
600.00000000
601.00000000
602.00000000
603.00000000
604.00000000
605.00000000
606.00000000
607.00000000
608.00000000
609.00000000
mds0_inotable
mds0_sessionmap
mds_anchortable
mds_snaptable
- 进入您的 cephfs 目录并创建一些文件(在文件中放入数据)。
# cd /cephfs/
# vi test
- 重新检查 cephfs 池中的对象,现在它会显示对象。
# rados --pool=cephfs ls
10000000005.00000000
总结一下,我们创建了一个名为“cephfs”的新池,更改了 cephfs 的布局以将数据存储在新池“cephfs”中,最后我们看到 cephfs 数据正在存储在名为 cephfs 的池中(我知道这太多 cephfs 了,如果您睡着了并且没有理解 cephfs,请重新阅读)
