附录 D. 手动安装 Ceph 块设备
以下步骤演示了如何安装和挂载精简调配、可调整的 Ceph 块设备。
Ceph 块设备必须部署到与 Ceph 监控器和 OSD 节点上独立的节点上。在同一节点上运行内核客户端和内核服务器守护进程可能会导致内核死锁。
先决条件
- 确保执行 附录 C, 安装 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
ceph auth get-or-create client.rbd mon 'profile rbd' osd 'profile rbd pool=<pool_name>' \ -o /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<pool_name>替换为您要允许client.rbd访问的池的名称,如rbd:sudo ceph auth get-or-create \ client.rbd mon 'allow r' osd 'allow rwx pool=rbd' \ -o /etc/ceph/rbd.keyring
$ sudo ceph auth get-or-create \ client.rbd mon 'allow r' osd 'allow rwx pool=rbd' \ -o /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关创建用户的更多信息,请参见 Red Hat Ceph Storage 3 管理指南中的用户管理一节。
创建块设备镜像:
rbd create <image_name> --size <image_size> --pool <pool_name> \ --name client.rbd --keyring /etc/ceph/rbd.keyring
rbd create <image_name> --size <image_size> --pool <pool_name> \ --name client.rbd --keyring /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 指定
<image_name>、<image_size>和<pool_name>,例如:rbd create image1 --size 4096 --pool rbd \ --name client.rbd --keyring /etc/ceph/rbd.keyring
$ rbd create image1 --size 4096 --pool rbd \ --name client.rbd --keyring /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告默认 Ceph 配置包括以下 Ceph 块设备功能:
-
layering -
exclusive-lock -
object-map -
deep-flatten -
fast-diff
如果使用内核 RBD(
krbd)客户端,您将无法映射块设备镜像,因为 Red Hat Enterprise Linux 7.3 中包含的当前内核版本不支持object-map、bigh-flatten和fast-diff。要临时解决这个问题,请禁用不支持的功能。使用以下选项之一完成此操作:
动态禁用不支持的功能:
rbd feature disable <image_name> <feature_name>
rbd feature disable <image_name> <feature_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
rbd feature disable image1 object-map deep-flatten fast-diff
# rbd feature disable image1 object-map deep-flatten fast-diffCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在
rbd create命令中使用--image-feature layering选项在新创建的块设备镜像仅启用layering。 在 Ceph 配置文件中禁用默认功能:
rbd_default_features = 1
rbd_default_features = 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
这是一个已知问题,请参阅 Red Hat Ceph Storage 3 发行说明中的已知问题 章节。
所有这些功能适用于使用用户空间 RBD 客户端访问块设备镜像的用户。
-
将新创建的镜像映射到块设备:
rbd map <image_name> --pool <pool_name>\ --name client.rbd --keyring /etc/ceph/rbd.keyring
rbd map <image_name> --pool <pool_name>\ --name client.rbd --keyring /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
sudo rbd map image1 --pool rbd --name client.rbd \ --keyring /etc/ceph/rbd.keyring
$ sudo rbd map image1 --pool rbd --name client.rbd \ --keyring /etc/ceph/rbd.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过创建文件系统来使用块设备:
mkfs.ext4 -m5 /dev/rbd/<pool_name>/<image_name>
mkfs.ext4 -m5 /dev/rbd/<pool_name>/<image_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定池名称和镜像名称,例如:
sudo mkfs.ext4 -m5 /dev/rbd/rbd/image1
$ sudo mkfs.ext4 -m5 /dev/rbd/rbd/image1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这可能需要一些时间。
挂载新创建的文件系统:
mkdir <mount_directory> mount /dev/rbd/<pool_name>/<image_name> <mount_directory>
mkdir <mount_directory> mount /dev/rbd/<pool_name>/<image_name> <mount_directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
sudo mkdir /mnt/ceph-block-device sudo mount /dev/rbd/rbd/image1 /mnt/ceph-block-device
$ sudo mkdir /mnt/ceph-block-device $ sudo mount /dev/rbd/rbd/image1 /mnt/ceph-block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如需了解更多详细信息,请参阅 Red Hat Ceph Storage 3 的块设备指南。