带你读《存储漫谈Ceph原理与实践》第三章接入层3.3.文件存储 CephFS(二)

简介: 《存储漫谈Ceph原理与实践》第三章接入层3.3.文件存储 CephFS

3.3.2    CephFS 访问方式

 

1.  CephFS接入整体介绍

CephFS接入主要分为两类:第一类是通过 POSIX 兼容的自定义客户端接入,主要方式为采用 CephFS内核客户端及 CephFSFUSE(FilesysteminUserspace)客户端挂载;第二类是通用的标准网络文件协议NFSSMB,通过和已有开源组件结合的方式来提供接入,如 NFS-GaneshaSamba等。通过以上方式接入 CephFS 后,用户可以像操作本地文件系统一样来操作存储在 Ceph集群上的树状结构目录与文件数据。

特别地,CephFS提供Windows专有客户端SAMBA,具体使用及分析可以参ceph-dokangithub上的项目。

2.  CephFS 客户端接入(Kernel/Fuse)

 

本节主要介绍 CephFS私有客户端的接入方式。CephFS有两种私有客户端,分别为内核态 Kernel形式的私有客户端与用户态 Fuse形式的私有客户端。以下简单介绍CephFS的部署与挂载。

(1) CephFS部署

CephFS系统至少需要两个 RADOS池,一个用于数据,另一个用于元数据,见图 3-35由于元数据多为随机存储,建议使用随机性能好的 SSD 盘作为元数据存储池,从而得到更好的元数据性能水平。

具体部署步骤如下。

 

# 启动 MDS服务

#ceph-deploy mdscreate <cephfs-master>

# 创建数据Pool

# ceph osd pool create cephfs_data 128

# 创建元数据Pool

#ceph osd pool create cephfs_metadata 128

# 创建并展示fs状态

# ceph fs new cephfs cephfs_metadata cephfs_data# ceph fs ls

# ceph mds stat



 image.png

3-35CephFS集群架构示意

 

(2) CephFS挂载不启用 CephX)

◆  挂载准备

在挂载前,需要确保客户端节点有一份 Ceph 配置文件并确保配置文件有权限。

# mkdir -p -m 755 /etc/ceph

# ssh <user>@<mon-host> "sudo ceph config generate-minimal-conf" | sudo tee /etc/ceph/ceph.conf

#chmod 644/etc/ceph/ceph.conf

 

◆  Kernel挂载

CephFSKernel挂载方式依赖于 CephFSKernelDriver,一般已集成在高版本内核中,是一个挂载方便、性能较高的接入方式。可以通过如下命令检查当前内核是否支持CephFSKernelDriver。

#检查内核是否⽀持 CephFS Kernel Driver# stat /sbin/mount.ceph

 

如已支持 KernelDriver,则具体挂载步骤操作如下。


# 本地创建挂载点

#mkdir /mnt/Cephfs

# 使⽤linux命令mountumount进⾏挂载、卸载

#mount-t ceph<mon-host>:<mon-port>:/ <mount_point>

 

如需要设置操作系统启动时自动挂载 CephFS,在客户端节点的 /etc/fstab文件中加入挂载行即可,挂载系统为Ceph

◆  Fuse挂载

如当前客户端系统未加载 CephFSKernelDriver,可以使用用户态客户端ceph-fuse进行挂载。

 

# 安装ceph-fuse客户端软件

#yum install ceph-fuse

# 使⽤ceph-fuse命令挂载

#ceph-fuse-m<mon-host>:<mon-port> /mnt/Cephfs

# 使⽤umount命令卸载

#umount /mnt/cephfs

 

如需要设置操作系统启动时自动挂载ceph-fuse,可在客户端节点的/etc/fstab文件中加入以下行。

 

none   /mnt/mycephfsfuse.ceph defaults0 0

 

(3) CephX认证挂载

如已启用 CephX鉴权机制,则需要为客户端生成Key。此处假设创建新用户cephfs并允许用户访问 CephFS池。

 

#Ceph集群上执⾏命令创建cephfs⽤户

# cephauth get-or-create client.cephfs mon 'allow*' mds 'allow*' mgr'allow *' osd 'allow *' -o /etc/ceph/ceph.client.admin.keyring

# 在客户端获得client.cephfs密钥

#ceph authget-key client.cephfs >/etc/ceph/cephfskey

# 执⾏挂载命令(KernelDriver⽅式为例)

# mount -t ceph <mon-host>:<mon-port>:/ <mount_point> -oname=cephfssecretfile=/etc/ceph/cephfskey

 

 

3.  CephFSNFS/Samba 接入(lib 库访问)


CephFS提供了一套lib库(libcephfs,NFS-Ganesha、Samba等多个开源项目已经集成libcephfs,从而使得 CephFS集群可以通过 NFS、SMB 协议提供文件存储服务。详情可见 NFS-Ganesha、Samba等各开源组件介绍,图 3-363-38分别为 Kernel户端接入方式与 NFS-Ganesha、Samba 接入方式的架构示意图,便于读者比较理解。

image.png

3-36Kerne客户端架构示意

image.png

3-37 NFS-Ganesha 接入架构示意

 

 image.png


3-38Samba接入架构示意

相关文章
|
存储 弹性计算 固态存储
阿里云服务器1TB存储收费标准(数据盘/对象存储OSS/文件存储NAS)
阿里云服务器1TB存储多少钱?系统盘最大可选到500GB,数据盘选到1TB价格为3655元一年。也可以选择对象存储OSS和文件存储NAS
6410 2
阿里云服务器1TB存储收费标准(数据盘/对象存储OSS/文件存储NAS)
|
6月前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
113 2
|
存储 弹性计算 并行计算
在高性能计算(HPC)场景下,阿里云存储的文件存储产品的实践
在高性能计算(HPC)场景下,阿里云存储的文件存储产品具有以下的应用需求和实践
476 4
|
存储 弹性计算 PHP
云存储Clouder认证:基于存储产品快速搭建网盘—课时9:基于文件存储NAS快速搭建网盘
云存储Clouder认证:基于存储产品快速搭建网盘—课时9:基于文件存储NAS快速搭建网盘
|
存储 弹性计算 安全
云存储Clouder认证:基于存储产品快速搭建网盘—课时8:文件存储NAS入门
云存储Clouder认证:基于存储产品快速搭建网盘—课时8:文件存储NAS入门
|
存储 缓存 关系型数据库
带你读《存储漫谈:Ceph原理与实践》——3.3.4 未来展望
带你读《存储漫谈:Ceph原理与实践》——3.3.4 未来展望
|
存储 固态存储 Windows
带你读《存储漫谈:Ceph原理与实践》——3.3.2 CephFS 访问方式
带你读《存储漫谈:Ceph原理与实践》——3.3.2 CephFS 访问方式
带你读《存储漫谈:Ceph原理与实践》——3.3.2 CephFS 访问方式
|
存储 容灾 负载均衡
带你读《存储漫谈:Ceph原理与实践》——3.3.1 MDS 设计原理
带你读《存储漫谈:Ceph原理与实践》——3.3.1 MDS 设计原理
|
存储 缓存 块存储
带你读《存储漫谈:Ceph原理与实践》——3.3.3 CephFS 高级特性
带你读《存储漫谈:Ceph原理与实践》——3.3.3 CephFS 高级特性
|
存储 固态存储 大数据
「存储架构」块存储、文件存储和对象存储(第1节)
「存储架构」块存储、文件存储和对象存储(第1节)