ceph 16.2.15 实操

一、远程服务器挂载ceph 磁盘

由于版本不一样,所以有些地方不兼容,需要修改

ceph version  # rocky linux 8
ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)
# 客户端  centos7.9
yum list installed | grep ceph-common
ceph-common.x86_64                   2:13.2.10-0.el7          @Ceph

要将Ceph集群中的200GB空间挂载到系统为CentOS 7.9的服务器上,可以按以下步骤操作:

1. 安装Ceph客户端工具

首先,在CentOS 7.9服务器上安装Ceph客户端工具:

sudo yum install -y epel-release
sudo yum install -y ceph-common

2. 配置Ceph客户端

从Ceph集群获取 ceph.confceph.client.admin.keyring 文件,复制到CentOS 7.9服务器的 /etc/ceph 目录中。

sudo mkdir -p /etc/ceph
scp user@192.168.147.221:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
scp user@192.168.147.221:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

3. 创建Ceph块设备映像

在任意一台Ceph Monitor节点上(例如192.168.147.221),创建一个200GB的块设备映像:

ceph osd pool create mypool 64
rbd create mypool/myvolume --size 200G

4. 映射RBD设备

 cat /etc/ceph/221ceph/ceph.conf
[global]
        fsid = 3b29de98-0146-11ef-8aa6-xxxx
        keyring = /etc/ceph/221ceph/ceph.client.admin.keyring
        auth_cluster_required = cephx # 这三行不知有没有用
        auth_service_required = cephx
        auth_client_required = cephx
        mon_host = 192.168.147.221,192.168.147.222,192.168.147.224

由于ceph-common和 ceph集群版本不同,所以把这几个功能关掉了
rbd feature disable jianlin_pool/jlvolume exclusive-lock object-map fast-diff deep-flatten

在CentOS 7.9服务器上,将创建好的RBD设备映射到本地:

sudo rbd map mypool/myvolume --id admin # --keyring /etc/ceph/ceph.client.admin.keyring 这个已经写到ceph.conf里了
# 有问题输入dmesg | tail 查看问题所在

执行上述命令后,将会返回一个映射的设备路径,例如 /dev/rbd0

5. 格式化RBD设备

格式化映射的设备以便在CentOS 7.9服务器上使用:

sudo mkfs.xfs /dev/rbd0

6. 挂载RBD设备

创建挂载点并挂载RBD设备:

sudo mkdir -p /mnt/mycephvolume
sudo mount /dev/rbd0 /mnt/mycephvolume

7. 配置开机自动挂载

编辑 /etc/fstab 文件,添加如下行以确保系统重启后自动挂载RBD设备:

/dev/rbd0  /mnt/mycephvolume  xfs  defaults,_netdev  0  0

二、HEALTH_WARN 1 pool(s) do not have an application enabled

使用 ceph health detail 命令查看更详细的健康警告信息。

ceph health detail
# 如果用作rbd用
ceph osd pool application enable <pool-name> rbd

一、CephX 认证机制:

看这里
和这里
好好看看这个和官网的,Cephadm安装Ceph(v17.2.5 Quincy)
51CTO,rgw也好好看看

1、mon负责认证,mon一定要三个,要不一个坏了以后还咋认证
2、认证完才能对ceph增删改查
3、
在 Ceph 中,这些命令和指令都是与 Ceph 权限控制相关的。让我逐个解释:

  1. mon ‘allow rwx’

    • 这是针对 Ceph Monitor(监视器)的访问权限控制指令。
    • ‘allow rwx’ 表示允许对监视器进行读、写和执行操作。
    • 具体来说,这个指令允许对监视器进行读取(read)、写入(write)以及执行(execute)允许客户端对指定的存储池执行操作,如创建、删除、修改对象等。
      等操作,即具有完全的权限。
  2. mon ‘allow profile osd’
    假设您正在配置一个 Ceph 集群,并且需要在 OSD 配置文件中定义一些特定的操作,例如添加、删除或修改 OSD,设置存储池(Pool)参数等。这些操作通常在 OSD 配置文件中进行定义和管理。然后,您想要授权监视器执行这些操作,以便监视器可以管理和配置 OSD。

  3. class-read

    • 这是用于 Ceph RADOSGW(分布式对象存储网关)的指令。
    • ‘class-read’ 表示允许对 RADOSGW 存储桶类进行读取操作。
    • 在 Ceph 中,RADOSGW 提供了对象存储服务,而存储桶类(bucket class)是一种用于组织和管理存储桶(bucket)的方式。使用 ‘class-read’ 可以允许对存储桶类进行读取操作,例如获取存储桶类的信息或元数据。

4、
这三条命令都是用于在 Ceph 集群中管理认证密钥的命令。

  1. ``
ceph-authtool ./ceph.client.user.keyring --import-keyring ./ceph.client.admin.keyring

这个命令的作用是将 ceph.client.admin.keyring 中的密钥导入到 ceph.client.user.keyring 中。通常情况下,ceph.client.admin.keyring 中包含了管理员的密钥,而 ceph.client.user.keyring 则用于普通用户或客户端的密钥管理。通过这个命令,普通用户可以使用管理员的密钥来访问 Ceph 集群的资源。

  1. ``
ceph-authtool -l ./ceph.client.user.keyring

这个命令的作用是列出指定密钥环文件中的密钥信息。通过这个命令,可以查看 ceph.client.user.keyring 中包含的密钥信息,包括密钥类型、密钥名称等。

  1. ``
ceph-authtool ./ceph.client.user.keyring --import-keyring ./ceph.client.user1.keyring

这个命令的作用是将 ceph.client.user1.keyring 中的密钥导入到 ceph.client.user.keyring 中。这个命令可以用于合并多个密钥环文件中的密钥信息,使得 ceph.client.user.keyring 中包含更多的密钥,从而实现对更多资源的访问权限。

二、Ceph RBD

在这
1、

  1. ceph osd pool application enable rbd-data1 rbd

告诉 Ceph 集群,存储池 rbd-data1 将被用于存储 RBD 镜像,以便 Ceph 根据存储池的特性进行相应的优化。

  1. rbd pool init -p rbd-data1

执行这个命令后,Ceph 将为存储池 rbd-data1 创建所需的元数据和数据存储结构,以便后续存储 RBD 镜像。
2、

rbd create data-img1 --size 3G --pool rbd-data1 --image-format 2 --image-feature layering
  • rbd create data-img1:创建一个名为 data-img1 的 RBD 镜像。

  • --size 3G:指定创建的 RBD 镜像的大小为 3GB。这表示 RBD 镜像的最大容量为 3GB。

  • --pool rbd-data1:这表示该 RBD 镜像将存储在名为 rbd-data1 的 Ceph 存储池中。

  • --image-format 2:指定创建的 RBD 镜像的格式为格式化为2。这个参数指定了 RBD 镜像的格式化方式,格式化为2表示使用的是扩展后的内部元数据格式。这种格式通常用于支持一些新特性和改进。

  • --image-feature layering:指定创建的 RBD 镜像具有 “layering” 特性。这个特性表示该 RBD 镜像支持层化(Layering),即支持基于快照的写时复制(Copy-on-Write)操作。这允许你在 RBD 镜像上创建快照,并在快照上进行写操作而不影响原始数据。

综合起来,这条命令的含义是:在名为 rbd-data1 的存储池中创建一个名为 data-img1 的 3GB 大小的 RBD 镜像,使用格式化为2的格式,并具有层化特性,支持快照和写时复制操作。

3、
在 Ceph 中,--image-format 参数用于指定创建的 RBD 镜像的格式。不同的格式对 RBD 镜像的元数据和特性有不同的影响。目前,常用的 RBD 镜像格式有以下几种:

  1. 格式化为1(Format 1)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值