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 Block Device Guide』の「Block Device Commands」セクションを参照してください。
Ceph ブロックデバイスの作成
rbdカーネルモジュールをロードしていない場合はrootとしてロードします。modprobe rbd
# modprobe rbdCopy to Clipboard Copied! Toggle word wrap Toggle overflow rootとしてtestbenchプールに 1 GB のrbdイメージファイルを作成します。rbd create image01 --size 1024 --pool testbench
# rbd create image01 --size 1024 --pool testbenchCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ブロックデバイスイメージの作成時には、
layering、object-map、deep-flatten、journaling、exclusive-lock、およびfast-diff機能はデフォルトで有効になります。Red Hat Enterprise Linux 7.2 および Ubuntu 16.04 では、カーネル RBD クライアントを使用するユーザーはブロックデバイスイメージをマッピングできなくなります。最初に、
layering以外のこれらの機能をすべて無効にする必要があります。構文
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 journaling deep-flatten exclusive-lock fast-diff object-map
# rbd feature disable image1 journaling deep-flatten exclusive-lock fast-diff object-mapCopy to Clipboard Copied! Toggle word wrap Toggle overflow rbd createコマンドで--image-feature layeringオプションを使用すると 、新規に作成されるブロックデバイスイメージのlayeringのみが有効になります。詳細は Red Hat Ceph Storage 3.3『Release Notes』を参照してください。
これらの機能はすべて、ユーザー空間 RBD クライアントを使用してブロックデバイスイメージにアクセスするユーザーに対して機能します。
rootとして、イメージファイルをデバイスファイルにマッピングします。rbd map image01 --pool testbench --name client.admin
# rbd map image01 --pool testbench --name client.adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow rootとして、ブロックデバイスにext4ファイルシステムを作成します。mkfs.ext4 /dev/rbd/testbench/image01
# mkfs.ext4 /dev/rbd/testbench/image01Copy to Clipboard Copied! Toggle word wrap Toggle overflow rootとして、新しいディレクトリーを作成します。mkdir /mnt/ceph-block-device
# mkdir /mnt/ceph-block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow rootとして、ブロックデバイスを/mnt/ceph-block-device/にマウントします。mount /dev/rbd/testbench/image01 /mnt/ceph-block-device
# mount /dev/rbd/testbench/image01 /mnt/ceph-block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ブロックデバイスに対して書き込みパフォーマンスのテストを実行します。
rbd bench-write image01 --pool=testbench
# rbd bench-write image01 --pool=testbench
例