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 池。
流程
- 在 Block 下拉菜单中选择 Images。
- 点 Create。
在 Create RBD 窗口中,输入镜像名称,选择 RBD 启用池,选择支持的功能:
- 点 Create RBD。
验证
- 您将获得一个成功创建镜像的通知。
其它资源
- 有关更多信息,请参阅 Red Hat Ceph Storage Block Device Guide 中的使用命令行在 Linux 上映射和挂载 Ceph 块设备。
- 有关更多信息,请参阅 Red Hat Ceph Storage Dashboard Guide。
8.2.2. 使用命令行映射并挂载 Ceph 块设备到 Linux 上
您可以使用 Linux rbd
内核模块从 Red Hat Enterprise Linux 客户端映射 Ceph 块设备。映射之后,您可以对其进行分区、格式化和挂载,以便您可以将文件写入到其中。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 创建使用控制面板的 Linux 内核模块客户端的 Ceph 块设备。
- 一个 Red Hat Enterprise Linux 客户端。
流程
在 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
安装
ceph-common
RPM 软件包:Red Hat Enterprise Linux 8
[root@rbd-client ~]# dnf install ceph-common
将 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 ~]#
将密钥文件从 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 ~]#
映射镜像:
语法
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 ~]#
在块设备中创建分区表:
语法
parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos
示例
[root@rbd-client ~]# parted /dev/rbd0 mklabel msdos Information: You may need to update /etc/fstab.
为 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.
格式化分区:
语法
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
创建要挂载新文件系统的目录:
语法
mkdir PATH_TO_DIRECTORY
示例
[root@rbd-client ~]# mkdir /mnt/ceph
挂载文件系统:
语法
mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY
示例
[root@rbd-client ~]# mount /dev/rbd0p1 /mnt/ceph/
验证文件系统是否已挂载并显示正确的大小:
语法
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
其它资源
- 如需更多信息,请参阅使用 Dashboard 为 Linux 内核模块客户端创建 Ceph 块设备。
- 如需更多信息,请参阅为 Red Hat Enterprise Linux 8 管理文件系统。
- 如需更多信息,请参阅 Red Hat Enterprise Linux 7 的存储管理指南。