1.2. サポート対象の Image サービスバックエンド
以下に示す Image サービス (glance) バックエンドのシナリオがサポートされます。
- Ceph を使用する場合には、RBD がデフォルトのバックエンドです。
- RBD マルチストア。
- Object Storage (swift)。Image サービスは、Object Storage のタイプとバックエンドをデフォルトとして使用します。
- Block Storage (cinder)。各イメージはボリューム(イメージボリューム)として保存されます。デフォルトでは、ユーザーがボリュームベースのイメージから複数のインスタンスまたはボリュームを作成することはできません。ただし、Image サービスと Block Storage バックエンドの両方を設定することが可能です。詳細は、ボリューム ベースのイメージからの複数インスタンスまたはボリュームの作成の有効化 を 参照してください。
NFS
- Important
NFS はサポート対象の Image サービス用デプロイメントオプションですが、より堅牢なオプションを利用することができます。
NFS は Image サービスネイティブではありません。NFS 共有を Image サービスにマウントした場合、Image サービスは操作を管理しません。Image サービスはファイルシステムにデータを書き込みますが、バックエンドが NFS 共有であることを認識しません。
この種別のデプロイメントでは、ファイル共有に異常が発生しても、Image サービスは要求をリトライすることができません。つまり、バックエンドで障害が発生した場合、ストアは読み取り専用モードに移行するか、ローカルファイルシステムにデータの書き込みを続けます。この場合、データを損失する可能性があります。この状況から回復するには、ファイル共有がマウントされ同期されている状態にし、続いて Image サービスを再起動する必要があります。このような理由により、Red Hat では、Image サービスのバックエンドとして NFS を推奨しません。
ただし、Image サービスのバックエンドに NFS を使用することを選択した場合には、以下のベストプラクティスがリスクを軽減するのに役立ちます。
- 信頼性の高い実稼働環境グレードの NFS バックエンドを使用する。
- コントローラーノードと NFS バックエンドの間に強力で信頼性の高い接続があることを確認してください。レイヤー 2 (L2) ネットワーク接続が推奨されます。
- マウントされたファイル共有のモニタリングおよびアラート機能を追加する。
- 基になるファイルシステムのアクセス許可を設定します。書き込み権限は、ストアとして使用する共有ファイルシステムに設定する必要があります。
- glance-api プロセスが実行されるユーザーおよびグループが、ローカルファイルシステムのマウントポイントに対する書き込み権限を持たないようにしてください。これにより、プロセスはマウントの異常を検出して、書き込みを試みる際にストアを読み取り専用モードに移行することができます。
1.2.1. ボリュームを基盤とするイメージから複数のインスタンスまたはボリュームを作成可能にする リンクのコピーリンクがクリップボードにコピーされました!
Block Storage サービス (cinder) を Image サービス (glance) のバックエンドとして使用する場合、各イメージを、glance ユーザーが所有する Block Storage サービスプロジェクトにボリューム (イメージボリューム) として保存するのが理想的です。
ユーザーがボリュームを基盤とするイメージから複数のインスタンスまたはボリュームを作成する場合、Image サービスのホストをイメージボリュームにアタッチして、データを複数回コピーする必要があります。しかし、これによりパフォーマンスの問題が発生し、一部のインスタンスまたはボリュームが作成されなくなります。デフォルトでは、Block Storage ボリュームを同じホストに複数回アタッチできないためです。ただし、ほとんどの Block Storage バックエンドは、ボリュームのマルチアタッチプロパティーをサポートしています。このプロパティーを使用すると、ボリュームを同じホストに複数回アタッチできます。したがって、このマルチアタッチプロパティーを有効にする Image サービスバックエンドの Block Storage ボリュームタイプを作成し、このマルチアタッチボリュームタイプを使用するように Image サービスを設定することで、このようなパフォーマンスの問題を防ぐことができます。
デフォルトでは、Block Storage プロジェクト管理者だけがボリュームタイプを作成できます。
手順
source コマンドでオーバークラウドの認証情報ファイルを読み込みます。
$ source ~/<credentials_file>-
<credentials_file>を認証情報ファイルの名前 (overcloudrcなど) に置き換えます。
-
次のように、マルチアタッチプロパティーを有効にする Image サービスバックエンドの Block Storage ボリュームタイプを作成します。
$ cinder type-create glance-multiattach $ cinder type-key glance-multiattach set multiattach="<is> True"このボリュームタイプにバックエンドを指定しない場合、Block Storage スケジューラーサービスが各イメージボリュームの作成時に使用するバックエンドを決定するため、イメージボリュームが別々のバックエンドに保存される可能性があります。このボリュームタイプに
volume_backend_nameプロパティーを追加することで、バックエンドの名前を指定できます。マルチアタッチボリュームタイプの正しいvolume_backend_nameについては、Block Storage 管理者に問い合わせる必要がある場合があります。この例では、バックエンド名としてiscsiを使用しています。$ cinder type-key glance-multiattach set volume_backend_name=iscsi-
Image サービスがこの Block Storage のマルチ接続ボリューム種別を使用するように設定するには、
glance-api.confファイルの [default_backend]' セクションの最後に以下のパラメーターを追加する必要があります:cinder_volume_type = glance-multiattach