3.2. 创建 Ceph 块设备并从 Linux 内核模块客户端使用它
作为存储管理员,您可以在 Red Hat Ceph Storage 控制面板中为 Linux 内核模块客户端创建 Ceph 块设备。作为系统管理员,您可以使用命令行将该块设备映射到 Linux 客户端,并进行分区、格式化和挂载。之后,您可以为其读取和写入文件。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 一个 Red Hat Enterprise Linux 客户端。
3.2.1. 使用控制面板为 Linux 内核模块客户端创建 Ceph 块设备
您可以通过仅启用其所需的功能,使用控制面板 Web 界面为 Linux 内核模块客户端创建专用的 Ceph 块设备。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
流程
其它资源
- 如需更多信息,请参阅使用命令行映射并在 Linux 中挂载 Ceph 块设备。
- 如需更多信息,请参阅控制面板指南。
3.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 4 Tools 存储库:
Red Hat Enterprise Linux 7
[root@client1 ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms
Red Hat Enterprise Linux 8
[root@client1 ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
安装
ceph-common
RPM 软件包:Red Hat Enterprise Linux 7
[root@client1 ~]# yum install ceph-common
Red Hat Enterprise Linux 8
[root@client1 ~]# dnf install ceph-common
将 Ceph 配置文件从 monitor 节点复制到客户端节点:
scp root@MONITOR_NODE:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
示例
[root@client1 ~]# 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
将密钥文件从 monitor 节点复制到客户端节点:
scp root@MONITOR_NODE:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
示例
[root@client1 ~]# 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
映射镜像:
rbd map --pool POOL_NAME IMAGE_NAME --id admin
示例
[root@client1 ~]# rbd map --pool block-device-pool image1 --id admin /dev/rbd0 [root@client1 ~]#
在块设备中创建分区表:
parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos
示例
[root@client1 ~]# 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@client1 ~]# 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@client1 ~]# 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@client1 ~]# mkdir /mnt/ceph
挂载文件系统:
mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY
示例
[root@client1 ~]# mount /dev/rbd0p1 /mnt/ceph/
验证文件系统是否已挂载并显示正确的大小:
df -h PATH_TO_DIRECTORY
示例
[root@client1 ~]# df -h /mnt/ceph/ Filesystem Size Used Avail Use% Mounted on /dev/rbd0p1 10G 105M 9.9G 2% /mnt/ceph
其它资源
- 如需更多信息,请参阅使用仪表板为 Linux 内核模块客户端创建 Ceph 块设备。
- 如需更多信息,请参阅为 Red Hat Enterprise Linux 8 管理文件系统。
- 如需更多信息,请参阅 Red Hat Enterprise Linux 7 的存储管理指南。