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}   #现在已经转变为活动状态

 

posted @ 2023-01-25 21:23  PunchLinux  阅读(1064)  评论(0编辑  收藏  举报