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


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

先决条件

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

8.2.1. 使用仪表板为 Linux 内核模块客户端创建 Ceph 块设备

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

内核模块客户端支持如 Deep flatten、Layering、Exclusive 锁定、Object map 和 Fast diff 等功能。

对象映射、快速 diff 和 Deep flatten 功能需要 Red Hat Enterprise Linux 8.2 及更新的版本。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 创建并启用复制 RBD 池。

流程

  1. Block 下拉菜单中选择 Images
  2. Create
  3. Create RBD 窗口中,输入镜像名称,选择 RBD 启用池,选择支持的功能:

    创建 RBD 窗口
  4. Create RBD

验证

  • 您将获得一个成功创建镜像的通知。

其它资源

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

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

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 创建使用控制面板的 Linux 内核模块客户端的 Ceph 块设备。
  • 一个 Red Hat Enterprise Linux 客户端。

流程

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

    Red Hat Enterprise Linux 8

    [root@rbd-client ~]# subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms

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

    Red Hat Enterprise Linux 8

    [root@rbd-client ~]# dnf install ceph-common

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

    语法

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

    示例

    [root@rbd-client ~]# 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
    [root@client1 ~]#

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

    语法

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

    示例

    [root@rbd-client ~]# 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
    [root@client1 ~]#

  5. 映射镜像:

    语法

    rbd map --pool POOL_NAME IMAGE_NAME --id admin

    示例

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

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

    语法

    parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos

    示例

    [root@rbd-client ~]# 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@rbd-client ~]# 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@rbd-client ~]# 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@rbd-client ~]# mkdir /mnt/ceph

  10. 挂载文件系统:

    语法

    mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY

    示例

    [root@rbd-client ~]# mount /dev/rbd0p1 /mnt/ceph/

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

    语法

    df -h PATH_TO_DIRECTORY

    示例

    [root@rbd-client ~]# 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.