ceph-mds文件系统操作指南

前言:ceph-mds文件系统操作,常规操作汇总,看这一篇就够了

一、文件系统简介

 Ceph 文件系统 (CephFS) 是兼容 POSIX 标准的文件系统,在 Ceph 的分布式对象存储基础上构建,称为 RADOS(可靠的自主分布式对象存储)

 Ceph 文件系统提供 Ceph 元数据服务器 (MDS) 的集群。一个处于活动状态,另一些处于待机模式。

Ceph 文件系统组件

Ceph 文件系统有两个主要组件:

1、客户端

CephFS 客户端代表使用 CephFS 的应用执行 I/O 操作,如用于 FUSE 客户端的 ceph-fuse,kcephfs 用于内核客户端。

2、元数据服务器 (MDS)

MDS 执行以下操作:

为 CephFS 客户端提供元数据。

管理与 Ceph 文件系统中存储的文件相关的元数据。

协调对共享 Red Hat Ceph Storage 的访问。

缓存热元数据,以减少对后备元数据池存储的请求。

管理 CephFS 客户端的缓存,以维护缓存一致性。

在活动 MDS 之间复制热元数据.

将元数据变异到压缩日志,并定期刷新到后备元数据池。

CephFS 要求至少运行一个元数据服务器守护进程 (ceph-mds)。

二、创建ceph文件系统

 重要:默认情况下,每个 Ceph 存储集群只能创建一个 CephFS。

1、查看crush rule

[root@ceph-mon01 ~]# ceph osd crush rule ls

replicated_rule

fq_rule01

2、创建两个池,一个用于存储数据,另一个用于存储元数据:

[root@ceph-mon01 ~]# ceph osd pool create cephfs_data 64 fq_rule01

pool 'cephfs_data' created

[root@ceph-mon01 ~]# ceph osd pool create cephfs_metadata 64 fq_rule01

pool 'cephfs_metadata' created

3、检测创建的两个池,使用的 crush_rule

[root@ceph-mon01 ~]# ceph osd dump |grep crush*

pool 9 'cephfs_metadata' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 64 pgp_num 64 autoscale_mode on last_change 4047 flags hashpspool stripe_width 0

4、显示创建的池

[root@ceph-mon01 ~]# ceph osd pool ls

cephfs_data

cephfs_metadata

5、创建CephFS

[root@ceph-mon01 ~]# ceph fs new cephfs cephfs_metadata cephfs_data

new fs with metadata pool 9 and data pool 8

6、验证一个或多个 MDS 是否根据您的配置进入活跃状态

[root@ceph-mon01 ~]# ceph fs status cephfs

cephfs - 0 clients

======

RANK  STATE      MDS         ACTIVITY     DNS    INOS   DIRS   CAPS

 0    active  ceph-mon02  Reqs:    0 /s    10     13     12      0

      POOL         TYPE     USED  AVAIL

cephfs_metadata  metadata  2306    376G

  cephfs_data      data       0    376G

STANDBY MDS

 ceph-mon01

 ceph-mon03

MDS version: ceph version 16.2.10 (45fa1a083152e41a408d15505f594ec5f1b4fe17) pacific (stable)

三、为 Ceph 文件系统创建客户端用户

1、在 Ceph 监控节点上,创建一个客户端用户

  将客户端限制为仅在文件系统 cephfs 的 temp 目录中写入

[root@ceph-mon01 ~]# ceph fs authorize cephfs client.1 / r /temp rw

[client.1]

        key = AQCJ8qxjQlHaEhAAr69m8QKyT93WW6GdFrepvA==

要将客户端完全限制到 temp 目录,请删除根 (/) 目录:

示例:[root@mon ~]# ceph fs authorize cephfs_a client.1 /temp rw

2、验证创建的密钥:

[root@ceph-mon01 ~]# ceph auth get client.1

[client.1]

        key = AQCJ8qxjQlHaEhAAr69m8QKyT93WW6GdFrepvA==

        caps mds = "allow r fsname=cephfs, allow rw fsname=cephfs path=/temp"

        caps mon = "allow r fsname=cephfs"

        caps osd = "allow rw tag cephfs data=cephfs"

exported keyring for client.1

3、将密钥环复制到客户端。

在 Ceph 监控节点上,将密钥环导出到文件中:

[root@ceph-mon01 ~]# ceph auth get client.1 -o ceph.client.1.keyring

exported keyring for client.1

[root@ceph-mon01 ~]# ls

anaconda-ks.cfg  ceph-ansible  ceph.client.1.keyring  new.bin  test.bin  test.txt

4、将 Ceph 监控节点的客户端密钥环复制到客户端节点上的 /etc/ceph/ 目录中:

[root@ceph-mon01 ~]# scp ceph.client.1.keyring root@10.255.208.17:/etc/ceph/

四、将 Ceph 文件系统挂载为内核客户端

1、安装 ceph-common 软件包:

yum install ceph-common

2、将 Ceph 客户端密钥环从 Ceph 监控节点复制到客户端节点:

[root@client ~]# scp root@ceph-mon01:/etc/ceph/ceph.client.1.keyring  /etc/ceph/

3、将 Ceph 配置文件从 Ceph 监控节点复制到客户端节点:

      scp root@ceph-mon01:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

[root@ceph-client01 ~]# ll /etc/ceph/

total 12

-rw-r--r-- 1 root root 212 Dec 29 09:55 ceph.client.1.keyring

-rw-r--r-- 1 ceph ceph 612 Dec 19 15:11 ceph.conf

-rw-r--r-- 1 root root  92 Jul 22 02:01 rbdmap

手动挂载

在客户端节点上创建挂载目录:

[root@client]# mkdir -p /mnt/cephfs

1、挂载 Ceph 文件系统.要指定多个 Ceph 监控地址,在 mount 命令中使用逗号将它们分隔,指定挂载点,并设置客户端名称:

[root@ceph-client01 ~]# mount -t ceph ceph-mon01:6789,ceph-mon02:6789,ceph-mon03:6789:/ /mnt/cephfs/ -o name=1

2、验证文件系统是否已成功挂载:

[root@ceph-client01 ~]# stat -f /mnt/cephfs/

  File: "/mnt/cephfs/"

    ID: 1050305fffffffff Namelen: 255     Type: ceph

Block size: 4194304    Fundamental block size: 4194304

Blocks: Total: 96398      Free: 96398      Available: 96398

Inodes: Total: 0          Free: -1

[root@ceph-client01 ~]# df -h

10.255.208.2:6789,10.255.208.4:6789,10.255.208.9:6789:/  377G     0  377G   0% /mnt/cephfs

[root@ceph-client01 ~]#

自动挂载

示例

#DEVICE         PATH                   TYPE    OPTIONS         DUMP  FSCK

mon1:6789,      /mnt/cephfs            ceph    name=1,            0     0

mon2:6789,                                     ceph.client_mountpoint=/my_vol/my_sub_vol_group/my_sub_vol/0,

mon3:6789:/                                    _netdev,noatime

Ceph 文件系统将挂载到下一次系统启动时。

Ceph 文件系统挂载为 FUSE 客户端

1、安装ceph-fuse软件

[root@ceph-client02 ~]# yum install ceph-fuse -y

2、将 Ceph 客户端密钥环".keyring"和"ceph.conf"文件 从 Ceph 监控节点复制到客户端节点 /etc/ceph/

 [root@ceph-client02 ~]# scp root@ceph-mon01:/etc/ceph/ceph.conf /etc/ceph/

3、使用 ceph-fuse 实用程序挂载 Ceph 文件系统

[root@ceph-client02 ~]# ceph-fuse -n client.1 /mnt/cephfs/

ceph-fuse[69553]: starting ceph client

2022-12-29T10:25:24.917+0800 7f225be363c0 -1 init, newargv = 0x560e925622c0 newargc=15

ceph-fuse[69553]: starting fuse

4、验证文件系统是否已成功挂载

stat -f /mnt/cephfs

五、卸载挂载为 FUSE 客户端的 Ceph 文件系统

[root@ceph-client02 ~]# fusermount -u /mnt/cephfs

六、添加数据池

Ceph 文件系统 (CephFS) 支持添加多个池来存储数据。

1、创建新的数据池

[root@ceph-mon01 ~]# ceph osd pool create cephfs_data_ssd 64

2、在元数据服务器控制下添加新创建的池

[root@ceph-mon01 ~]# ceph fs add_data_pool cephfs cephfs_data_ssd

added data pool 10 to fsmap

[root@ceph-mon01 ~]# ceph fs ls

name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data cephfs_data_ssd ]

[root@ceph-mon01 ~]#

七、关闭ceph文件系统集群

1、将 CephFS 集群标记为 down

ceph fs set cephfs down true

使用 CephFS 集群备份

ceph fs set cephfs down false

快速关闭 CephFS 集群

ceph fs fail cephfs

八、使用命令行界面删除 Ceph 文件系统

1、显示 CephFS 状态以确定 MDS 等级。

ceph fs status

2、将 CephFS 标记为 down

ceph fs set cephfs down true

3、显示 CephFS 的状态以确定它已停止:

ceph fs status

4、将 RANK 替换为 MDS 守护进程的等级失败

ceph mds fail 0

5、移除 CephFS

ceph fs rm cephfs --yes-i-really-mean-it

6、可选:删除 CephFS 使用的池。

ceph osd pool ls

7、删除元数据池

ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it

  • 在减少的冗余池中存储日志数据
  • 在 SSD 或 NVMe 池中存储用户主目录
  • 基本数据分隔。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值