cephfs的部署和使用
cephfs使用
ceph FS 即 ceph filesystem,可以实现文件系统共享功能(POSIX 标准), 客户端通过 ceph协议挂载并使用 ceph 集群作为数据存储服务器,https://docs.ceph.com/en/quincy/cephfs/。
Ceph FS 需要运行 Meta Data Services(MDS)服务,其守护进程为 ceph-mds,ceph-mds进程管理与 cephFS 上存储的文件相关的元数据,并协调对 ceph 存储集群的访问。
在 linux 系统使用 ls 等操作查看某个目录下的文件的时候,会有保存在磁盘上的分区表记录文件的名称、创建日期、大小、inode 及存储位置等元数据信息,在 cephfs 由于数据是被打散为若干个离散的 object 进行分布式存储,因此并没有统一保存文件的元数据,而且将文件的元数据保存到一个单独的存储出 matedata pool,但是客户端并不能直接访问matedata pool 中的元数据信息,而是在读写数的时候有 MDS(matadata server)进行处理,读数据的时候由 MDS从 matedata pool加载元数据然后缓存在内存(用于后期快速响应其它客户端的请求)并返回给客户端,写数据的时候有 MDS 缓存在内存并同步到 matedata pool。
cephfs 的 mds 的数据结构类似于 linux 系统的根形目录结构及 nginx 中的缓存目录分层一样。
部署 MDS 服务
在指定的 ceph-mds 服务器部署 ceph-mds 服务,可以和其它服务器混用(如 ceph-mon、ceph-mgr)
Centos
[root@ceph-mgr1 ~]# yum install ceph-mds -y
Ubuntu
root@ceph-mgr1:~# apt-cache madison ceph-mds
ceph-mds | 16.2.10-1bionic | https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-pacific bionic/main amd64 Packages
ceph-mds | 12.2.13-0ubuntu0.18.04.10 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-updates/universe amd64 Packages
ceph-mds | 12.2.13-0ubuntu0.18.04.10 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic-security/universe amd64 Packages
ceph-mds | 12.2.4-0ubuntu1 | http://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 Packages
root@ceph-mgr1:~# apt install ceph-mds
root@ceph-mgr1:~# apt install ceph-mds=16.2.10-1bionic #也可以指定版本安装取决于apt仓库
进入ceph-deploy节点,指定在ceph-mgr1节点安装ceph-mds
root@ceph-deploy:~# su - cephadmin
cephadmin@ceph-deploy:~$ cd ceph-cluster/
cephadmin@ceph-deploy:~/ceph-cluster$ ceph-deploy mds create ceph-mgr1
验证mds 服务
cephadmin@ceph-deploy:~/ceph-cluster$ ceph mds stat
1 up:standby #当前为备用状态,需要分配 pool 才可以使用。
创建 CephFS metadata 和 data 存储池:
使用 CephFS 之前需要事先于集群中创建一个文件系统,并为其分别指定元数据和数据相关的存储池。
创建名为 mycephfs 的文件系统,使用 cephfs-metadata 为 元数据存储池,使用 cephfs-data 为数据存储池:
cephadmin@ceph-deploy:~/ceph-cluster$ ceph osd pool create cephfs-metadata 32 32
pool 'cephfs-metadata' created #创建元数据 pool
cephadmin@ceph-deploy:~/ceph-cluster$ ceph osd pool create cephfs-data 64 64
pool 'cephfs-data' created #创建数据存储池
查看ceph当前状态
注意:在实际的生产使用中,cephfs数据存储池存储了几十T的数据,那么元数据的存储池大约占用几个G空间。
创建 cephFS
创建使用帮助
cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs new --help
# 文件系统名称 元数据pool data pool
fs new <fs_name> <metadata> <data> [--force] [--allow-dangerous-metadata- make new filesystem using named pools <metadata> and <data> overlay] [<fscid:int>] [--recover]
创建cephfs,指定fs的元数据池和fs数据池
cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs new share1 cephfs-metadata cephfs-data
验证cephfs
列出所有的cephfs
data pool显示为一个列表,表示可以为fs指定多个data pool
cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs ls
name: share1, metadata pool: cephfs-metadata, data pools: [cephfs-data ]
查看cephfs的状态
cephadmin@ceph-deploy:~/ceph-cluster$ ceph fs status share1
查看ceph状态
验证mds节点状态
当cephfs创建后,mds节点状态才会为active活动状态
cephadmin@ceph-deploy:~/ceph-cluster$ ceph mds stat
share1:1 {0=ceph-mgr1=up:active} #现在已经转变为活动状态
本文来自博客园,作者:PunchLinux,转载请注明原文链接:https://www.cnblogs.com/punchlinux/p/17067299.html