B.4. 手动安装 Ceph 块设备
以下步骤演示了如何安装和挂载精简调配、可调整的 Ceph 块设备。
Ceph 块设备必须部署到与 Ceph 监控器和 OSD 节点上独立的节点上。在同一节点上运行内核客户端和内核服务器守护进程可能会导致内核死锁。
先决条件
- 确保执行 第 B.1 节 “安装 Ceph 命令行界面” 部分中列出的任务。
- 如果您使用 Ceph 块设备作为使用 QEMU 的虚拟机 (VM) 的后端,请增加默认的文件描述符。详情请参阅 Ceph - 虚拟机在将大量数据传输到 RBD 磁盘挂起知识库文章。
流程
创建名为
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 管理指南中的用户管理一节。
创建块设备镜像:
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 客户端访问块设备镜像的用户。
-
将新创建的镜像映射到块设备:
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
通过创建文件系统来使用块设备:
mkfs.ext4 /dev/rbd/<pool_name>/<image_name>
指定池名称和镜像名称,例如:
# mkfs.ext4 /dev/rbd/rbd/image1
此操作可能需要一些时间。
挂载新创建的文件系统:
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 Ceph Storage 4 块设备指南.