0. 前提
已搭建好的ceph cluster,詳細(xì)步驟可參見(jiàn)Ceph 部署(Centos7 + Luminous)
1. 部署mds
守護(hù)進(jìn)程(ceph-mgr)負(fù)責(zé)跟蹤運(yùn)行時(shí)間指標(biāo)和Ceph群集的當(dāng)前狀態(tài),包括存儲(chǔ)利用率,當(dāng)前性能指標(biāo)和系統(tǒng)負(fù)載。 Ceph Manager守護(hù)程序還托管基于python的插件來(lái)管理和公開(kāi)Ceph集群信息,包括基于Web的儀表板和REST API。 通常,至少有兩名Manager需要高可用性。
[root@ceph-1 cluster]# ceph-deploy mds create ceph-1 ceph-2 ceph-3
2. 新建pool
cephfs需要兩個(gè)pool:
- data pool:存放object
- meta data pool:存放元數(shù)據(jù),可設(shè)置較高副本級(jí)別,也可調(diào)整pool的crush_ruleset,使其在ssd上存儲(chǔ),加快客戶端響應(yīng)速度
我這里直接使用默認(rèn)crush_ruleset
[root@ceph-1 cluster]# ceph osd pool create cephfs_data 128
[root@ceph-1 cluster]# ceph osd pool create cephfs_metadata 128
注:
計(jì)算pg數(shù)量:
- 集群pg 總數(shù) = (OSD 總數(shù)* 100 )/最大副本數(shù)
- 每個(gè)pool中pg總數(shù)=(OSD總數(shù)*100)/ 最大副本數(shù) )/ 池?cái)?shù)
- pg數(shù)需要是2的指數(shù)冪
3. 新建cephfs
新建cephfs,名字叫“cephfs”,使用剛才我們新建的兩個(gè)pool
[root@ceph-1 cluster]# ceph fs new cephfs cephfs_metadata cephfs_data
4. 掛載cephfs
[root@ceph-1 cluster]# mkdir /mnt/mycephfs
[root@ceph-1 cluster]# cat ceph.client.admin.keyring
[client.admin]
key = AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==
創(chuàng)建一個(gè)文件保存admin用戶的秘鑰:
[root@ceph-1 ~]# vim admin.secret
將秘鑰“AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==”粘貼到admin.secret
最后使用kernel掛載方式
[root@ceph-1 ~]# mount -t ceph ceph-1:6789,ceph-2:6789,ceph-3:6789:/ /mnt/mycephfs -o name=admin,secretfile=/root/admin.secret
注:
- mount時(shí),mon節(jié)點(diǎn)有幾個(gè)寫(xiě)幾個(gè)
- 還可以使用fuse掛載方式,fuse其實(shí)坑挺多的,能不用暫時(shí)不用
由于kernel掛載方式目前不支持quota的配置,如果需要quota的配置,那么只好使用fuse掛載
4.’ fuse掛載cephfs
yum -y install ceph-fuse
#admin掛載
ceph-fuse -m ceph-1:6789,ceph-2:6789,ceph-3:6789 /mnt/admin
#非admin用戶掛載(e.g., tom)
vim tom.secret #一定要按照下面的格式寫(xiě)
[client.tom]
key = AQCBuCxbm7CpBxAA75Qy9JbqsNpGGrwAuyBmfw==
ceph-fuse -n client.tom --keyring tom.secret -m ceph-1:6789,ceph-2:6789,ceph-3:6789 /mnt/fuse_tom1 -r /tom
注:-n client.tom 也可以寫(xiě)成--id,-r 把文件系統(tǒng)內(nèi)的 root_directory 作為根掛載,而不是整個(gè) Ceph 文件系統(tǒng)樹(shù)。
配置quota
setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir # 100 MB,比如就剩下10M,20M的文件會(huì)寫(xiě)10M進(jìn)去
setfattr -n ceph.quota.max_files -v 6 /some/dir # < 6 files & directories
#查看配置
getfattr -n ceph.quota.max_bytes /some/dir
getfattr -n ceph.quota.max_files /some/dir
#清除配置
setfattr -n ceph.quota.max_bytes -v 0 /some/dir
setfattr -n ceph.quota.max_files -v 0 /some/dir