第2章 OpenStack Compute 用のストレージの設定
本章では、OpenStack Compute (nova) のイメージのバックエンドストレージのアーキテクチャーについて説明し、基本的な設定オプションを記載します。
2.1. アーキテクチャーの概要
Red Hat Enterprise Linux OpenStack Platform では、OpenStack Compute サービスは KVM ハイパーバイザーを使用してコンピュートのワークロードを実行します。libvirt
ドライバーが KVM とのすべての対話を処理し、仮想マシンが作成できるようにします。
コンピュートには、2 種類の libvirt
ストレージを考慮する必要があります。
- Image サービスのイメージのコピーをキャッシュ済み/フォーマット済みのベースイメージ
-
libvirt
ベースを使用して作成され、仮想マシンのインスタンスのバックエンドとなるインスタンスディスク。インスタンスディスクデータは、コンピュートの一時ストレージ (libvirt
ベースを使用) または永続ストレージ (例: Block Storage を使用) のいずれかに保存されます。
Compute は、以下の手順で仮想マシンのインスタンスを作成します。
-
Image サービスのバッキングイメージを
libvirt
ベースとしてキャッシュします。 - ベースイメージを Raw 形式に変換します (設定されている場合)。
- 仮想マシンのフレーバーの仕様に一致するようにベースイメージのサイズを調節します。
- ベースイメージを使用して libvirt インスタンスディスクを作成します。
上図では、#1 のインスタンスディスクは一時ストレージを使用し、#2 のディスクは Block Storage ボリュームを使用します。
一時ストレージとは、インスタンスで追加で利用可能な、フォーマットされていない空のディスクのことです。このストレージの値は、インスタンスのフレーバーにより定義されます。ユーザーが指定した値は、フレーバーで定義した一時ストレージの値以下でなければなりません。デフォルト値は 0
です。0 を指定すると、一時ストレージが作成されません。
一時ディスクは、外付けのハードドライブや USB ドライブと同じ方法で表示されます。一時ディスクはブロックデバイスとして利用でき、lsblk
コマンドを使用して確認することができます。ブロックデバイスとして通常使用するように、フォーマット、マウント、使用が可能です。アタッチ先のインスタンス以外では、このディスクの保存や参照をする方法はありません。
ブロックストレージボリュームは、実行中のインスタンスがどのような状態であっても、インスタンスを利用できる一時ストレージです。
2.2. 設定
libvirt
ベースとインスタンスディスクを処理するための Compute の設定により、お使いの環境のパフォーマンスとセキュリティー両方を決定することができます。パラメーターは、/etc/nova/nova.conf
ファイルで設定します。
セクション | パラメーター | 説明 | デフォルト |
---|---|---|---|
[DEFAULT] |
|
ベースを Raw に変換すると、ハイパーバイザーが直接使用可能なイメージの容量よりも、容量が多く使用されます (例: qcow2 イメージ)。I/O が遅いシステムまたは、空き容量が少ないシステムを使用している場合には、「false」を指定し、圧縮の際に高まる CPU に対する要求を軽減することで、入力の帯域幅を最小化します。
Raw ベースイメージは常に |
|
[DEFAULT] |
|
|
true |
[DEFAULT] |
|
CoW インスタンスディスクを使用しない場合でも、各仮想マシンが取得するコピーはスパースであるため、仮想マシンが ENOSPC でランタイムに予期せず失敗する可能性があります。インスタンスディスクに |
none |
[DEFAULT] |
|
ブロックデバイス (ブール型) を使用してイメージにアクセスすることで、ベースイメージのサイズを直接調節することができるかどうかを設定します。これは、(それ自体ではサイズ調節ができないため) このパラメーターにより、セキュリティーの関係上、無効にされる可能性のあるイメージを直接マウントできるため、デフォルトでは有効化されていません。 |
|
[DEFAULT] |
|
新規の一時ボリュームに使用されるデフォルトの形式。値は、 |
|
[DEFAULT] |
|
libvirt コンピュートノードにキャッシュするベースに影響を与える、イメージキャッシュマネージャーを次に実行するまでの待機時間 (秒数)。この時間は、未使用のキャッシュイメージを自動削除する際にも使用されます ( |
|
[DEFAULT] |
|
未使用のベースイメージを自動的に削除できるようにするかどうかを設定します ( |
|
[DEFAULT] |
|
未使用となったベースイメージが |
|
[ |
|
|
|