第1章 Image サービス
本章では、Red Hat OpenStack Platform でイメージとストレージを管理するための手順を説明します。
仮想マシンのイメージとは、起動可能なオペレーティングシステムがインストールされた仮想ディスクを含むファイルです。仮想マシンのイメージは、複数の形式をサポートしています。以下は、Red Hat OpenStack Platform で利用可能な形式です。
-
RAW
: 非構造化のディスクイメージ形式 -
QCOW2
: QEMU エミュレーターでサポートされているディスク形式。この形式には、QEMU 1.1 以降が必要な QCOW2v3 (QCOW3 と呼ばれる場合があります) が含まれます。 -
ISO
: ディスク上のデータをセクター単位でコピーし、バイナリーファイルに格納した形式 -
AKI
: Amazon Kernel Image -
AMI
: Amazon Machine Image -
ARI
: Amazon RAMDisk Image -
VDI
: VirtualBox の仮想マシンモニターおよび QEMU エミュレーターでサポートされているディスク形式 -
VHD
: VMware、VirtualBox などの仮想マシンモニターで使用されている一般的なディスク形式 -
VMDK
: 数多くの一般的な仮想マシンモニターでサポートされているディスク形式
通常、仮想マシンイメージの形式に ISO
は考慮されませんが、ISO にはオペレーティングシステムがインストール済みのブート可能なファイルシステムが含まれているので、他の形式の仮想マシンイメージファイルと同様に扱うことができます。
公式の Red Hat Enterprise Linux クラウドイメージをダウンロードするには、お使いのアカウントに有効な Red Hat Enterprise Linux サブスクリプションが必要です。
カスタマーポータルにログインしていない場合には、Red Hat アカウントの認証情報を入力するように求められます。
1.1. Image サービスについての理解
OpenStack Image サービス (glance) は、以下のような注目すべき機能を提供しています。
1.1.1. イメージの署名および検証
イメージの署名および検証により、デプロイ担当者がイメージに署名して、その署名と公開鍵の証明書をイメージのプロパティーとして保存できるようにすることで、イメージの整合性と信頼性を保護します。
この機能を活用すると、以下が可能になります。
- 秘密鍵を使用してイメージに署名し、そのイメージ、署名、公開鍵の証明書 (検証メタデータ) への参照をアップロードすることができます。Image サービスは、署名が有効かどうかを検証します。
- Compute サービスでイメージを作成し、Compute サービスがそのイメージに署名し、イメージや検証メタデータをアップロードすることができます。Image サービスは、この場合も、署名が有効であるかどうかを検証します。
- Compute サービスで署名済みのイメージを要求することができます。Image サービスは、イメージと検証メタデータを提供します。これにより、Compute サービスはイメージを起動する前に検証することができます。
イメージの署名および検証に関する詳しい情報は、『 Manage Secrets with OpenStack Key Manager』 の「 Validate Glance images」の章を参照してください。
1.1.2. イメージの変換
イメージの変換は、イメージのインポート中にタスク API を呼び出して、イメージを変換します。
インポートのワークフローの一環として、プラグインがイメージの変換機能を提供します。このプラグインは、デプロイ担当者の設定に基づいて、アクティブ化/非アクティブ化することができます。そのため、デプロイ担当者は、デプロイメントに希望のイメージ形式を指定する必要があります。
内部では、Image サービスが特定の形式でイメージのビットを受信します。これらのビットは、一時的な場所に保管されます。次にプラグインが起動されて、イメージを対象のフォーマットに変換し、最終的な保管場所に移動します。タスクが終了すると、一時的な場所は削除されます。このため、Image サービスでは最初にアップロードした形式は保持されません。
イメージの変換についての詳細は、「イメージ変換の有効化」を参照してください。
イメージの変換は、イメージをインポートする時にだけトリガーされます。イメージのアップロード時には実行されません。以下に例を示します。
$ glance image-create-via-import \ --disk-format qcow2 \ --container-format bare \ --name NAME \ --visibility public \ --import-method web-download \ --uri http://server/image.qcow2
1.1.3. イメージのイントロスペクション
イメージ形式はすべて、イメージ自体の中にメタデータセットが埋め込まれた状態で提供されます。たとえば、ストリーム最適化 VMDK
には、以下のようなパラメーターが含まれます。
$ head -20 so-disk.vmdk # Disk DescriptorFile version=1 CID=d5a0bce5 parentCID=ffffffff createType="streamOptimized" # Extent description RDONLY 209714 SPARSE "generated-stream.vmdk" # The Disk Data Base #DDB ddb.adapterType = "buslogic" ddb.geometry.cylinders = "102" ddb.geometry.heads = "64" ddb.geometry.sectors = "32" ddb.virtualHWVersion = "4"
この vmdk をイントロスペクションすることにより、disk_type が streamOptimized で、adapter_type が buslogic であることを簡単に確認することができます。これらのメタデータパラメーターは、イメージのコンシューマーに役立ちます。Compute では、streamOptimized ディスクをインスタンス化するワークフローは、flat ディスクをインスタンス化するワークフローとは完全に異なります。この新機能により、メタデータの抽出が可能となります。イメージのイントロスペクションは、イメージのインポート中に、タスク API を呼び出すことによって実行できます。管理者は、メタデータの設定をオーバーライドすることができます。
1.1.4. 相互運用可能なイメージのインポート
OpenStack Image サービスでは、相互運用可能なイメージインポートワークフローを使用して、イメージをインポートするための 2 つの方法が提供されています。
-
URI からイメージをインポートする
web-download
(デフォルト) -
ローカルファイルシステムからインポートする
glance-direct
1.1.5. Image サービスのキャッシュ機能を使用したスケーラビリティーの向上
glance-api キャッシュメカニズムを使用して、ローカルマシンにイメージのコピーを保存し、イメージを自動的に取得してスケーラビリティーを向上させます。Image サービスのキャッシュ機能を使用することで、複数のホスト上で glance-api を実行することができます。つまり、同じイメージをバックエンドストレージから何度も取得する必要はありません。Image サービスのキャッシュ機能は、Image サービスの動作には一切影響を与えません。
TripleO heat テンプレートを使用して Image サービスのキャッシュ機能を設定するには、以下の手順を実施します。
手順
環境ファイルの
GlanceCacheEnabled
パラメーターの値をtrue
に設定します。これにより、glance-api.conf
Heat テンプレートのflavor
の値が自動的にkeystone+cachemanagement
に設定されます。parameter_defaults: GlanceCacheEnabled: true
-
オーバークラウドを再デプロイする際に、
openstack overcloud deploy
コマンドにその環境ファイルを追加します。