6 RADOS Block Deviceの管理 #
利用可能なすべてのRBD (RADOS Block Devices)を一覧にするには、メインメニューから
› をクリックします。このリストにはデバイスの概要が含まれます。たとえば、デバイス名、関連するプール名、ネームスペース、デバイスのサイズ、デバイスのオブジェクト数とオブジェクトサイズ、デバイスのプロビジョニングの詳細、親などです。
6.1 RBDに関する詳細の表示 #
デバイスに関する詳細情報を表示するには、テーブルでそのデバイスの行をクリックします。
6.2 RBDの設定の表示 #
デバイスの詳細な設定を表示するには、テーブルでそのデバイスの行をクリックし、続いてその下のテーブルで
タブをクリックします。6.3 RBDの作成 #
新しいデバイスを追加するには、テーブル見出しの左上の
をクリックして、 画面で次の操作を行います。新しいデバイスの名前を入力します。命名の制限については、2.11項 「名前の制限」を参照してください。
新しいRBDデバイスの作成元となる、
rbd
アプリケーションが割り当てられたプールを選択します。新しいデバイスのサイズを指定します。
デバイスの追加オプションを指定します。デバイスのパラメータを微調整するには、
をクリックし、オブジェクトサイズ、ストライプユニット、またはストライプ数の値を入力します。QoS (サービス品質)の制限を入力するには、 をクリックし、制限値を入力します。
6.4 RBDの削除 #
デバイスを削除するには、そのテーブル行を選択します。
ボタンの横にあるドロップダウン矢印をクリックして、 をクリックします。 をクリックして削除を確認します。RBDの削除は元に戻せないアクションです。代わりに
を実行すると、後でメインテーブルの タブでデバイスを選択し、テーブル見出しの左上の をクリックしてデバイスを復元できます。6.5 RADOS Block Deviceのスナップショットの作成 #
RADOS Block Deviceのスナップショットを作成するには、そのテーブル行を選択してください。設定内容ペインが表示されます。
タブを選択し、テーブル見出しの左上にある をクリックします。スナップショットの名前を入力し、 をクリックして確認します。スナップショットを選択した後で、デバイスの名前の変更、保護、複製、コピー、削除などの追加のアクションを実行できます。
は、現在のスナップショットからデバイスの状態を復元します。6.6 RBDミラーリング #
RADOS Block Deviceイメージを2つのCephクラスタ間で非同期にミラーリングできます。Cephダッシュボードを使用して、2つ以上のクラスタ間でRBDイメージを複製するよう設定できます。この機能には2つのモードがあります。
- ジャーナルベース
このモードは、RBDイメージのジャーナリング機能を使用して、クラスタ間でクラッシュコンシステントなレプリケーションを保証します。
- スナップショットベース
このモードでは、RBDイメージのミラースナップショットを使用して、クラッシュコンシステントなRBDイメージをクラスタ間で複製します。ミラースナップショットはスケジュールに沿って定期的に作成するか、手動で作成します。
ジャーナルベースのミラーリングだけを使用している場合、ミラーリングはピアクラスタ内のプールごとに設定されます。また、プール内の特定のイメージサブセットに設定することや、プール内のすべてのイメージを自動的にミラーリングするように設定することもできます。
ミラーリングは、SUSE Enterprise Storage 7.1にデフォルトでインストールされているrbd
コマンドを使用して設定されます。rbd-mirror
デーモンは、リモートのピアクラスタからイメージの更新をプルし、ローカルクラスタ内のイメージに適用します。6.6.2項 「rbd-mirror
デーモンの有効化」デーモンの有効化の詳細については、rbd-mirror
を参照してください。
レプリケーションに対する要望に応じて、RADOS Block Deviceのミラーリングは単方向レプリケーション用または双方向レプリケーション用に設定できます。
- 単方向レプリケーション
データがプライマリクラスタからセカンダリクラスタにミラーリングされるだけであれば、
rbd-mirror
デーモンはセカンダリクラスタ上でのみ実行されます。- 双方向レプリケーション
データが、あるクラスタのプライマリイメージから別のクラスタの非プライマリイメージにミラーリングされる場合(逆も同様)、
rbd-mirror
デーモンは両方のクラスタで実行されます。
rbd-mirror
デーモンの各インスタンスは、ローカルとリモート両方のCephクラスタを同時に接続できなければなりません。たとえば、すべてのMonitorホストとOSDホストを接続できる必要があります。さらに、ミラーリングのワークロードを扱うため、ネットワークの2つのデータセンター間には十分な帯域幅が必要です。
RADOS Block Deviceのミラーリングの一般情報とコマンドラインによるアプローチについては、20.4項 「RBDイメージのミラーリング」を参照してください。
6.6.1 プライマリクラスタとセカンダリクラスタの設定 #
「プライマリ」クラスタは、イメージを含む元のプールが作成される場所です。「セカンダリ」クラスタは、「プライマリ」クラスタからプールやイメージが複製される場所です。
「プライマリ」および「セカンダリ」という用語は、クラスタよりも個々のプールとの関連性が高いため、レプリケーションのコンテキストでは相対的に使用できます。たとえば、双方向レプリケーションにおいて、あるプールを「プライマリ」クラスタから「セカンダリ」クラスタにミラーリングし、別のプールを「セカンダリ」クラスタから「プライマリ」クラスタにミラーリングできます。
6.6.2 rbd-mirror
デーモンの有効化 #
次の手順では、rbd
コマンドを使用してミラーリングを設定するための基本的な管理タスクを実行する方法を説明します。ミラーリングは、Cephクラスタ内のプールごとに設定します。
プールの設定手順は、両方のピアクラスタで行う必要があります。これから説明する手順では、わかりやすくするため「プライマリ」および「セカンダリ」という名前の2つのクラスタが1つのホストからアクセス可能であることを想定しています。
rbd-mirror
デーモンは、クラスタデータの実際のレプリケーションを実行します。
ceph.conf
とキーリングファイルの名前を変更し、プライマリホストからセカンダリホストにコピーします。cephuser@secondary >
cp /etc/ceph/ceph.conf /etc/ceph/primary.confcephuser@secondary >
cp /etc/ceph/ceph.admin.client.keyring \ /etc/ceph/primary.client.admin.keyringcephuser@secondary >
scp PRIMARY_HOST:/etc/ceph/ceph.conf \ /etc/ceph/secondary.confcephuser@secondary >
scp PRIMARY_HOST:/etc/ceph/ceph.client.admin.keyring \ /etc/ceph/secondary.client.admin.keyringrbd
を使用してプールのミラーリングを有効にするには、mirror pool enable
、プール名、ミラーリングモードを指定します。cephuser@adm >
rbd mirror pool enable POOL_NAME MODE注記ミラーリングモードは
image
またはpool
を指定できます。以下に例を示します。cephuser@secondary >
rbd --cluster primary mirror pool enable image-pool imagecephuser@secondary >
rbd --cluster secondary mirror pool enable image-pool imageCephダッシュボードで
› に移動します。左側の テーブルに、アクティブに実行されているrbd-mirror
デーモンとそのヘルスが表示されます。図 6.6:rbd-mirror
デーモンの実行 #
6.6.3 ミラーリングの無効化 #
rbd
を使用してプールのミラーリングを無効化するには、mirror pool disable
コマンドとプール名を指定します。
cephuser@adm >
rbd mirror pool disable POOL_NAME
この方法でプールのミラーリングを無効にした場合、ミラーリングを明示的に有効にしたイメージ(プール内)のミラーリングも無効になります。
6.6.4 ピアのブートストラップ処理 #
rbd-mirror
がピアクラスタを発見するためには、ピアをプールに登録し、ユーザアカウントを作成する必要があります。このプロセスはrbd
コマンドとともにmirror pool peer bootstrap create
コマンドとmirror pool peer bootstrap import
コマンドを使用することで自動化できます。
rbd
を使用して新しいブートストラップトークンを手動で作成するには、mirror pool peer bootstrap create
コマンドとプール名に加えて、ローカルクラスタを記述するためにオプションのサイト名を指定します。
cephuser@adm >
rbd mirror pool peer bootstrap create [--site-name local-site-name] pool-name
mirror pool peer bootstrap create
コマンドの出力はトークンです。このトークンをmirror pool peer bootstrap import
コマンドに提供する必要があります。たとえば、プライマリクラスタで次のコマンドを実行します。
cephuser@adm >
rbd --cluster primary mirror pool peer bootstrap create --site-name primary
image-pool eyJmc2lkIjoiOWY1MjgyZGItYjg5OS00NTk2LTgwOTgtMzIwYzFmYzM5NmYzIiwiY2xpZW50X2lkIjoicmJkL \
W1pcnJvci1wZWVyIiwia2V5IjoiQVFBUnczOWQwdkhvQmhBQVlMM1I4RmR5dHNJQU50bkFTZ0lOTVE9PSIsIm1vbl9ob3N0I \
joiW3YyOjE5Mi4xNjguMS4zOjY4MjAsdjE6MTkyLjE2OC4xLjM6NjgyMV0ifQ==
rbd
コマンドを使用して別のクラスタが作成したブートストラップトークンを手動でインポートするには、次の項目を指定します。mirror pool peer bootstrap import
コマンド、プール名、作成されたトークンへのファイルパス(標準入力から読み込む場合は「-」)、および、オプションでローカルクラスタとミラーリング方向を記述するサイト名(デフォルトでは双方向ミラーリングを表すrx-tx
に設定されていますが、単方向ミラーリングを表すrx-only
にも設定できます)。
cephuser@adm >
rbd mirror pool peer bootstrap import [--site-name local-site-name] \
[--direction rx-only or rx-tx] pool-name token-path
たとえば、セカンダリクラスタで次のコマンドを実行します。
cephuser@adm >
cat >>EOF < token eyJmc2lkIjoiOWY1MjgyZGItYjg5OS00NTk2LTgwOTgtMzIwYzFmYzM5NmYzIiwiY2xpZW50X2lkIjoicmJkLW1pcn \ Jvci1wZWVyIiwia2V5IjoiQVFBUnczOWQwdkhvQmhBQVlMM1I4RmR5dHNJQU50bkFTZ0lOTVE9PSIsIm1vbl9ob3N0I \ joiW3YyOjE5Mi4xNjguMS4zOjY4MjAsdjE6MTkyLjE2OC4xLjM6NjgyMV0ifQ== EOFcephuser@adm >
rbd --cluster secondary mirror pool peer bootstrap import --site-name secondary image-pool token
6.6.5 クラスタピアの削除 #
rbd
コマンドを使用して、ミラーリングピアCephクラスタを削除するには、mirror pool peer remove
コマンド、プール名、ピアのUUIDを指定します(UUIDはrbd mirror pool info
コマンドにより取得できます)。
cephuser@adm >
rbd mirror pool peer remove pool-name peer-uuid
6.6.6 Cephダッシュボードによるプールのレプリケーション設定 #
RBDイメージをミラーリングできるようにするには、rbd-mirror
デーモンがプライマリクラスタへのアクセス権を持っている必要があります。作業を始める前に、6.6.4項 「ピアのブートストラップ処理」の手順に従って設定したかを確認してください。
「プライマリ」および「セカンダリ」クラスタの両方で同じ名前のプールを作成し、プールに
rbd
アプリケーションを割り当てます。新しいプールの作成の詳細については、5.1項 「新しいプールの追加」を参照してください。図 6.7: RBDアプリケーションを使用したプールの作成 #「プライマリ」および「セカンダリ」クラスタの両方のダッシュボードで、 › に移動します。右側の テーブルで、複製するプールの名前をクリックし、 をクリックした後で、レプリケーションモードを選択します。この例では、「プール」レプリケーションモードを使用します。つまり、指定したプール内のすべてのイメージが複製されます。 をクリックして確認します。
図 6.8: レプリケーションモードの設定 #重要: プライマリクラスタでのエラーまたは警告レプリケーションモードを更新すると、対応する右側の列にエラーまたは警告フラグが表示されます。これは、まだプールにレプリケーション用のピアユーザが割り当てられていないためです。ピアユーザは「セカンダリ」クラスタにのみ割り当てるので、「プライマリ」クラスタではこのフラグは無視してください。
「セカンダリ」クラスタのダッシュボードで、 › に移動します。 を選択してプールミラーピアを追加します。「プライマリ」クラスタの詳細を指定します。
図 6.9: ピア資格情報の追加 #プライマリクラスタを識別する任意の固有の文字列(「primary」など)。このクラスタ名は、実際のセカンダリクラスタの名前とは異なる必要があります。
ミラーリングピアとして作成したCephユーザID。この例では、「rbd-mirror-peer」です。
プライマリクラスタのCeph MonitorノードのIPアドレスをカンマ区切りリスト。
ピアユーザIDに関連したキー。このキーを取得するには、プライマリクラスタで次のサンプルコマンドを実行します。
cephuser@adm >
ceph auth print_key pool-mirror-peer-name
図 6.10: 複製されたプールのリスト #
6.6.7 RBDイメージレプリケーションが機能することの確認 #
rbd-mirror
デーモンが実行されていて、CephダッシュボードでRBDイメージレプリケーションが設定されている場合、ここで、レプリケーションが実際に機能するかどうかを確認します。
「プライマリ」クラスタのCephダッシュボードで、RBDイメージを作成し、その親プールが、レプリケーション用にすでに作成済みのプールになるようにします。イメージに対して[
排他ロック
]機能と[ジャーナリング
]機能を有効にします。RBDイメージの作成方法の詳細については、6.3項 「RBDの作成」を参照してください。図 6.11: 新しいRBDイメージ #複製するイメージを作成した後で、「セカンダリ」クラスタのCephダッシュボードを開き、 › に移動します。右側の テーブルは、 イメージの数の変更を反映し、 イメージの数を同期します。
図 6.12: 新しいRBDイメージの同期 #ヒント: レプリケーションの進行状況ページ下部の
テーブルには、RBDイメージのレプリケーションのステータスが表示されます。 タブには、考えられる問題が含まれており、 タブには、イメージのレプリケーションの進行状況が表示され、 タブには、レプリケーションが正常に完了したすべてのイメージが一覧にされます。図 6.13: RBDイメージのレプリケーションステータス #「プライマリ」クラスタで、データをRBDイメージに書き込みます。「セカンダリ」クラスタのCephダッシュボードで、 › に移動して、プライマリクラスタのデータが書き込まれるにつれて、対応するイメージのサイズが大きくなっているかどうかを監視します。
6.7 iSCSI Gatewayの管理 #
iSCSI Gatewayの全般的な情報については、第22章 「Ceph iSCSI Gateway」を参照してください。
利用可能なすべてのゲートウェイとマップ済みイメージを一覧にするには、メインメニューから
› をクリックします。 タブを開くと、現在設定されているiSCSI Gatewayとマップ済みのRBDイメージが一覧にされます。テーブルには、各ゲートウェイの状態、iSCSIターゲットの数、およびセッションの数が一覧にされます。 テーブルには、各マップ済みイメージの名前、関連するプール名のバックストアタイプ、および他の統計情報の詳細が一覧にされます。
タブには、現在設定されているiSCSIターゲットが一覧にされます。
ターゲットのより詳細な情報を表示するには、そのテーブル行のドロップダウン矢印をクリックしてください。ツリー構造のスキーマが開き、ディスク、ポータル、イニシエータ、およびグループが一覧にされます。項目をクリックして展開し、その詳細コンテンツを表示します。オプションで右側の表に関連する設定が表示されます。
6.7.1 iSCSIターゲットの追加 #
新しいiSCSIターゲットを追加するには、
テーブルの左上の をクリックして、必要な情報を入力します。新しいゲートウェイのターゲットアドレスを入力します。
認証を使用してゲートウェイにアクセスする必要がある場合は、
チェックボックスをオンにして資格情報を入力します。 および を有効にすると、より高度な認証オプションが表示されます。
6.7.2 iSCSIターゲットの編集 #
既存のiSCSIターゲットを編集するには、
テーブルでその行をクリックし、テーブルの左上の をクリックします。その後、iSCSIターゲットの追加、ポータルの追加または削除、および関連するRBDイメージの追加または削除を行うことができます。ゲートウェイの認証情報を調整することもできます。
6.7.3 iSCSIターゲットの削除 #
iSCSIターゲットを削除するには、テーブル行を選択してから
ボタンの隣にあるドロップダウン矢印をクリックして、 を選択します。 を有効にして、 をクリックして確認します。6.8 RBD QoS (サービス品質) #
RBD QoS設定オプションの全般的な情報と説明については、20.6項 「QoS設定」を参照してください。
QoSオプションは次の複数のレベルで設定できます。
グローバル
プールごと
イメージごと
「グローバル」の設定はリストの一番上にあり、新しく作成されたすべてのRBDイメージと、プールまたはRBDイメージ層でこれらの値を上書きしないイメージに使用されます。グローバルに指定されたオプション値をプールごとまたはイメージごとに上書きできます。プールに対して指定されたオプションは、そのプールのすべてのRBDイメージに適用されます。ただし、イメージに対して設定された設定オプションが優先される場合を除きます。イメージに対して指定されたオプションは、プールに対して指定されたオプションを上書きし、グローバルに指定されたオプションを上書きします。
このようにして、デフォルトをグローバルに定義して、特定のプールのすべてのRBDイメージに適合させ、個々のRBDイメージのプール設定を上書きできます。
6.8.1 オプションのグローバルな設定 #
RADOS Block Deviceをグローバルに設定するには、メインメニューから
› を選択してください。検索フィールドで
rbd_qos
をフィルタリングして、テーブルの結果をフィルタします。これにより、QoSで使用可能なすべての設定オプションが一覧にされます。値を変更するには、テーブルでその行をクリックし、テーブルの左上の
を選択します。 ダイアログには、値を指定するための6つの異なるフィールドが含まれます。 テキストボックスには、RBD設定オプションの値を入力する必要があります。注記他のダイアログとは異なり、このダイアログでは接頭辞付きの単位で値を指定できません。編集するオプションによっては、バイトまたはIOPSのいずれかでこれらの値を設定する必要があります。
6.8.2 新しいプールでのオプションの設定 #
新しいプールを作成し、そのプールにRBD設定オプションを設定するには、rbd
アプリケーションタグを追加する必要があります。
イレージャコーディングプールにRBD QoS設定オプションを設定することはできません。イレージャコーディングプールにRBD QoSオプションを設定するには、RBDイメージの複製されたメタデータプールを編集する必要があります。これにより、そのイメージのイレージャコーディングデータプールに設定が適用されます。
6.8.3 既存のプールでのオプションの設定 #
既存のプールにRBD QoSオプションを設定するには、
をクリックし、プールのテーブル行をクリックして、テーブルの左上の を選択します。ダイアログに
セクションが表示され、その後に セクションが表示されます。「イレージャコーディング」プールを編集しているか、RBDイメージで使用するようにプールが設定されていない可能性があります。後者の場合は、 アプリケーションタグをプールに割り当てます。これにより、対応する設定セクションが表示されます。
セクションも セクションも表示されない場合は、RBD設定オプションの設定に使用できない6.8.4 設定オプション #
設定オプションを展開するには、
をクリックします。使用可能なすべてのオプションのリストが表示されます。設定オプションの単位は、テキストボックスにすでに表示されています。BPS (1秒あたりのバイト数)オプションの場合は、「1M」や「5G」などのショートカットを自由に使用できます。これらはそれぞれ自動的に「1 MB/秒」と「5 GB/秒」に変換されます。各テキストボックスの右にあるリセットボタンをクリックすると、プールに設定されている値が削除されます。グローバルに設定されたオプションやRBDイメージに設定されたオプションの設定値は削除されません。
6.8.5 新しいRBDイメージを使用したRBD QoSオプションの作成 #
イメージにRBD QoSオプションが設定された状態でRBDイメージを作成するには、
› を選択し、 をクリックします。詳細設定セクションを展開するには、 をクリックします。使用可能なすべての設定オプションを開くには、 をクリックします。6.8.6 既存のイメージでのRBD QoSの編集 #
既存のイメージでRBD QoSオプションを編集するには、
› を選択し、プールのテーブル行をクリックして、最後に をクリックします。編集ダイアログが表示されます。詳細設定セクションを展開するには、 をクリックします。使用可能なすべての設定オプションを開くには、 をクリックします。6.8.7 イメージをコピーまたは複製する際の設定オプションの変更 #
RBDイメージを複製またはコピーする場合、デフォルトでは、その特定のイメージに設定された値もコピーされます。コピーまたは複製時にRBDイメージを変更する場合は、RBDイメージを作成または編集する場合と同様に、コピー/複製ダイアログで、更新された設定値を指定できます。この場合、コピーまたは複製するRBDイメージの値のみが設定(またはリセット)されます。この操作では、ソースRBDイメージの設定もグローバル設定も変更されません。
コピー/複製時にオプションの値をリセットすることを選択した場合、そのオプションの値は、そのイメージに設定されません。つまり、親プールに値が設定されている場合、親プールに指定されたそのオプションの値が使用されます。親プールに値が設定されていない場合は、グローバルなデフォルトが使用されます。