CephFS 文件系统

2024-07-04 352 0

CephFS 文件系统

为什么需要使用CephFS
由于RBD不可以多个主机共享同一块磁盘,出现很多客户端需要写入数据的问题,这时就需要CephFS文件系统

cephfs 安装

安装mds高可用集群

root@ceph01 ceph]# ceph-deploy mds create ceph01 ceph02 ceph03
[root@ceph01 ceph]# ceph -s|grep mds
    mds:  3 up:standby # 状态为启动等待

因为没有文件系统,所以3个节点状态是启动,但是后面为等待的状态

创建pool

一个Ceph文件系统至少需要连个RADOS池,一个用于数据,一个用于元数据。

  • 对元数据池使用更好的复制级别,因为此池中的任何数据丢失都可能导致整个文件系统无法访问
  • 对元数据池使用SSD等低延迟存储,因为这将直接影响观察到的客户端文件系统操作的延迟。
  • 用于创建文件的数据池是默认数据池,是存储所有inode回溯信息的位置,用于硬链接管理和灾难恢复。因此,在CephFS中创建的所有inode在默认数据池中至少有一个对象。

创建存储池,数据data,元数据metadata

[root@ceph01 ceph]# ceph osd pool create cephfs_data 64  64 
pool 'cephfs_data' created
[root@ceph01 ceph]#  ceph osd pool create cephfs_metadata 64  64
pool 'cephfs_metadata' created
[root@ceph01 ceph]# ceph osd pool ls
sunday
...
cephfs_data
cephfs_metadata

创建文件系统

[root@ceph01 ceph]# ceph fs new cephfs-sunday cephfs_metadata cephfs_data
new fs with metadata pool 9 and data pool 8

# cephfs-sunday为文件系统名称
# cephfs_metadata 为元数据的pool
# cephfs_data 为数据pool

查看mds状态,已经有一个状态为active,另外2个为standb状态

[root@ceph01 ceph]# ceph fs ls
name: cephfs-sunday, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
[root@ceph01 ceph]# ceph -s | grep mds
    mds: cephfs-sunday:1 {0=ceph01=up:active} 2 up:standby

cephfs使用

ceph01为mon节点ip,/为挂载/目录 /sunday_cephfs挂载点路径,name=admin,使用admin用户的权限

内核驱动挂载

[root@ceph01 ~]# mkdir /sunday_cephfs
[root@ceph01 ~]# mount -t ceph ceph01:6789:/ /sunday_cephfs -o name=admin 
[root@ceph01 ~]# df -h | grep cephfs
192.168.77.41:6789:/   94G     0   94G   0% /sunday_cephfs
[root@ceph01 ~]# lsmod |grep ceph
ceph                  363016  1 
libceph               310679  2 rbd,ceph
dns_resolver           13140  1 libceph
libcrc32c              12644  2 xfs,libceph

可以看到,挂载完linux内核会自动加载ceph模块

在内核中挂载性能会比较高一点,但是有一些场景内核可能不太支持,所以可以使用用户FUSE挂载

用户空间FUSE挂载

用户空间挂载主要使用的是ceph-fuse客户端,我们需要单独安装这个客户端

[root@ceph01 ~]# yum install ceph-fuse -y
[root@ceph01 ~]# mkdir /mnt/sunday_cephfs
[root@ceph01 ~]# ceph-fuse -n client.admin -m 192.168.77.41:6789 /mnt/sunday_cephfs/
2024-04-17 01:46:32.406 7f089f3fef80 -1 init, newargv = 0x559a7dbf2ce0 newargc=9ceph-fuse[12919]: starting ceph client
ceph-fuse[12919]: starting fuse
[root@ceph01 ~]# df -h | grep sunday_cephfs
192.168.77.41:6789:/   94G     0   94G   0% /sunday_cephfs
ceph-fuse              94G     0   94G   0% /mnt/sunday_cephfs

如果我们不指定mon,默认找的是/etc/ceph/ceph.conf里面的配置文件

相关文章

Ceph RGW及S3接口操作
Ceph RBD
Ceph osd 命令
Ceph Prometheus监控
Ceph 限额配置
Ceph RBD 删除不了处理过程

发布评论