阶段六:存储中间件之Ceph进阶

创建Ceph文件存储

在所有操作系统中,文件通常分为两部分:① 数据(文件具体内容) ② 元数据(文件目录结构、权限、属性)

在 Ceph 集群中,MDS(Metadata Server)是负责管理 Ceph 文件系统(CephFS)元数据的服务,负责处理文件系统的目录结构、文件操作等元数据相关的任务。要部署 MDS 服务,以下是使用 cephadm 部署 MDS 的步骤。

创建文件存储并使用

第1步: 准备 Ceph 集群

[root@node1 ceph]# ceph -s

第2步: 为了运行 Ceph 文件系统(CephFS),需要至少两个 RADOS 池,一个用于数据(data pool),另一个用于元数据(metadata pool)

创建数据池和元数据池

实际数据 与 元数据,对应的PG数量对比,一般建议2/1、4/1、8/1

数据仓库:128个

元数据仓库:32 或 16个

比如一个文件128MB,但是元数据(文件目录结构、权限、属性)=> 16MB

[root@node1 ceph]# ceph osd pool create cephfs_data 128
[root@node1 ceph]# ceph osd pool create cephfs_metadata 64

查看池是否创建成功
[root@node1 ceph]# ceph osd pool ls

第3步: 创建Ceph文件系统,并确认客户端访问的节点

基本语法:

ceph fs new <文件系统名称> cephfs_metadata cephfs_data

[root@node1 ceph]# ceph fs new cephfs cephfs_metadata cephfs_data

[root@node1 ceph]# ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_pool ]
[root@node1 ceph]# ceph health detail

第4步:创建mds服务

ceph orch apply mds cephfs
ceph mds stat

cephfs 文件系统已经有 1 个 MDS 守护进程在运行并处于 active 状态。

另一个 MDS 守护进程处于 standby 状态,表示它已经启动,但目前不是主工作节点。

我们也可以调整mds数量

增加备用节点
ceph fs set cephfs max_mds 2
ceph fs set cephfs standby_count_wanted 1
ceph orch apply mds cephfs --placement="node1,node2,node3"
ceph fs set cephfs max_mds 3 这个命令的作用是将文件系统 cephfsmax_mds 参数设置为 3,允许最多启动 3 个 MDS 守护进程。这本身是修改 Ceph 配置文件的操作,不会立即部署新的 MDS 守护进程。

第4步: 客户端准备验证key文件

在集群节点(node1,node2,node3)上任意一台查看密钥字符串

[root@node1 ~]# cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
        key = AQDNRlZoYWfbEBAAu5yjsK+tgki8epIbxpeoKg==
        caps mds = "allow *"
        caps mgr = "allow *"
        caps mon = "allow *"
        caps osd = "allow *"

命令作用:

执行结果:

关键参数:

注意事项:

AQDNRlZoYWfbEBAAu5yjsK+tgki8epIbxpeoKg==


**关键参数:**

**注意事项:**



**如果需要删除文件存储,请按下面操作过程来操作**

关键参数:

注意事项:

在线扩容

经测试,分区后/dev/rbd0p1不能在线扩容,直接使用/dev/rbd0才可以

扩容成8000M

查看大小,并没有变化

再次查看大小,在线扩容成功


**注意事项:**

再裁减回5000M

重新格式化挂载
再次查看,确认裁减成功

注意事项:





注:默认端口为80,如果需要修改可以参考如下方式

  cluster:

  services:

  data:

.mgr
.rgw.root
default.rgw.log
default.rgw.control
default.rgw.meta

{ { } ], }, }, }


上面一大段主要有用的为access_key与secret_key,用于连接对象存储网关

-------------------------------------------------------

创建并编写下面的文件,key文件对应前面创建测试用户的key


**注意事项:**

列出bucket,可以查看到先前测试创建的my_new_bucket
新建一个bucket桶
上传文件到桶
下载到当前目录

更多命令请见参考命令帮助
image

在ceph的客户端上准备好bucket和相关的连接key

[default] ... ...


**注意事项:**



在client端安装nextcloud云盘运行所需要的web环境

注意事项:

需要修改为运行web服务器的用户owner,group,否则后面写入会出现权限问题


**注意事项:**

image
image

因为默认nextcloud上传文件有限制,不能超过2M。所以需要修改


**注意事项:**


</Directory>

注意事项: