3.2. 创建 Ceph 块设备并从 Linux 内核模块客户端使用它


作为存储管理员,您可以在 Red Hat Ceph Storage 控制面板中为 Linux 内核模块客户端创建 Ceph 块设备。作为系统管理员,您可以使用命令行将该块设备映射到 Linux 客户端,并进行分区、格式化和挂载。之后,您可以为其读取和写入文件。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 一个 Red Hat Enterprise Linux 客户端。

3.2.1. 使用控制面板为 Linux 内核模块客户端创建 Ceph 块设备

您可以通过仅启用其所需的功能,使用控制面板 Web 界面为 Linux 内核模块客户端创建专用的 Ceph 块设备。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。

流程

  1. 登录到仪表板。
  2. 在导航栏中点 Pools

    点池
  3. Create 按钮:

    点击 create
  4. 在对话窗口中,设置名称:

    设置名称
  5. 将池类型设置为复制:

    复制
  6. 设置放置组 (PG) 号:

    设置 PG 号

    若要协助选择 PG 编号,可使用 PG 计算器。如果不确定,请联系红帽技术支持

  7. 设置复制的大小:

    复制的大小
  8. 启用 rbd 应用:

    启用 rbd
  9. Create pool:

    点 Create pool
  10. 查看指示池创建成功的通知:

    创建通知
  11. Block:

    点 Block
  12. Images

    点 Images
  13. Create:

    点 Create
  14. 配置以下内容: 1 所需的镜像名称, 2 设置为之前创建的 3 设置镜像所需的大小, 4 确保 分层和 排除锁定 是唯一启用的功能:

    设置镜像参数
  15. CreateRBD:

    Clck CreateRBD
  16. 查看表明已成功创建镜像的通知:

    镜像创建通知

其它资源

3.2.2. 使用命令行映射并挂载 Ceph 块设备到 Linux 上

您可以使用 Linux rbd 内核模块从 Red Hat Enterprise Linux 客户端映射 Ceph 块设备。映射之后,您可以对其进行分区、格式化和挂载,以便您可以将文件写入到其中。

先决条件

流程

  1. 在 Red Hat Enterprise Linux 客户端节点上,启用 Red Hat Ceph Storage 4 Tools 存储库:

    Red Hat Enterprise Linux 7

    [root@client1 ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms

    Red Hat Enterprise Linux 8

    [root@client1 ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms

  2. 安装 ceph-common RPM 软件包:

    Red Hat Enterprise Linux 7

    [root@client1 ~]# yum install ceph-common

    Red Hat Enterprise Linux 8

    [root@client1 ~]# dnf install ceph-common

  3. 将 Ceph 配置文件从 monitor 节点复制到客户端节点:

    scp root@MONITOR_NODE:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

    示例

    [root@client1 ~]# scp root@cluster1-node2:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
    root@192.168.0.32's password:
    ceph.conf                                                                          100%  497   724.9KB/s   00:00

  4. 将密钥文件从 monitor 节点复制到客户端节点:

    scp root@MONITOR_NODE:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

    示例

    [root@client1 ~]# scp root@cluster1-node2:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
    root@192.168.0.32's password:
    ceph.client.admin.keyring                                                          100%  151   265.0KB/s   00:00

  5. 映射镜像:

    rbd map --pool POOL_NAME IMAGE_NAME --id admin

    示例

    [root@client1 ~]# rbd map --pool block-device-pool image1 --id admin
    /dev/rbd0
    [root@client1 ~]#

  6. 在块设备中创建分区表:

    parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos

    示例

    [root@client1 ~]# parted /dev/rbd0 mklabel msdos
    Information: You may need to update /etc/fstab.

  7. 为 XFS 文件系统创建分区:

    parted /dev/MAPPED_BLOCK_DEVICE mkpart primary xfs 0% 100%

    示例

    [root@client1 ~]# parted /dev/rbd0 mkpart primary xfs 0% 100%
    Information: You may need to update /etc/fstab.

  8. 格式化分区:

    mkfs.xfs /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER

    示例

    [root@client1 ~]# mkfs.xfs /dev/rbd0p1
    meta-data=/dev/rbd0p1            isize=512    agcount=16, agsize=163824 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1
    data     =                       bsize=4096   blocks=2621184, imaxpct=25
             =                       sunit=16     swidth=16 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=16 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

  9. 创建要挂载新文件系统的目录:

    mkdir PATH_TO_DIRECTORY

    示例

    [root@client1 ~]# mkdir /mnt/ceph

  10. 挂载文件系统:

    mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY

    示例

    [root@client1 ~]# mount /dev/rbd0p1 /mnt/ceph/

  11. 验证文件系统是否已挂载并显示正确的大小:

    df -h PATH_TO_DIRECTORY

    示例

    [root@client1 ~]# df -h /mnt/ceph/
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/rbd0p1      10G  105M  9.9G   2% /mnt/ceph

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.