Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据。Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器。
1、添加MDS,接上篇,这里把ceph01节点作为元数据服务器MDS。
```
#ceph-deploy mds create ceph01
#netstat -tnlp | grep mds
tcp 0 0 172.16.100.5:6804 0.0.0.0:* LISTEN 12787/ceph-mds
```
2、创建两个存储池。MDS需要使用两个pool,一个pool用来存储数据,一个pool用来存储元数据。
```
#ceph osd pool create fs_data 32
#ceph osd pool create fs_metadata 32
#rados lspools
```
3、创建Cephfs
```
#ceph fs new cephfs fs_metadata fs_data
#ceph fs ls
name: cephfs, metadata pool: fs_metadata, data pools: [fs_data ]
```
4、查看MDS状态
```
#ceph mds stat
e5: 1/1/1 up {0=ceph01=up:active}
```
---
### 挂载Cephfs
CephFS有不同的挂载方式,这里只说其中一种,后面结合k8s使用的时候会用到该种方式。
1、加载rbd内核模块
```
#modprobe rbd
#lsmod | grep rbd
rbd 83938 0
libceph 287066 2 rbd,ceph
```
2、获取admin key
```
#cat ceph.client.admin.keyring
[client.admin]
key = AQDchXhYTtjwHBAAk2/H1Ypa23WxKv4jA1NFWw==
caps mds = "allow *"
caps mon = "allow *"
caps osd = "allow *"
```
3、创建挂载点,尝试本地挂载
```
#mkdir /cephfs_test
#mount -t ceph 172.16.100.5:6789:/ /cephfs_test -o name=admin,secret=AQDchXhYTtjwHBAAk2/H1Ypa23WxKv4jA1NFWw==
#df -hT
172.16.100.5:6789:/ ceph 60G 104M 60G 1% /cephfs_test
```
4、如果有多个mon节点,可以挂载多个节点,保证了CephFS的高可用,当有一个节点down的时候不影响数据读写
```
#mount -t ceph 172.16.100.5,172.16.100.6,172.16.100.7:6789:/ /cephfs_test -o name=admin,secret=AQDchXhYTtjwHBAAk2/H1Ypa23WxKv4jA1NFWw==
#df -hT
172.16.100.5,172.16.100.6,172.16.100.7:6789:/ ceph 60G 104M 60G 1% /cephfs_test
```