Ceph文件系统的创建
Ceph文件系统(Ceph FS)是一个符合POSIX的文件系统,使用Ceph存储集群来存储其数据。 Ceph文件系统使用与Ceph块设备相同的Ceph存储集群系统,Ceph对象存储及其S3和Swift API或本机绑定(librados)。
使用Ceph文件系统在Ceph存储集群中至少需要一个Ceph元数据服务器。
1 MDS(METADATA SERVER)-元数据服务器
要运行Ceph文件系统,你必须有一个运行的Ceph存储集群,至少有一个Ceph元数据服务器运行。
使用ceph-deploy添加和杀出mds是很方便的。
注意:必须部署至少一个元数据服务器才能使用CephFS。 有运行多个元数据服务器的实验性支持。 不要在生产中运行多个活动元数据服务器。
1.1 添加MDS
当你部署监视器和OSD后,可以部署元数据服务器。
[root@ceph-mon1 ceph-cluster]# ceph-deploy --overwrite-conf mds create ceph-osd
MDS需要使用两个pool,一个pool用来存储数据,一个pool用来存储元数据。
1.1.1 创建两个pool
[root@ceph-osd1 ~]# ceph osd pool create fs_data 256 pool 'fs_data' created [root@ceph-osd1 ~]# ceph osd pool create fs_metadata 256
pool 'fs_metadata' created
1.1.2 创建一个Ceph FS
[root@ceph-osd1 ~]# ceph fs new cephfs fs_metadata fs_data new fs with metadata pool 27 and data pool 26
1.1.3 查看创建的Ceph FS
[root@ceph-osd1 ~]# ceph fs ls name: cephfs, metadata pool: fs_metadata, data pools: [fs_data ]
[root@ceph-osd1 ~]# ceph mds stat e5: 1/1/1 up {0=ceph-osd1=up:active}
1.2 挂载Ceph FS
在Linux挂载Ceph FS有两种方式:Kernel Driver和FUSE
1.2.1 Kernel驱动方式
[root@ceph-client ceph]# mkdir /cephfs_test [root@ceph-client ceph]# mount -t ceph 192.168.1.141:6789:/ /cephfs_test/
mount error 22 = Invalid argument
这里报错了,原因是该文件系统启用了cephx认证,因此需要指定一个用户名和一个密钥。
在mon节点/etc/ceph/下面有下面的文件:
[root@ceph-mon1 ceph-cluster]# ll total 960 -rw------- 1 root root 113 Nov 8 05:29 ceph.bootstrap-mds.keyring -rw------- 1 root root 113 Nov 8 05:29 ceph.bootstrap-osd.keyring -rw------- 1 root root 113 Nov 8 05:29 ceph.bootstrap-rgw.keyring -rw------- 1 root root 129 Nov 8 05:29 ceph.client.admin.keyring -rw-r--r-- 1 root root 409 Dec 1 04:29 ceph.conf -rw-r--r-- 1 root root 951817 Jan 6 03:33 ceph-deploy-ceph.log -rw------- 1 root root 73 Nov 8 04:04 ceph.mon.keyring
查看文件内容:
[root@ceph-client ceph]# cat ceph.client.admin.keyring [client.admin] key = AQC0lSFYOzj2EBAAjD5y8xFn7rGiC8uXiKQE+A==
因此,可知
用户名:admin
密钥 :AQC0lSFYOzj2EBAAjD5y8xFn7rGiC8uXiKQE+A==
挂载命令:
[root@ceph-client ceph]# mount -t ceph 192.168.1.141:6789:/ /cephfs_test/ -o name=admin,secret=AQC0lSFYOzj2EBAAjD5y8xFn7rGiC8uXiKQE+A== [root@ceph-client ceph]#
这下就成功了。df看一下
[root@ceph-client ceph]# df -Ph Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 48G 12G 36G 25% / devtmpfs 482M 0 482M 0% /dev tmpfs 497M 84K 497M 1% /dev/shm tmpfs 497M 14M 484M 3% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup /dev/sda1 497M 157M 341M 32% /boot tmpfs 100M 20K 100M 1% /run/user/42 tmpfs 100M 0 100M 0% /run/user/0 ceph-fuse 365G 6.0G 359G 2% /fuse_test 192.168.1.141:6789:/ 365G 6.0G 359G 2% /cephfs_test
当然也可以以指定密钥文件的方式挂载:
将mon节点上的文件ceph.client.admin.keyring中key单独存储在client节点(node3)的文件admin.keyring中
[root@ceph-client ~]$ cat admin.keyring AQC0lSFYOzj2EBAAjD5y8xFn7rGiC8uXiKQE+A==
挂载方式
[root@ceph-client ~]$ mount -t ceph 192.168.1.141:6789:/ /cephfs_test -o name=admin,secretfile=/etc/ceph/admin.keyring
[ceph@node3 ~]$
开机自动挂载,在/etc/fstab中加入:
192.168.1.141:6789:/ /cephfs_test ceph noatime 0 2
1.2.2 FUSE方式
关于FUSE介绍,参考官方文档:http://docs.ceph.com/docs/master/man/8/ceph-fuse/
[root@ceph-client ceph]# Yum install ceph-fuse [root@ceph-client ceph]# Mkdir /fuse_test [root@ceph-client ceph]# ceph-fuse -m 192.168.1.141:6789 /fuse_test/ ceph-fuse[8478]: starting ceph client 2017-01-06 17:15:46.397754 7fcb2a141ec0 -1 init, newargv = 0x7fcb34b987e0 newargc=11 ceph-fuse[8478]: starting fuse
开机自启动,在/etc/fstab中加入:
id=admin,conf=/etc/ceph/ceph.conf/fuse_test fuse.ceph defaults 0 0
查看挂载结果:
[root@ceph-client ceph]# df -Ph Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 48G 12G 36G 25% / devtmpfs 482M 0 482M 0% /dev tmpfs 497M 84K 497M 1% /dev/shm tmpfs 497M 14M 484M 3% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup /dev/sda1 497M 157M 341M 32% /boot tmpfs 100M 20K 100M 1% /run/user/42 tmpfs 100M 0 100M 0% /run/user/0 ceph-fuse 365G 6.0G 359G 2% /fuse_test
现在就可以使用了。
1.1 cephfs卸载
命令:
umount <挂载点>
[root@ceph-client ceph]# umount /cephfs_test
版权声明:本文为博主原创文章,未经博主允许不得转载。
cephfs mds
- 上一篇:为啥你总是抢不到票?真相很残忍!
- 下一篇:ceph 的crush算法 straw