B.4. 手动安装 Ceph 块设备


以下步骤演示了如何安装和挂载精简调配、可调整的 Ceph 块设备。

重要

Ceph 块设备必须部署到与 Ceph 监控器和 OSD 节点上独立的节点上。在同一节点上运行内核客户端和内核服务器守护进程可能会导致内核死锁。

先决条件

流程

  1. 创建名为 client.rbd 的 Ceph 块设备用户,该用户对 OSD 节点上的文件具有完整权限 (osd 'allow rwx') 并将结果输出到密钥环文件:

    ceph auth get-or-create client.rbd mon 'profile rbd' osd 'profile rbd pool=<pool_name>' \
    -o /etc/ceph/rbd.keyring

    <pool_name> 替换为您要允许 client.rbd 访问的池的名称,如 rbd

    # ceph auth get-or-create \
    client.rbd mon 'allow r' osd 'allow rwx pool=rbd' \
    -o /etc/ceph/rbd.keyring

    有关创建用户的更多信息,请参见 Red Hat Ceph Storage 4 管理指南中的用户管理一节。

  2. 创建块设备镜像:

    rbd create <image_name> --size <image_size> --pool <pool_name> \
    --name client.rbd --keyring /etc/ceph/rbd.keyring

    指定 <image_name><image_size><pool_name>,例如:

    $ rbd create image1 --size 4G --pool rbd \
    --name client.rbd --keyring /etc/ceph/rbd.keyring
    警告

    默认 Ceph 配置包括以下 Ceph 块设备功能:

    • layering
    • exclusive-lock
    • object-map
    • deep-flatten
    • fast-diff

    如果您使用内核 RBD (krbd) 客户端,您可能无法映射块设备镜像。

    要临时解决这个问题,请禁用不支持的功能。使用以下选项之一完成此操作:

    • 动态禁用不支持的功能:

      rbd feature disable <image_name> <feature_name>

      例如:

      # rbd feature disable image1 object-map deep-flatten fast-diff
    • rbd create 命令中使用 --image-feature layering 选项在新创建的块设备镜像仅启用 layering
    • 在 Ceph 配置文件中禁用默认功能:

      rbd_default_features = 1

    这是一个已知问题,请参阅 Red Hat Ceph Storage 4 发行说明中已知问题 章节。

    所有这些功能适用于使用用户空间 RBD 客户端访问块设备镜像的用户。

  3. 将新创建的镜像映射到块设备:

    rbd map <image_name> --pool <pool_name>\
    --name client.rbd --keyring /etc/ceph/rbd.keyring

    例如:

    # rbd map image1 --pool rbd --name client.rbd \
    --keyring /etc/ceph/rbd.keyring
  4. 通过创建文件系统来使用块设备:

    mkfs.ext4 /dev/rbd/<pool_name>/<image_name>

    指定池名称和镜像名称,例如:

    # mkfs.ext4 /dev/rbd/rbd/image1

    此操作可能需要一些时间。

  5. 挂载新创建的文件系统:

    mkdir <mount_directory>
    mount /dev/rbd/<pool_name>/<image_name> <mount_directory>

    例如:

    # mkdir /mnt/ceph-block-device
    # mount /dev/rbd/rbd/image1 /mnt/ceph-block-device

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.