阶段六:存储中间件之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 statcephfs 文件系统已经有 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这个命令的作用是将文件系统cephfs的max_mds参数设置为 3,允许最多启动 3 个 MDS 守护进程。这本身是修改 Ceph 配置文件的操作,不会立即部署新的 MDS 守护进程。
第4步: 客户端准备验证key文件
- 说明: ceph默认启用了cephx认证, 所以客户端的挂载必须要验证
在集群节点(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 *"命令作用:
- 读取并输出
/etc/ceph/ceph.client.admin.keyring的内容;使用>重定向时,输出会写入目标文件。
执行结果:
- 成功后会输出指定文件内容;文件不存在或权限不足时会报错。
关键参数:
注意事项:
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桶
上传文件到桶
下载到当前目录
更多命令请见参考命令帮助
在ceph的客户端上准备好bucket和相关的连接key
[default] ... ...
**注意事项:**
在client端安装nextcloud云盘运行所需要的web环境
注意事项:
需要修改为运行web服务器的用户owner,group,否则后面写入会出现权限问题
**注意事项:**


因为默认nextcloud上传文件有限制,不能超过2M。所以需要修改
**注意事项:**
</Directory>注意事项: