7.3. 块设备
Ceph 包含 rbd bench-write
命令,用于测试后续写入到块设备的吞吐量和延迟。默认字节大小为 4096,默认 I/O 线程数为 16,写入的默认字节总数为 1 GB。这些默认值可分别通过 --io-size
、--io-threads
和 --io-total
选项进行修改。有关 rbd
命令的更多信息,请参阅 Red Hat Ceph Storage 3 Ceph 块设备指南中的块设备 命令 部分。
创建 Ceph 块设备
作为
root
,加载rbd
内核模块(如果还没有载入):# modprobe rbd
作为
root
,在testbench
池中创建一个 1 GBrbd
镜像文件:# rbd create image01 --size 1024 --pool testbench
注意在创建块设备镜像时,这些功能会被默认启用:
layering
、object-map
、deep-flatten
、journaling
、exclusive-lock
和fast-diff
。在红帽企业 Linux 7.2 和 Ubuntu 16.04 上,利用内核 RBD 客户端的用户将无法映射块设备映像。您必须首先禁用所有这些功能,但
layering
除外。语法
# rbd feature disable <image_name> <feature_name>
示例
# rbd feature disable image1 journaling deep-flatten exclusive-lock fast-diff object-map
在
rbd create
命令中使用--image-feature layering
选项只会在新创建的块设备镜像中启用layering
。这是一个已知问题,请参阅 Red Hat Ceph Storage 3.3 发行注记. 以了解更多详细信息。
所有这些功能适用于利用用户空间 RBD 客户端访问块设备镜像的用户。
作为
root
,将镜像文件映射到设备文件:# rbd map image01 --pool testbench --name client.admin
作为
root
,在块设备中创建ext4
文件系统:# mkfs.ext4 /dev/rbd/testbench/image01
作为
root
,创建新目录:# mkdir /mnt/ceph-block-device
作为
root
,将块设备挂载到/mnt/ceph-block-device/
下:# mount /dev/rbd/testbench/image01 /mnt/ceph-block-device
针对块设备执行写入性能测试
# rbd bench-write image01 --pool=testbench
示例
bench-write io_size 4096 io_threads 16 bytes 1073741824 pattern seq SEC OPS OPS/SEC BYTES/SEC 2 11127 5479.59 22444382.79 3 11692 3901.91 15982220.33 4 12372 2953.34 12096895.42 5 12580 2300.05 9421008.60 6 13141 2101.80 8608975.15 7 13195 356.07 1458459.94 8 13820 390.35 1598876.60 9 14124 325.46 1333066.62 ..