2.13. rbdmap サービス

systemd ユニットファイル、rbdmap.service は、ceph-common パッケージに含まれています。rbdmap.service ユニットは、rbdmap シェルスクリプトを実行します。

このスクリプトは、1 つ以上の RBD イメージの RADOS Block Device (RBD) のマッピングと解除を自動化しています。スクリプトはいつでも手動で実行できますが、通常のユースケースでは、システムの起動時に RBD イメージを自動的にマウントし、シャットダウン時にアンマウントします。スクリプトでは、RBD イメージをマウントする map またはマウントを解除する unmap のいずれか 1 つの引数を使用できます。。スクリプトは設定ファイルを解析します。デフォルトは /etc/ceph/rbdmap ですが、RBDMAPFILE という環境変数を使用して上書きできます。設定ファイルの各行は RBD イメージに対応します。

設定ファイルの形式は以下のようになります。

IMAGE_SPEC RBD_OPTS

ここで、IMAGE_SPECPOOL_NAME / IMAGE_NAME、または IMAGE_NAME だけを指定します。IMAGE_NAME だけを指定する場合は、POOL_NAMErbd に設定されます。RBD_OPTS は、基礎となる rbd map コマンドに渡すオプションの一覧です。以下のパラメーターとその値は、コンマ区切りの文字列で指定する必要があります。

OPT1=VAL1,OPT2=VAL2,…​,OPT_N=VAL_N

これにより、スクリプトは以下のような rbd map コマンドを実行します。

rbd map POOLNAME/IMAGE_NAME --OPT1 VAL1 --OPT2 VAL2

注記

コンマまたは等価記号など、オプションおよび値の場合には、これらの値が置き換えられないように、単純にアポストロフィーを使用することができます。

成功すると、rbd map の操作はイメージを /dev/rbd/rbdX デバイスにマッピングします。この時点で、udev ルールがトリガーされ、分かりやすいデバイス名のシンボリックリンク (例: /dev/rbd/POOL_NAME/IMAGE_NAME) を作成し、実際のマップされたデバイスを参照します。マウントまたはマウント解除を行うには、わかりやすいデバイス名に対応するエントリーを /etc/fstab ファイルに指定する必要があります。RBD イメージの /etc/fstab エントリーを作成する場合は、noauto または nofail マウントオプションを指定することが推奨されます。これにより、init システムが、デバイスの作成前に、先にマウントするのを防ぎます。

関連情報

  • 使用可能なオプションの全リストは、rbd の man ページを参照してください。