ceph文件服务器,Ceph分布式存储实战(6)——Ceph存储配置(CephFS的挂载)

本文介绍了CephFS的挂载和配置,包括CephFS作为POSIX兼容的分布式文件系统的作用,以及挂载Ceph文件系统所需的步骤,如创建元数据服务器、存储池和文件系统。详细讲解了通过内核驱动程序和FUSE方式挂载,并提供了开机自动挂载的方法。

一、什么是POSIX标准

有一种情况是,在windows上写的代码,放到Linux上去运行居然报错,为什么?

比如在代码中需要创建一个进程,linux下是fork函数,windows下是creatprocess函数,可我是在windows上写的代码,自然调用的是creatprocess函数

但是我将代码拿到linux上运行,linux内核提供的系统调用根本就没有creatprocess函数。怎么可能会不报错呢?对吧?

一定要注意,不同的内核提供的系统调用(也就是一个函数)是不同的。

因此,posix标准的出现就是为了解决这个问题。linux内核和windows内核提供的系统调用都要实现基本的posix标准,这样就方便移植了。

二、什么是CephFS

CephFS也称ceph文件系统,他是一个POSIX兼容的分布式文件系统。

三、实现ceph文件系统的要求

1、需要一个已经正常运行的ceph集群

2、至少包含一个ceph元数据服务器(MDS)

为什么ceph文件系统依赖于MDS?为毛线?

因为:

Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据。

元数据服务器使得POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

问题又来了,什么是元数据?

可以简单的理解为它是描述数据的数据,意思就是描述数据的信息,比如,数据的大小、位置、属性等等信息

【可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。】意思就是说

在执行数据搜索和查看的时候,首先查找的是元数据,通过元数据中的描述信息准确且快速的找到数据。

而不用大费周章的在整个集群的osd上查找

通常,客户端向cephfs发起I/O时,过程大概为两步:

1、client端与mds节点通讯,获取metadata信息(metadata也存在osd上)

2、client直接写数据到osd

四、挂载ceph文件系统的方式

支持两种方式

1、使用本地系统内核驱动程序进行挂载

2、使用ceph fuse进行挂载

五、创建mds

要运行 Ceph 文件系统,你必须先装起至少带一个 Ceph 元数据服务器的 Ceph 存储集群。

我这里让ceph-node1,ceph-node2,ceph-node3 这三个节点都成为mds的角色

在管理节点上,通过ceph-deploy工具进行部署,执行命令如下

[root@ceph-node1 ~]# cd my-cluster/ #进入存放了ceph集群配置文件的目录

[root@ceph-node1 my-cluster]# ceph-deploy mds create ceph-node1 ceph-node2 ceph-node3 #开始创建mds

六、创建CephFS

注意:

1、但是当前一套集群只能有一个文件系统存在。

2、一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:

2.1 为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。

2.2 为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。

6.1 创建存储池

确定 pg_num 取值是强制性的,因为不能自动计算。下面是几个常用的值:

*少于 5 个 OSD 时可把 pg_num 设置为 128

*OSD 数量在 5 到 10 个时,可把 pg_num 设置为 512

*OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096

*OSD 数量大于 50 时,你得理解权衡方法、以及如何自己计算 pg_num 取值

*自己计算 pg_num 取值时可借助 pgcalc 工具

随着 OSD 数量的增加,正确的 pg_num 取值变得更加重要,因为它显著地影响着集群的行为、以及出错时的数据持久性(即灾难性事件导致数据丢失的概率)。

[root@ceph-node2 ~]# ceph osd pool create cephfs_data 128 #创建存储数据的存储池,128是PG数量

pool 'cephfs_data' created

[root@ceph-node2 ~]#  ceph osd pool create cephfs_metadata 128 #创建存储元数据的存储池

pool 'cephfs_metadata' created

[root@ceph-node2 ~]# ceph osd lspools #查看池

0 rbd,1 HPC_Pool,2 my-test-pool,3 cephfs_data,4 cephfs_metadata,

[root@ceph-node2 ~]#

6.2 创建文件系统

创建好存储池后,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值