イメージの作成および管理
Red Hat OpenStack Platform で Image サービス (glance) を使用してイメージを作成および管理する
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があればお知らせください。
Jira でドキュメントのフィードバックを提供する
問題の作成 フォームを使用して、Red Hat OpenStack Services on OpenShift (RHOSO) または Red Hat OpenStack Platform (RHOSP) の以前のリリースのドキュメントに関するフィードバックを提供します。RHOSO または RHOSP ドキュメントの問題を作成すると、その問題は RHOSO Jira プロジェクトに記録され、フィードバックの進行状況を追跡できるようになります。
問題の作成 フォームを完了するには、Jira にログインしていることを確認してください。Red Hat Jira アカウントをお持ちでない場合は、https://issues.redhat.com でアカウントを作成できます。
- 次のリンクをクリックして、問題の作成 ページを開きます (問題の作成)。
- Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
- Create をクリックします。
第1章 Image サービス (glance) リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) は、ディスクおよびサーバーイメージの検出、登録、および配信のサービスを提供します。サーバーイメージのコピーやスナップショットを作成して直ちに保管する機能を提供します。保管したイメージをテンプレートとして使用し、新規サーバーを迅速に稼働させることができます。これはサーバーのオペレーティングシステムをインストールしてサービスを個別に設定するよりも一貫性の高い方法です。
1.1. 仮想マシンイメージの形式 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシン (VM) イメージは、起動可能な OS がインストールされた仮想ディスクを含むファイルです。Red Hat OpenStack Platform (RHOSP) は、さまざまな形式の仮想マシンイメージをサポートします。
仮想マシンイメージのディスク形式は、基になっているディスクイメージの形式です。コンテナー形式は、仮想マシンに関するメタデータも含んでいるファイル形式の仮想マシンイメージかどうかを示します。
Image サービス (glance) にイメージを追加するときに、glance image-create、glance image-create-via-import、および glance image-update コマンドで --disk-format および --container-format コマンドオプションを使用すると、イメージのディスク形式またはコンテナー形式を次の表のいずれかの値に設定できます。仮想マシンイメージのコンテナー形式が不明な場合は、bare に設定できます。
| 形式 | 説明 |
|---|---|
|
| Image サービスに保存されている Amazon カーネルイメージを示します。 |
|
| Image サービスに保存されている Amazon マシンイメージを示します。 |
|
| Image サービスに保存されている Amazon RAM ディスクイメージを示します。 |
|
| ディスク上のデータをセクター単位でコピーし、バイナリーファイルに格納した形式。通常、ISO ファイルは仮想マシンイメージの形式とはみなされませんが、ISO ファイルにはオペレーティングシステムがインストールされた起動可能なファイルシステムが含まれており、ISO ファイルは他の仮想マシンイメージファイルと同じように使用されます。 |
|
| Virtuozzo が OS コンテナーを実行するためにサポートおよび使用するディスク形式。 |
|
| QEMU エミュレーターでサポートされています。この形式には、QEMU 1.1 以降が必要な QCOW2v3 (QCOW3 と呼ばれる場合があります) が含まれます。 |
|
| 構造化されていないディスクイメージ形式。 |
|
| VirtualBox 仮想マシンモニターと QEMU エミュレーターでサポートされています。 |
|
| 仮想ハードディスク。VMware、VirtualBox などの仮想マシンモニターによって使用されます。 |
|
| 仮想ハードディスク v2。VHD よりも大きな記憶容量を持つディスクイメージ形式。 |
|
| 仮想マシンディスク。前回のバックアップ時からのデータ変更の増分バックアップを可能にするディスクイメージ形式。 |
| 形式 | 説明 |
|---|---|
|
| Image サービスに保存されている Amazon カーネルイメージを示します。 |
|
| Image サービスに保存されている Amazon マシンイメージを示します。 |
|
| Image サービスに保存されている Amazon RAM ディスクイメージを示します。 |
|
| コンテナーやメタデータエンベロープがイメージに存在しないことを示します。 |
|
| Image サービスに保存されている Docker コンテナーのファイルシステムの TAR アーカイブを示します。 |
|
| Image サービスに保存されている Open Virtual Appliance (OVA) TAR アーカイブファイルを示します。このファイルは、Open Virtualization Format (OVF) コンテナーファイルに保存されます。 |
|
| OVF コンテナーファイル形式。仮想アプライアンスまたは仮想マシン上で実行されるソフトウェアをパッケージ化して配布するためのオープン標準。 |
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>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<credentials_file>を認証情報ファイルの名前 (overcloudrcなど) に置き換えます。
-
次のように、マルチアタッチプロパティーを有効にする Image サービスバックエンドの Block Storage ボリュームタイプを作成します。
cinder type-create glance-multiattach cinder type-key glance-multiattach set multiattach="<is> True"
$ cinder type-create glance-multiattach $ cinder type-key glance-multiattach set multiattach="<is> True"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このボリュームタイプにバックエンドを指定しない場合、Block Storage スケジューラーサービスが各イメージボリュームの作成時に使用するバックエンドを決定するため、イメージボリュームが別々のバックエンドに保存される可能性があります。このボリュームタイプに
volume_backend_nameプロパティーを追加することで、バックエンドの名前を指定できます。マルチアタッチボリュームタイプの正しいvolume_backend_nameについては、Block Storage 管理者に問い合わせる必要がある場合があります。この例では、バックエンド名としてiscsiを使用しています。cinder type-key glance-multiattach set volume_backend_name=iscsi
$ cinder type-key glance-multiattach set volume_backend_name=iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Image サービスがこの Block Storage のマルチ接続ボリューム種別を使用するように設定するには、
glance-api.confファイルの [default_backend]' セクションの最後に以下のパラメーターを追加する必要があります:cinder_volume_type = glance-multiattach
1.3. イメージの署名および検証 リンクのコピーリンクがクリップボードにコピーされました!
イメージの署名および検証により、デプロイ担当者がイメージに署名して、その署名と公開鍵の証明書をイメージの属性として保存できるようにすることで、イメージの整合性と信頼性を保護します。
Nova が RADOS Block Device (RBD) を使用して仮想マシンディスクを格納している場合、イメージの署名と検証はサポートされません。
イメージの署名と検証の詳細は、Key Manager サービスによるシークレットの管理 ガイドの Image サービス (グランス) イメージの検証 を参照してください。
1.4. イメージ形式の変換 リンクのコピーリンクがクリップボードにコピーされました!
イメージを Image サービス (glance) にインポートする場合、イメージ変換プラグインを有効にするとイメージを別の形式に変換できます。
Red Hat OpenStack Platform (RHOSP) デプロイメント設定に基づき、イメージ変換プラグインを有効化または無効化できます。デプロイ担当者は、デプロイメントで優先的に使用する形式を設定します。
内部的には、Image サービスはイメージのビットを特定の形式で受け取り、そのビットを一時的な場所に保存します。Image サービスはプラグインをトリガーして、イメージをターゲット形式に変換し、イメージを最終的な宛先に移動します。タスクが完了すると、Image サービスは一時的な場所を削除します。Image サービスは、最初にアップロードされた形式を保持しません。
イメージのインポート時にのみ、イメージ変換をトリガーできます。イメージのアップロード時には実行されません。
イメージ管理には Image service コマンドラインクライアントを使用します。
以下に例を示します。
-
<name>をイメージの名前に置き換えます。
1.5. Image サービスのキャッシュ機能を使用したスケーラビリティーの向上 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) キャッシュメカニズムを使用して、Image サービス API サーバーにイメージのコピーを保存し、それらを自動的に取得してスケーラビリティーを向上させます。Image サービスキャッシュを使用すると、複数のホストで glance-api を実行できます。つまり、同じイメージをバックエンドストレージから何度も取得する必要はありません。Image サービスのキャッシュ機能は、Image サービスの動作には一切影響を与えません。
Red Hat OpenStack Platform director (tripleo) heat テンプレートを使用して、Image サービスのキャッシュ機能を設定します。
手順
環境ファイルの
GlanceCacheEnabledパラメーターの値をtrueに設定します。これにより、glance-api.confHeat テンプレートのflavorの値が自動的にkeystone+cachemanagementに設定されます。parameter_defaults: GlanceCacheEnabled: trueparameter_defaults: GlanceCacheEnabled: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
オーバークラウドを再デプロイする際に、
openstack overcloud deployコマンドにその環境ファイルを追加します。 オプション: オーバークラウドを再デプロイする際に、
glance_cache_prunerを異なる頻度に調節します。5 分間の頻度の例を以下に示します。parameter_defaults: ControllerExtraConfig: glance::cache::pruner::minute: '*/5'parameter_defaults: ControllerExtraConfig: glance::cache::pruner::minute: '*/5'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムを使い果たす状況を回避するために、ご自分のニーズに合わせて頻度を調節します。異なる頻度を選択する場合は、以下の要素を考慮に入れます。
- 実際の環境でキャッシュするファイルのサイズ
- 利用可能なファイルシステムの容量
- 環境がイメージをキャッシュする頻度
1.6. イメージの事前キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) director を使用して、glance-api サービスの一部としてイメージを事前にキャッシュできます。
イメージ管理には Image service (glance) コマンドラインクライアントを使用します。
1.6.1. 定期的にイメージを事前キャッシュする際のデフォルト間隔の設定 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) の事前キャッシュを行う定期ジョブは、glance-api サービスが実行されている各コントローラーノード上で 300 秒 (デフォルトで 5 分) ごとに実行されます。デフォルト時間を変更するには、glance-api.conf 環境ファイルの Default セクションで、cache_prefetcher_interval パラメーターを設定します。
手順
アンダークラウドの環境ファイルの
ExtraConfigパラメーターを使用して、実際の要件に応じて新しい間隔を追加します。parameter_defaults: ControllerExtraConfig: glance::config::glance_api_config: DEFAULT/cache_prefetcher_interval: value: '<300>'parameter_defaults: ControllerExtraConfig: glance::config::glance_api_config: DEFAULT/cache_prefetcher_interval: value: '<300>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<300>を、イメージを事前キャッシュする間隔 (秒数) に置き換えてください。
-
/home/stack/templates/の環境ファイルで間隔を修正したら、stackユーザーとしてログインして設定をデプロイします。openstack overcloud deploy --templates \ -e /home/stack/templates/<env_file>.yaml
$ openstack overcloud deploy --templates \ -e /home/stack/templates/<env_file>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow <env_file> は、追加した
ExtraConfig設定が含まれる環境ファイルの名前に置き換えてください。重要オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで
-eオプションを使用して環境ファイルを再度渡します。
関連情報
openstack overcloud deploy コマンドの詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの Deployment コマンド を参照してください。
1.6.2. イメージの事前キャッシュを行う定期ジョブを使用するための準備 リンクのコピーリンクがクリップボードにコピーされました!
定期的なジョブを使用してイメージを事前キャッシュするには、glance_api サービスを実行しているノードに直接接続された glance-cache-manage コマンドを使用する必要があります。サービスの要求に応答するノードを非表示にするプロキシーは使用しないでください。アンダークラウドは glance_api サービスを実行しているネットワークにアクセスできない可能性があるため、最初のオーバークラウドノード (デフォルトでは controller-0 という名前です) でコマンドを実行します。
前提条件として以下の手順を実施して、正しいホストからコマンドが実行され、必要な認証情報が設定されるようにします。また、glance-api コンテナー内から glance-cache-manage コマンドが実行されるようにします。
手順
アンダークラウドに stack ユーザーとしてログインし、
controller-0のプロビジョニング IP アドレスを特定します。openstack server list -f value -c Name -c Networks | grep controller overcloud-controller-1 ctlplane=192.168.24.40 overcloud-controller-2 ctlplane=192.168.24.13 overcloud-controller-0 ctlplane=192.168.24.71
(undercloud) [stack@site-undercloud-0 ~]$ openstack server list -f value -c Name -c Networks | grep controller overcloud-controller-1 ctlplane=192.168.24.40 overcloud-controller-2 ctlplane=192.168.24.13 overcloud-controller-0 ctlplane=192.168.24.71 (undercloud) [stack@site-undercloud-0 ~]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow オーバークラウドに対して認証するには、
/home/stack/overcloudrc(デフォルト) に保存されている認証情報をcontroller-0にコピーします。scp ~/overcloudrc tripleo-admin@192.168.24.71:/home/tripleo-admin/
$ scp ~/overcloudrc tripleo-admin@192.168.24.71:/home/tripleo-admin/Copy to Clipboard Copied! Toggle word wrap Toggle overflow controller-0に接続します。ssh tripleo-admin@192.168.24.71
$ ssh tripleo-admin@192.168.24.71Copy to Clipboard Copied! Toggle word wrap Toggle overflow controller-0でtripleo-adminユーザーとして、glance_api サービスの IP アドレスを特定します。以下の例では、IP アドレスは172.25.1.105です。grep -A 10 '^listen glance_api' /var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg listen glance_api server central-controller0-0.internalapi.redhat.local 172.25.1.105:9292 check fall 5 inter 2000 rise 2
(overcloud) [root@controller-0 ~]# grep -A 10 '^listen glance_api' /var/lib/config-data/puppet-generated/haproxy/etc/haproxy/haproxy.cfg listen glance_api server central-controller0-0.internalapi.redhat.local 172.25.1.105:9292 check fall 5 inter 2000 rise 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance-cache-manageコマンドはglance_apiコンテナーでしか利用できないため、そのコンテナーに対して実行するスクリプトを作成します。このコンテナーには、オーバークラウドに対して認証するための環境変数がすでに設定されています。controller-0の/home/tripleo-adminに、以下の内容でスクリプトglance_pod.shを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow source コマンドで
overcloudrcファイルを読み込み、glance_pod.shスクリプトを実行して、オーバークラウドのコントローラーノードに対して認証するのに必要な環境変数が設定されているglance_apiコンテナーに対して実行します。source overcloudrc (overcloudrc) [tripleo-admin@central-controller-0 ~]$ bash glance_pod.sh ()[glance@controller-0 /]$
[tripleo-admin@controller-0 ~]$ source overcloudrc (overcloudrc) [tripleo-admin@central-controller-0 ~]$ bash glance_pod.sh ()[glance@controller-0 /]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance image-list等のコマンドを使用して、コンテナーでオーバークラウドに対して認証されたコマンドを実行できることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.3. 定期的なジョブを使用したイメージの事前キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
「イメージの事前キャッシュを行う定期ジョブを使用するための準備」 で説明されている事前の手順が完了したら、定期ジョブを使用してイメージを事前キャッシュできます。
手順
管理ユーザーとして、キャッシュするイメージをキューに追加します。
glance-cache-manage --host=<host_ip> queue-image <image_id>
$ glance-cache-manage --host=<host_ip> queue-image <image_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<host_ip> を
glance-apiコンテナーが実行されているコントローラーノードの IP アドレスに置き換えます。 <image_id> をキューに追加するイメージの ID に置き換えます。
事前にキャッシュするイメージをキューに追加すると、
cache_images定期ジョブはキューに追加されたすべてのイメージを同時に事前取得します。注記イメージキャッシュは各ノードにローカルであるため、Red Hat OpenStack Platform (RHOSP) デプロイメントが 3、5、または 7 台のコントローラーを備えた HA の場合、
glance-cache-manageコマンドを実行する際に--hostオプションでホストのアドレスを指定する必要があります。
-
<host_ip> を
以下のコマンドを実行して、イメージキャッシュ内のイメージを表示します。
glance-cache-manage --host=<host_ip> list-cached
$ glance-cache-manage --host=<host_ip> list-cachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - <host_ip> を環境内のホストの IP アドレスに置き換えてください。
1.6.4. イメージキャッシュのコマンドオプション リンクのコピーリンクがクリップボードにコピーされました!
次の glance-cache-manage コマンドオプションを使用して、イメージをキャッシュ用のキューに追加し、キャッシュされたイメージを管理できます。
-
list-cached: 現在キャッシュされているすべてのイメージをリスト表示する。 -
list-queued: キャッシュするために現在キューに追加されているすべてのイメージをリスト表示する。 -
queue-image: キャッシュするためにイメージをキューに追加する。 -
delete-cached-image: キャッシュからイメージを削除する。 -
delete-all-cached-images: キャッシュからすべてのイメージを削除する。 -
delete-queued-image: キャッシュのキューからイメージを削除する。 -
delete-all-queued-images: キャッシュのキューからすべてのイメージを削除する。
1.7. Image サービス API を使用したスパースイメージのアップロードの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) API を使用すると、スパースイメージのアップロードを使用して、ネットワークトラフィックを削減し、ストレージスペースを節約できます。この機能は、分散コンピュートノード (DCN) 環境で特に便利です。スパースイメージファイルの場合、Image サービスは null バイトシーケンスを書き込みません。Image サービスは、指定されたオフセットでデータを書き込みます。ストレージバックエンドは、これらのオフセットを、実際にはストレージスペースを消費しない null バイトとして解釈します。
イメージ管理には Image service コマンドラインクライアントを使用します。
制限事項
- スパースイメージのアップロードは、Ceph RADOS Block Device (RBD) でのみサポートされます。
- スパースイメージのアップロードは、ファイルシステムではサポートされません。
- スパース性は、クライアントと Image サービス API 間の転送中は維持されません。イメージは、Image サービス API レベルでスパース化されます。
前提条件
- Red Hat OpenStack Platform (RHOSP) デプロイメントで、Image サービスのバックエンドに RBD を使用している。
手順
-
アンダークラウドノードに
stackユーザーとしてログインします。 source コマンドで
stackrc認証情報ファイルを読み込みます。source stackrc
$ source stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で環境ファイルを作成します。
parameter_defaults: GlanceSparseUploadEnabled: trueparameter_defaults: GlanceSparseUploadEnabled: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow その他の環境ファイルと共に新しい環境ファイルをスタックに追加して、オーバークラウドをデプロイします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
イメージのアップロードの詳細は、Image サービスにイメージをアップロードする を参照してください。
検証
イメージをインポートしてそのサイズを確認し、スパースイメージのアップロードを検証することができます。
次の手順では、コマンド例を使用します。必要に応じて、値をご使用の環境の値に置き換えてください。
イメージファイルをローカルにダウンロードします。
wget <file_location>/<file_name>
$ wget <file_location>/<file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<file_location>をファイルの場所に置き換えます。 <file_name>は、ファイルの名前に置き換えます。以下に例を示します。
wget https://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud-1508.qcow2
$ wget https://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud-1508.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
アップロードするイメージのディスクサイズと仮想サイズを確認します。
qemu-img info <file_name>
$ qemu-img info <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージをインポートします。
glance image-create-via-import --disk-format qcow2 --container-format bare --name centos_1 --file <file_name>
$ glance image-create-via-import --disk-format qcow2 --container-format bare --name centos_1 --file <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - イメージ ID を記録します。後続のステップで必要になります。
イメージがインポートされ、アクティブ状態にあることを確認します。
glance image show <image_id>
$ glance image show <image_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Storage ノードから、イメージのサイズが、ステップ 1 出力の仮想サイズよりも小さいことを確認します。
sudo rbd -p images diff <image_id> | awk '{ SUM += $2 } END { print SUM/1024/1024/1024 " GB" }' 1.03906 GB$ sudo rbd -p images diff <image_id> | awk '{ SUM += $2 } END { print SUM/1024/1024/1024 " GB" }' 1.03906 GBCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:コントローラーノードの Image サービス設定ファイルで
rbd_thin_provisioningが設定されていることを確認できます。コントローラーノードにアクセスするために SSH を使用します。
ssh -A -t tripleo-admin@<controller_node_IP_address>
$ ssh -A -t tripleo-admin@<controller_node_IP_address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow そのコントローラーノードで
rbd_thin_provisioningがTrueに等しいことを確認します。sudo podman exec -it glance_api sh -c 'grep ^rbd_thin_provisioning /etc/glance/glance-api.conf'
$ sudo podman exec -it glance_api sh -c 'grep ^rbd_thin_provisioning /etc/glance/glance-api.conf'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8. metadef API の保護 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) では、クラウド管理者はメタデータ定義 (metadef) API を使用してキー/値のペアおよびタグメタデータを定義することができます。クラウド管理者が作成できるメタデフ名前空間、オブジェクト、プロパティー、リソース、またはタグの数に制限はありません。
Image サービスのポリシーは metadef API を制御します。デフォルトでは、クラウド管理者のみがメタデフ API を作成、更新、または削除 (CUD) できます。この制限により、metadef API が権限のないユーザーに情報を公開することが防止され、悪意のあるユーザーが Image サービス (glance) データベースに無制限のリソースを埋め込み、サービス妨害 (DoS) 型の攻撃を引き起こすリスクが軽減されます。ただし、クラウド管理者はデフォルトのポリシーをオーバーライドできます。
1.9. クラウドユーザーの metadef API アクセスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
メタデータ定義 (metadef) API への書き込みアクセスに依存するユーザーを持つクラウド管理者は、デフォルトの管理者専用ポリシーをオーバーライドすることで、すべてのユーザーがそれらの API にアクセスできるようにできます。ただし、この種の設定では、顧客名や内部プロジェクト等の秘匿すべきリソース名が意図せず漏えいする可能性があります。すべてのユーザーに読み取りアクセスしか付与していない場合であっても、管理者はシステムを監査し、過去に作成したセキュリティー的に脆弱なリソースを識別する必要があります。
手順
クラウド管理者としてアンダークラウドにログインし、ポリシーオーバーライド用のファイルを作成します。以下に例を示します。
cat open-up-glance-api-metadef.yaml
$ cat open-up-glance-api-metadef.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのユーザーが metadef API を読み取り/書き込みできるように、ポリシーオーバーライドファイルを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記すべての metadef ポリシーを設定する際に、
rule:metadef_defaultを使用する必要があります。ポリシーとポリシー構文の詳細は、この ポリシー の章を参照してください。オーバークラウドのデプロイ時に
-eオプションを使用して、デプロイメントコマンドに新しいポリシーファイルを追加します。openstack overcloud deploy -e open-up-glance-api-metadef.yaml
$ openstack overcloud deploy -e open-up-glance-api-metadef.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 RHEL KVM または RHOSP 互換イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) で管理できるイメージを作成するには、Red Hat Enterprise Linux (RHEL) Kernel-based Virtual Machine (KVM) のインスタンスイメージを使用するか、RHEL ISO ファイルまたは Windows ISO ファイルを使用して、QCOW2 形式の RHOSP 互換イメージを手動で作成できます。
2.1. RHEL KVM イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) Kernel-based Virtual Machine (KVM) のインスタンスイメージを使用して、Red Hat OpenStack Platform (RHOSP) の Image サービス (glance) で管理できるイメージを作成します。
2.1.1. Red Hat OpenStack Platform で RHEL KVM インスタンスイメージを使用する リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) では、次に示す Red Hat Enterprise Linux (RHEL) Kernel-based Virtual Machine (KVM) のいずれかを使用できます。
これらの QCOW2 イメージは、cloud-init を使用して設定されています。これが適切に機能するには、セキュアシェル (SSH) キーをプロビジョニングするための EC2 互換メタデータサービスが必要です。
QCOW2 形式の Ready Windows KVM インスタンスイメージは利用できません。
KVM インスタンスイメージの場合:
-
イメージでは
rootアカウントが非アクティブ化されていますが、cloud-userという名前の特別なユーザーにはsudoアクセスが許可されています。 -
このイメージには
rootパスワードは設定されていません。
root パスワードは、/etc/shadow で 2 番目のフィールドに !! と記載することによりロックされます。
RHOSP インスタンスでは、RHOSP Dashboard またはコマンドラインから SSH キーペアを生成し、その鍵の組み合わせを使用して、インスタンスに対して root ユーザーとして SSH 公開認証を実行します
インスタンスを起動すると、この公開鍵がインスタンスに注入されます。続いて、キーペア作成時にダウンロードする秘密鍵を使用して認証を行うことができます。
2.1.2. ベアメタルインスタンス用の RHEL ベースのルートパーティションイメージを作成する リンクのコピーリンクがクリップボードにコピーされました!
ベアメタルインスタンスのカスタムルートパーティションイメージを作成するには、ベースとなる Red Hat Enterprise Linux KVM インスタンスイメージをダウンロードし、そのイメージを Image サービス (glance) にアップロードします。
手順
- カスタマーポータル から、ベースとなる Red Hat Enterprise Linux KVM インスタンスイメージをダウンロードします。
DIB_LOCAL_IMAGEをダウンロードしたイメージとして定義します。export DIB_LOCAL_IMAGE=rhel-<ver>-x86_64-kvm.qcow2
$ export DIB_LOCAL_IMAGE=rhel-<ver>-x86_64-kvm.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<ver>を、そのイメージの RHEL バージョン番号に置き換えます。
-
登録方法に応じて登録情報を設定します。
Red Hat カスタマーポータルの場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Satellite の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
山かっこ
<>内の値を、適切な Red Hat カスタマーポータルの登録値、または Red Hat Satellite の登録値に置き換えます。
オプション: オフラインのリポジトリーがある場合は、
DIB_YUM_REPO_CONFをローカルリポジトリーの設定として定義できます。export DIB_YUM_REPO_CONF=<file-path>
$ export DIB_YUM_REPO_CONF=<file-path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<file-path>を、ローカルリポジトリー設定ファイルへのパスに置き換えます。
-
diskimage-builderツールを使用して、カーネルをrhel-image.vmlinuzとして、初期 RAM ディスクをrhel-image.initrdとして展開します。export DIB_RELEASE=<ver> disk-image-create rhel baremetal \ -o rhel-image
$ export DIB_RELEASE=<ver> $ disk-image-create rhel baremetal \ -o rhel-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを Image サービスにアップロードします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. ベアメタルインスタンス用に RHEL ベースのディスク全体のユーザーイメージを作成する リンクのコピーリンクがクリップボードにコピーされました!
ベアメタルインスタンス用にディスク全体のユーザーイメージを作成するには、ベースとなる Red Hat Enterprise Linux KVM インスタンスイメージをダウンロードし、そのイメージを Image サービス (glance) にアップロードします。
手順
- カスタマーポータル から、ベースとなる Red Hat Enterprise Linux KVM インスタンスイメージをダウンロードします。
DIB_LOCAL_IMAGEをダウンロードしたイメージとして定義します。export DIB_LOCAL_IMAGE=rhel-<ver>-x86_64-kvm.qcow2
$ export DIB_LOCAL_IMAGE=rhel-<ver>-x86_64-kvm.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<ver>を、そのイメージの RHEL バージョン番号に置き換えます。
-
登録方法に応じて登録情報を設定します。
Red Hat カスタマーポータルの場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Satellite の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
山かっこ
<>内の値を、適切な Red Hat カスタマーポータルの登録値、または Red Hat Satellite の登録値に置き換えます。
オプション: オフラインのリポジトリーがある場合は、
DIB_YUM_REPO_CONFをローカルリポジトリーの設定として定義できます。export DIB_YUM_REPO_CONF=<file-path>
$ export DIB_YUM_REPO_CONF=<file-path>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<file-path>を、ローカルリポジトリー設定ファイルへのパスに置き換えます。
-
イメージを Image サービスにアップロードします。
openstack image create \ --file rhel-image.qcow2 --public \ --container-format bare \ --disk-format qcow2 \ rhel-whole-disk-bare-metal-image
$ openstack image create \ --file rhel-image.qcow2 --public \ --container-format bare \ --disk-format qcow2 \ rhel-whole-disk-bare-metal-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2. RHEL または Windows ISO ファイルを使用してインスタンスイメージを作成する リンクのコピーリンクがクリップボードにコピーされました!
ISO ファイルから、QCOW2 形式でカスタム Red Hat Enterprise Linux (RHEL) イメージまたは Windows イメージを作成し、それを Red Hat OpenStack Platform (RHOSP) Image サービス (glance) にアップロードしてインスタンス作成時に使用できます。
2.2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- イメージを作成する Linux ホストマシン。これは、アンダークラウドまたはオーバークラウドを除き、Linux パッケージをインストールして実行できる任意のマシンです。
advanced-virtリポジトリーが有効になっている。sudo subscription-manager repos --enable=advanced-virt-for-rhel-<ver>-x86_64-rpms
$ sudo subscription-manager repos --enable=advanced-virt-for-rhel-<ver>-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ゲストオペレーティングシステムの作成に必要なすべてのパッケージが含まれる
virt-managerアプリケーションがインストールされている。sudo dnf module install -y virt
$ sudo dnf module install -y virtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンイメージにアクセスして変更するためのツールセットが含まれる
libguestfs-toolsパッケージがインストールされている。sudo dnf install -y libguestfs-tools-c
$ sudo dnf install -y libguestfs-tools-cCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RHEL 9 または 8 ISO ファイルまたは Windows ISO ファイル。RHEL ISO ファイルの詳細は、RHEL 9.0 Binary DVD または RHEL 8.6 Binary DVD を参照してください。Windows ISO ファイルがない場合は、Microsoft Evaluation Center にアクセスして評価イメージをダウンロードしてください。
-
kickstartファイルを編集する必要がある場合はテキストエディター (RHEL のみ)。
アンダークラウドに libguestfs-tools パッケージをインストールする場合は、アンダークラウドの tripleo_iscsid サービスとのポートの競合を避けるために iscsid.socket を非アクティブ化します。
sudo systemctl disable --now iscsid.socket
$ sudo systemctl disable --now iscsid.socket
前提条件を満たすと、RHEL または Windows イメージの作成に進めます。
2.2.2. Red Hat Enterprise Linux 9 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 9 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) イメージを作成できます。
手順
-
rootユーザーとしてホストマシンにログオンします。 virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 山かっこ
<>内の値を、使用している RHEL 9 イメージに応じた適切な値に置き換えます。このコマンドは、インスタンスを起動してインストールプロセスを開始します。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <rhel9-cloud-image>
[root@host]# virt-viewer <rhel9-cloud-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インスタンスを設定します。
- インストーラーの初期ブートメニューで、Install Red Hat Enterprise Linux 9 を選択します。
- 適切な 言語 および キーボード オプションを選択します。
- インストールに使用するデバイス種別を尋ねるプロンプトが表示されたら、自動検出したインストールメディア を選択します。
- インストール先を尋ねるプロンプトが表示されたら、ローカルの標準ディスク を選択します。その他のストレージオプションについては、Automatically configure partitioning を選択します。
- Which type of installation would you like? ウィンドウで、SSH サーバーをインストールする Basic Server インストールを選択します。
- ネットワークとホスト名の設定では、ネットワークに eth0 を選択し、デバイスのホスト名を指定します。デフォルトのホスト名は localhost.localdomain です。
- root パスワード フィールドにパスワードを入力し、確認 フィールドに同じパスワードをもう一度入力します。
- 画面上のメッセージでインストールの完了を確認できたら、インスタンスを再起動し、root ユーザーとしてログインします。
/etc/sysconfig/network-scripts/ifcfg-eth0ファイルを編集して、以下の値のみが記載されている状態にします。TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no
TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=noCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マシンを再起動します。
コンテンツ配信ネットワークにマシンを登録します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pool-idを、有効なプール ID に置き換えます。subscription-manager list --availableコマンドを実行すると、使用可能なプール ID のリストが表示されます。
-
システムを更新します。
dnf -y update
# dnf -y updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-initパッケージをインストールします。dnf install -y cloud-utils-growpart cloud-init
# dnf install -y cloud-utils-growpart cloud-initCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/cloud/cloud.cfg設定ファイルを編集し、cloud_init_modulesの下に以下の内容を追加します。- resolv-conf
- resolv-confCopy to Clipboard Copied! Toggle word wrap Toggle overflow resolv-confオプションは、インスタンスの初回起動時にresolv.confファイルを自動的に設定します。このファイルには、nameservers、domain、その他のオプションなどのインスタンスに関連した情報が記載されています。EC2 メタデータサービスにアクセスするときの問題を回避するには、次の行を
/etc/sysconfig/networkに追加します。NOZEROCONF=yes
NOZEROCONF=yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンソールメッセージが Dashboard の ログ タブおよび
nova console-logの出力に表示されるようにするには、以下のブートオプションを/etc/default/grubファイルに追記します。GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"Copy to Clipboard Copied! Toggle word wrap Toggle overflow grub2-mkconfigコマンドを実行します。grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のような出力が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスの登録を解除して、作成されるイメージにこのインスタンスのサブスクリプション情報が含まれないようにします。
subscription-manager repos --disable=* subscription-manager unregister dnf clean all
# subscription-manager repos --disable=* # subscription-manager unregister # dnf clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスの電源をオフにします。
poweroff
# poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow virt-sysprepコマンドでイメージのリセットおよびクリーニングをして、問題なくインスタンスの作成に使用できるようにします。virt-sysprep -d <rhel9-cloud-image>
[root@host]# virt-sysprep -d <rhel9-cloud-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディスクイメージ内の空き領域をホスト内の空き領域に変換して、イメージサイズを縮小します。
virt-sparsify \ --compress <rhel9.qcow2> <rhel9-cloud.qcow2>
[root@host]# virt-sparsify \ --compress <rhel9.qcow2> <rhel9-cloud.qcow2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、コマンドが実行された場所に新しい
<rhel9-cloud.qcow2>ファイルを作成します。注記インスタンスに適用されているフレーバーのディスクスペースに応じて、イメージをベースとするインスタンスのパーティションを手動でリサイズする必要があります。
<rhel9-cloud.qcow2> イメージファイルを Image サービスにアップロードする準備が整いました。このイメージを RHOSP デプロイメントにアップロードする方法の詳細は、イメージを Image サービスにアップロードする を参照してください。
2.2.3. Red Hat Enterprise Linux 8 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 8 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) イメージを作成できます。
手順
-
rootユーザーとしてホストマシンにログオンします。 virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 山かっこ
<>内の値を、使用している RHEL イメージに応じた適切な値に置き換えます。このコマンドは、インスタンスを起動してインストールプロセスを開始します。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <rhel86-cloud-image>
[root@host]# virt-viewer <rhel86-cloud-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インスタンスを設定します。
- インストーラーの初期ブートメニューで、Install Red Hat Enterprise Linux 8 を選択します。
- 適切な 言語 および キーボード オプションを選択します。
- インストールに使用するデバイス種別を尋ねるプロンプトが表示されたら、基本ストレージデバイス を選択します。
-
デバイスのホスト名を指定します。デフォルトのホスト名は
localhost.localdomainです。 -
タイムゾーン と
rootパスワードを設定します。 - Which type of installation would you like? ウィンドウで、SSH サーバーをインストールする Basic Server インストールを選択します。
- 画面上のメッセージでインストールの完了を確認できたら、インスタンスを再起動し、root ユーザーとしてログインします。
/etc/sysconfig/network-scripts/ifcfg-eth0ファイルを編集して、以下の値のみが記載されている状態にします。TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=no
TYPE=Ethernet DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp NM_CONTROLLED=noCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マシンを再起動します。
コンテンツ配信ネットワークにマシンを登録します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pool-idを、有効なプール ID に置き換えます。subscription-manager list --availableコマンドを実行すると、使用可能なプール ID のリストが表示されます。
-
システムを更新します。
dnf -y update
# dnf -y updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-initパッケージをインストールします。dnf install -y cloud-utils-growpart cloud-init
# dnf install -y cloud-utils-growpart cloud-initCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/cloud/cloud.cfg設定ファイルを編集し、cloud_init_modulesの下に以下の内容を追加します。- resolv-conf
- resolv-confCopy to Clipboard Copied! Toggle word wrap Toggle overflow resolv-confオプションは、インスタンスの初回起動時にresolv.confファイルを自動的に設定します。このファイルには、nameservers、domain、その他のオプションなどのインスタンスに関連した情報が記載されています。ネットワークの問題が発生するのを防ぐために、
/etc/udev/rules.d/75-persistent-net-generator.rulesファイルを作成します。echo "#" > /etc/udev/rules.d/75-persistent-net-generator.rules
# echo "#" > /etc/udev/rules.d/75-persistent-net-generator.rulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、
/etc/udev/rules.d/70-persistent-net.rulesファイルが作成されるのを防ぎます。/etc/udev/rules.d/70-persistent-net.rulesファイルが作成されると、ネットワークインターフェイスがeth0ではなくeth1として作成されて IP アドレスが割り当てられないため、スナップショットから起動するときにネットワークが正しく機能しない可能性があります。EC2 メタデータサービスにアクセスするときの問題を回避するには、次の行を
/etc/sysconfig/networkに追加します。NOZEROCONF=yes
NOZEROCONF=yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンソールメッセージが Dashboard の ログ タブおよび
nova console-logの出力に表示されるようにするには、以下のブートオプションを/etc/grub.confファイルに追記します。GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスの登録を解除して、作成されるイメージにこのインスタンスの同じサブスクリプション情報が含まれないようにします。
subscription-manager repos --disable=* subscription-manager unregister dnf clean all
# subscription-manager repos --disable=* # subscription-manager unregister # dnf clean allCopy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスの電源をオフにします。
poweroff
# poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow virt-sysprepコマンドでイメージのリセットおよびクリーニングをして、問題なくインスタンスの作成に使用できるようにします。virt-sysprep -d <rhel86-cloud-image>
[root@host]# virt-sysprep -d <rhel86-cloud-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディスクイメージ内の空き領域をホスト内の空き領域に変換して、イメージサイズを縮小します。
virt-sparsify \ --compress <rhel86.qcow2> <rhel86-cloud.qcow2>
[root@host]# virt-sparsify \ --compress <rhel86.qcow2> <rhel86-cloud.qcow2>Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、コマンドが実行された場所に新しい
<rhel86-cloud.qcow2>ファイルを作成します。注記インスタンスに適用されているフレーバーのディスクスペースに応じて、イメージをベースとするインスタンスのパーティションを手動でリサイズする必要があります。
<rhel86-cloud.qcow2> イメージファイルを Image サービスにアップロードする準備が整いました。このイメージを RHOSP デプロイメントにアップロードする方法の詳細は、イメージを Image サービスにアップロードする を参照してください。
2.2.4. Windows イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Windows の ISO ファイルを使用して、QCOW2 形式で Red Hat OpenStack Platform (RHOSP) イメージを作成できます。
手順
-
rootユーザーとしてホストマシンにログオンします。 virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 山かっこ
<>内の値を、使用している Windows イメージに応じた適切な値に置き換えます。注記--os-type=windowsパラメーターにより、Windows インスタンスのクロックが正しく設定され、Hyper-V Enlightenment 機能が有効化されるようになります。Image サービス (glance) にイメージをアップロードする前に、イメージメタデータにos_type=windowsを設定する必要もあります。
virt-installコマンドは、デフォルトでインスタンスイメージを/var/lib/libvirt/images/<windows-image>.qcow2として保存します。インスタンスイメージを別の場所に保存する場合は、--diskオプションのパラメーターを変更します。--disk path=<file-name>,size=<size>
--disk path=<file-name>,size=<size>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <file-name>を、インスタンスイメージを保存するファイルの名前 (およびオプションでそのパス) に置き換えます。たとえば、path=win8.qcow2,size=8は現在の作業ディレクトリーにwin8.qcow2という名前の 8 GB ファイルを作成します。注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <windows-image>
[root@host]# virt-viewer <windows-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows のインストール方法に関する詳細は、Microsoft のドキュメントを参照してください。
- 新規インストールした Windows システムで仮想化ハードウェアを使用できるようにするには、VirtIO ドライバーのインストールが必要な場合があります。詳細は、仮想化の設定および管理 の Windows 仮想マシン用の KVM 準仮想化ドライバーのインストール を参照してください。
Windows システムで Cloudbase-Init をダウンロードして実行すると、設定が完了します。Cloudbase-Init のインストールの最後に、Run Sysprep と Shutdown チェックボックスを選択します。
Sysprepツールは、特定の Microsoft サービスで使用する OS ID を生成して、インスタンスを一意にします。重要Red Hat は Cloudbase-Init に関するテクニカルサポートは提供しません。問題が発生した場合は、Cloudbase Solutions に連絡する を参照してください。
Windows システムがシャットダウンすると、
<windows-image.qcow2>イメージファイルを Image サービスにアップロードできます。このイメージを RHOSP デプロイメントにアップロードする方法の詳細は、イメージを Image サービスにアップロードする を参照してください。
2.3. UEFI セキュアブート用のイメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
オーバークラウドに UEFI セキュアブートコンピュートノードが含まれている場合は、クラウドユーザーがセキュアブートインスタンスを起動するために使用できるセキュアブートインスタンスイメージを作成できます。
手順
UEFI セキュアブート用の新しいイメージを作成します。
openstack image create --file <base_image_file> uefi_secure_boot_image
$ openstack image create --file <base_image_file> uefi_secure_boot_imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<base_image_file>を UEFI および GUID パーティションテーブル (GPT) 標準をサポートし、EFI システムパーティションを含むイメージファイルに置き換えます。
-
デフォルトのマシンタイプが
q35ではない場合は、マシンタイプをq35に設定します。openstack image set --property hw_machine_type=q35 uefi_secure_boot_image
$ openstack image set --property hw_machine_type=q35 uefi_secure_boot_imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスを UEFI セキュアブートホストでスケジュールする必要があることを指定します。
openstack image set \ --property hw_firmware_type=uefi \ --property os_secure_boot=required \ uefi_secure_boot_image
$ openstack image set \ --property hw_firmware_type=uefi \ --property os_secure_boot=required \ uefi_secure_boot_imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 仮想ハードウェアのメタデータプロパティー リンクのコピーリンクがクリップボードにコピーされました!
Compute サービス (nova) では、libosinfo データを使用してデフォルトのデバイスモデルを設定する操作が非推奨になりました。これに代わって、以下のイメージメタデータ属性を使用して、インスタンス用の最適な仮想ハードウェアを設定します。
-
os_distro -
os_version -
hw_cdrom_bus -
hw_disk_bus -
hw_scsi_model -
hw_vif_model -
hw_video_model -
hypervisor_type
これらのメタデータプロパティーの詳細は、イメージ設定パラメーター を参照してください。
第3章 イメージ、イメージプロパティー、イメージ形式の管理 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) でアップロード、インポート、または保存するイメージ、およびイメージのプロパティーと形式を管理します。
3.1. Image サービスにイメージをアップロードする リンクのコピーリンクがクリップボードにコピーされました!
--property オプションを指定した glance image-create コマンドを使用して、Red Hat OpenStack Platform (RHOSP) イメージサービス (glance) にイメージをアップロードできます。
glance image-create コマンドオプションのリストについては、Image サービスのコマンドオプション を参照してください。プロパティーキーの一覧は、イメージ設定パラメーター を参照してください。
手順
glance image-createコマンドに--propertyのオプションを指定して実行する方法でイメージをアップロードします。以下に例を示します。
glance image-create --name <name> \ --is-public true --disk-format <qcow2> \ --container-format <bare> \ --file </path/to/image> \ --property <os_version>=<11.10>$ glance image-create --name <name> \ --is-public true --disk-format <qcow2> \ --container-format <bare> \ --file </path/to/image> \ --property <os_version>=<11.10>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<name>は、わかりやすいイメージ名に置き換えます。 -
<disk-format>を、None、ami、ari、aki、vhd、vhdx、vmdk、raw、qcow2、vdi、iso、ploop のいずれかのディスク形式に置き換えます。 -
<container-format>を、None、ami、ari、aki、bare、ovf、ova、docker のいずれかのコンテナー形式に置き換えます。 -
</path/to/image>をイメージファイルへのファイルパスに置き換えます。 -
<os_version>と<11.10>を、イメージに関連付けるプロパティーのキーと値のペアに置き換えます。イメージに関連付ける異なるキーと値のペアを使用して、--propertyオプションを複数回使用できます。
-
3.2. Image サービスのイメージのインポートメソッド リンクのコピーリンクがクリップボードにコピーされました!
以下の方法を使用して、Red Hat OpenStack Platform (RHOSP) イメージサービス (glance) にイメージをインポートできます。
-
web-download(デフォルト) メソッドを使用して、URI からイメージをインポートする。 -
glance-directメソッドを使用して、ローカルファイルシステムからイメージをインポートする。 -
copy-imageメソッドを使用して、デプロイメント内の他の Image サービスバックエンドに既存のイメージをコピーします。このインポート方法は、デプロイで複数の Image サービスバックエンドが有効になっている場合にのみ使用してください。
web-download 方式はデフォルトで有効になっていますが、クラウド管理者が他のインポート方式を設定します。利用可能なインポートオプションを一覧表示するには、glance import-info コマンドを実行します。
3.2.1. リモート URI からイメージをインポートする リンクのコピーリンクがクリップボードにコピーされました!
web-download イメージインポートメソッドを使用して、リモート URI から Red Hat OpenStack Platform (RHOSP) Image サービス (glance) にイメージをコピーできます。
Image サービスの web-download メソッドでは、2 段階のプロセスでインポートを実施します。
-
web-download方式では、イメージレコードが作成されます。 -
web-downloadメソッドは、指定された URI からイメージを取得します。
URI は、オプションの denylist リストおよび allowlist リストのフィルタリングの対象となります。
イメージプロパティー注入プラグインにより、メタデータ属性をイメージに注入できます。注入されたプロパティーに応じて、イメージインスタンスを起動するコンピュートノードが決定します。
手順
イメージを作成して、インポートするイメージの URI を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<container-format>を、None、ami、ari、aki、bare、ovf、ova、docker のいずれかのコンテナー形式に置き換えます。 -
<disk-format>を、None、ami、ari、aki、vhd、vhdx、vmdk、raw、qcow2、vdi、iso、ploop のいずれかのディスク形式に置き換えます。 -
<name>は、わかりやすいイメージ名に置き換えます。 -
<uri>は、イメージの URI に置き換えます。
-
検証
イメージが利用可能か確認します。
glance image-show <image-id>
$ glance image-show <image-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-id>は、イメージの作成時に指定したイメージ ID に置き換えます。
-
3.2.2. ローカルボリュームからイメージをインポートする リンクのコピーリンクがクリップボードにコピーされました!
glance-direct イメージインポートメソッドは、イメージレコードを作成し、それによりイメージ ID が生成されます。ローカルボリュームから Image サービス (glance) にイメージをアップロードすると、イメージはステージングエリアに保存され、設定されたチェックに合格するとアクティブになります。
高可用性 (HA) 設定で使用される場合、glance-direct メソッドには共通のステージングエリアが必要です。glance-direct インポート方法を使用してイメージをアップロードする場合、共有ステージングエリアが存在しない場合は HA 環境でアップロードが失敗する可能性があります。HA のアクティブ/アクティブ環境では、API コールは複数の Image サービスのコントローラーに分散されます。ダウンロード API コールは、イメージをアップロードする API コールとは別のコントローラーに送信することが可能です。
glance-direct イメージインポートメソッドでは、3 種類の呼び出しを使用してイメージをインポートします。
-
glance image-create -
glance image-stage -
glance image-import
glance image-create-via-import コマンドを使用すると、3 つの glance-direct 呼び出しすべてを 1 つのコマンドで実行できます。
手順
- Source コマンドで認証情報ファイルを読み込みます。
ローカルイメージをインポートするには、
glance image-create-via-importコマンドを使用します。glance image-create-via-import \ --container-format <container-format> \ --disk-format <disk-format> \ --name <name> \ --file </path/to/image>$ glance image-create-via-import \ --container-format <container-format> \ --disk-format <disk-format> \ --name <name> \ --file </path/to/image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<container-format>を、None、ami、ari、aki、bare、ovf、ova、docker のいずれかのコンテナー形式に置き換えます。 -
<disk-format>を、None、ami、ari、aki、vhd、vhdx、vmdk、raw、qcow2、vdi、iso、ploop のいずれかのディスク形式に置き換えます。 -
<name>は、わかりやすいイメージ名に置き換えます。 </path/to/image>をイメージファイルへのファイルパスに置き換えます。イメージがステージングエリアからバックエンドストレージの場所に移動すると、そのイメージはリストされます。ただし、イメージがアクティブになるには、多少時間がかかる場合があります。
-
検証
イメージが利用可能か確認します。
glance image-show <image-id>
$ glance image-show <image-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-id>は、イメージの作成時に指定したイメージ ID に置き換えます。
-
3.3. イメージプロパティーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) に保存したイメージのプロパティーを更新します。
手順
glance image-updateコマンドに--propertyオプションを指定して実行する方法でイメージを更新します。以下に例を示します。
glance image-update IMG-UUID \ --property architecture=x86_64$ glance image-update IMG-UUID \ --property architecture=x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
glance image-updateコマンドオプションのリストについては、Image サービス (glance) コマンドオプション を参照してください。 - プロパティーキーの一覧は、イメージ設定パラメーター を参照してください。
-
3.4. イメージ変換の有効化 リンクのコピーリンクがクリップボードにコピーされました!
GlanceImageImportPlugins パラメーターを有効にすることで、QCOW2 イメージを Image サービス (glance) にアップロードできます。その後、QCOW2 イメージを RAW 形式に変換できます。
Red Hat Ceph Storage RADOS Block Device (RBD) を使用してイメージを保存し、Nova インスタンスを起動すると、イメージ変換が自動的に有効になります。
イメージ変換を有効にするには、次のパラメーター値を含む環境ファイルを作成します。-e オプションを使用して新しい環境ファイルを openstack overcloud deploy コマンドに含めます。
parameter_defaults: GlanceImageImportPlugins:'image_conversion'
parameter_defaults:
GlanceImageImportPlugins:'image_conversion'
イメージ管理には Image service コマンドラインクライアントを使用します。
3.4.1. RAW 形式へのイメージの変換 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage は QCOW2 イメージを保管することはできますが、そのイメージを使用して仮想マシン (VM) のディスクをホストすることはできません。
アップロードした QCOW2 イメージから仮想マシンを作成する場合には、コンピュートノードはイメージをダウンロードして RAW に変換し、それを Ceph にアップロードし直してからでないと使用することができません。このプロセスは仮想マシンの作成時間に影響を及ぼします (特に、並行して仮想マシンを作成する場合)。
たとえば、複数の仮想マシンを同時に作成する場合には、Ceph クラスターへの変換済みイメージのアップロードが、すでに実行中の負荷に影響を及ぼす可能性があります。IOPS のこれらの負荷に対するリソースがアップロードプロセスにより枯渇し、ストレージの反応が遅くなる場合があります。
Ceph において仮想マシンをより効率的に起動するには (一時バックエンドまたはボリュームからの起動)、glance イメージの形式を RAW にする必要があります。
手順
イメージを RAW に変換すると、イメージサイズが元の QCOW2 イメージファイルより大きくなる場合があります。最終的な RAW イメージのサイズを確認するには、変換前に以下のコマンドを実行します。
qemu-img info <image>.qcow2
$ qemu-img info <image>.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを QCOW2 から RAW 形式に変換します。
qemu-img convert -p -f qcow2 -O raw <original qcow2 image>.qcow2 <new raw image>.raw
$ qemu-img convert -p -f qcow2 -O raw <original qcow2 image>.qcow2 <new raw image>.rawCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. GlanceDiskFormats パラメーターを使用してディスクフォーマットを設定する リンクのコピーリンクがクリップボードにコピーされました!
GlanceDiskFormats パラメーターを使用して、ディスクフォーマットを有効または拒否するように Image サービス (glance) を設定することができます。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 source コマンドでアンダークラウドの認証情報ファイルを読み込みます。
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 環境ファイルに
GlanceDiskFormatsパラメーターを追加します (例:glance_disk_formats.yaml)。parameter_defaults: GlanceDiskFormats: - <disk_format>parameter_defaults: GlanceDiskFormats: - <disk_format>Copy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、RAW および ISO ディスクフォーマットだけを有効にするには、以下の設定を使用します。
parameter_defaults: GlanceDiskFormats: - raw - iso
parameter_defaults: GlanceDiskFormats: - raw - isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow QCOW2 ディスクイメージを拒否するには、以下の設定例を使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ご自分の環境に該当するその他の環境ファイルと共に、新しい設定が含まれる環境ファイルを
openstack overcloud deployコマンドに追加します。openstack overcloud deploy --templates \ -e <overcloud_environment_files> \ -e <new_environment_file> \ …
$ openstack overcloud deploy --templates \ -e <overcloud_environment_files> \ -e <new_environment_file> \ …Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<overcloud_environment_files>をデプロイメントに追加する環境ファイルのリストに置き換えます。 -
<new_environment_file>を新しい設定が含まれる環境ファイルに置き換えます。
-
RHOSP で利用可能なディスクフォーマットの詳細は、イメージ設定パラメーター を参照してください。
3.4.3. RAW 形式でのイメージの保存 リンクのコピーリンクがクリップボードにコピーされました!
以前に作成したイメージを RAW 形式で保存するには、GlanceImageImportPlugins パラメーターを有効にして以下のコマンドを実行します。
-
<name>は、イメージ名に置き換えます。この名前がglance image-listに表示されます。 -
<http://server/image.qcow2>を、QCOW2 イメージの場所とファイル名に置き換えます。
このコマンド例では、イメージレコードを作成し、web-download メソッドを使用してそのイメージレコードをインポートします。glance-api は、インポートプロセス中に --uri で定義した場所からイメージをダウンロードします。web-download が利用できない場合、glanceclient はイメージデータを自動的にダウンロードすることができません。利用可能なイメージのインポート方法をリスト表示するには、glance import-info コマンドを実行します。
3.5. イメージの非表示と再表示 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーに表示される通常のリストからパブリックイメージを非表示にすることができます。たとえば、廃止された CentOS 7 イメージを非表示にし、最新バージョンだけを表示してユーザーエクスペリエンスを簡素化できます。ユーザーは、非表示のイメージを検出して使用することができます。
非表示のイメージを作成するには、glance image-create コマンドに --hidden 引数を追加します。
手順
イメージを非表示にするには、以下を実行します。
glance image-update <image_id> --hidden 'true'
$ glance image-update <image_id> --hidden 'true'Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを再表示するには、以下を実行します。
glance image-update <image_id> --hidden 'false'
$ glance image-update <image_id> --hidden 'false'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 非表示にしたイメージをリスト表示するには、以下を実行します。
glance image-list --hidden 'true'
$ glance image-list --hidden 'true'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. Image サービスからイメージを削除する リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) に保存する必要のない 1 つ以上のイメージを削除するには、glance image-delete コマンドを使用します。
手順
1 つ以上のイメージを削除します。
glance image-delete <image-id> [<image-id> ...]
$ glance image-delete <image-id> [<image-id> ...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow <image-id>を、削除するイメージの ID に置き換えます。警告glance image-deleteコマンドは、イメージとイメージのすべてのコピー、およびイメージインスタンスとメタデータを完全に削除します。
第4章 イメージサービスのイメージインポート方法の設定 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) のデフォルト設定は、Red Hat OpenStack Platform (RHOSP) のインストール時に使用する Orchestration サービス (heat) テンプレートで定義されます。イメージサービスの Orchestration サービステンプレートは、deployment/glance/glance-api-container-puppet.yaml です。
カスタム環境ファイルを使用して、イメージサービスの側面をカスタマイズできます。カスタム環境ファイルは、Orchestration サービステンプレートをカスタマイズするために使用できる特別なタイプのテンプレートです。Orchestration サービステンプレートと環境ファイルの詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 の heat テンプレートの概要 を参照してください。
クラウド管理者は、web-download または glance-direct インポート方法を使用して、クラウドユーザーが独自のイメージをイメージサービスにアップロードできるように、イメージインポートワークフローを設定できます。アップロードされたイメージがストレージバックエンドでアクティブになる前にステージング領域で監視したり、メタデータのイメージプロパティーインジェクションプラグインやイメージ形式のイメージ変換プラグインなど、一連のプラグインを実行してユーザーイメージを検出可能にするようにインポートワークフローを設定したりできます。
web-download イメージのインポート方法はデフォルトで有効になっていますが、クラウド管理者は glance-direct 方式を設定できます。Red Hat OpenStack Platform (RHOSP) で利用可能なインポート方法の詳細は、イメージサービスのイメージのインポート方法 を参照してください。
4.1. glance-direct イメージインポート方法の設定 リンクのコピーリンクがクリップボードにコピーされました!
クラウド管理者が glance-direct イメージインポート方法を有効にすると、クラウドユーザーは、すべての Image サービス API ワーカーに共通する一時的な共有ストレージの場所である OpenStack Image サービス (Glance) の共有ステージングエリアにローカルイメージをアップロードできます。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow インポートパラメーターを設定するには、YAML 環境ファイルを作成するか開きます。
例
vi /home/stack/templates/<glance-import-settings>.yaml
$ vi /home/stack/templates/<glance-import-settings>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<glance-import-settings>をファイル名に置き換えます。
-
共有ステージングに必要な NFS バックエンドを設定します。
parameter_defaults: GlanceBackend: file GlanceNfsEnabled: true GlanceNfsShare: 192.168.122.1:/export/glance
parameter_defaults: GlanceBackend: file GlanceNfsEnabled: true GlanceNfsShare: 192.168.122.1:/export/glanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow glance-directインポートメソッドを有効にするには、GlanceEnabledImportMethodsパラメーターにglance-directを追加します。parameter_defaults: [...] GlanceEnabledImportMethods: glance-direct,web-download
parameter_defaults: [...] GlanceEnabledImportMethods: glance-direct,web-downloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow glance-directインポート方法に必要な NFS ステージングエリアを設定します。parameter_defaults: [...] GlanceStagingNfsShare: 192.168.122.1:/export/glance-staging
parameter_defaults: [...] GlanceStagingNfsShare: 192.168.122.1:/export/glance-stagingCopy to Clipboard Copied! Toggle word wrap Toggle overflow web-download以外の方法を有効にする場合は、GlanceEnabledImportMethodsパラメーターが必要です。GlanceBackend、GlanceNfsEnabled、およびGlanceStagingNfsShareパラメーターに関する詳細は、オーバークラウドパラメーター の イメージストレージ (glance) パラメーター を参照してください。<glance-import-settings>.yamlファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<glance-import-settings>.yaml
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<glance-import-settings>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. イメージの Web インポートソースの制御 リンクのコピーリンクがクリップボードにコピーされました!
Web インポートによるイメージダウンロードのソースを制限することができます。そのためには、オプションの glance-image-import.conf ファイルに URI のブラックリストおよび許可リストを追加します。
3 段階のレベルで、イメージソースの URI を許可またはブロックすることができます。
- スキームレベル (allowed_schemes、disallowed_schemes)
- ホストレベル (allowed_hosts、disallowed_hosts)
- ポートレベル (allowed_ports、disallowed_ports)
レベルにかかわらず、許可リストとブロックリストの両方を指定した場合には、許可リストが優先されブロックリストは無視されます。
Image サービス (glance) は、以下の判断ロジックを使用してイメージソースの URI を検証します。
スキームを確認する。
- スキームが定義されていない場合: 拒否する。
- 許可リストがあり、そのスキームが許可リストに記載されていない場合: 拒否する。記載されている場合: c 項をスキップして 2 項に進む。
- ブロックリストがあり、そのスキームがブロックリストに記載されている場合: 拒否する。
ホスト名を確認する。
- ホスト名が定義されていない場合: 拒否する。
- 許可リストがあり、そのホスト名が許可リストに記載されていない場合: 拒否する。記載されている場合: c 項をスキップして 3 項に進む。
- ブロックリストがあり、そのホスト名がブロックリストに記載されている場合: 拒否する。
URI にポートが含まれていれば、ポートを確認する。
- 許可リストがあり、そのポートが許可リストに記載されていない場合: 拒否する。記載されている場合: b 項をスキップして 4 項に進む。
- ブロックリストがあり、そのポートがブロックリストに記載されている場合: 拒否する。
- 有効な URI として受け入れる。
(許可リストに追加する、あるいはブロックリストに登録しないことにより) スキームを許可した場合には、URI にポートを含めないことでそのスキームのデフォルトポートを使用する URI は、すべて許可されます。URI にポートが含まれている場合には、URI はデフォルトの判断ロジックに従って検証されます。
4.2.1. イメージインポート許可リストの例 リンクのコピーリンクがクリップボードにコピーされました!
この例では、FTP のデフォルトポートは 21 です。
ftp は allowed_schemes のリストに含まれているため、イメージリソースへの URL ftp://example.org/some/resource が許可されます。
ただし、21 は allowed_ports のリストにないため、同じイメージリソースへのこの URL ftp://example.org:21/some/resource は拒否されます。
4.2.2. イメージのインポートに関するブロックリストおよび許可リストのデフォルト設定 リンクのコピーリンクがクリップボードにコピーされました!
glance-image-import.conf ファイルは、以下のデフォルトオプションが含まれるオプションのファイルです。
- allowed_schemes: [http, https]
- disallowed_schemes: ブランク
- allowed_hosts: ブランク
- disallowed_hosts: ブランク
- allowed_ports: [80, 443]
- disallowed_ports: ブランク
デフォルトの設定を使用する場合、エンドユーザーは http または https スキームを使用することでしか URI にアクセスすることができません。ユーザーが指定することのできるポートは、80 および 443 だけです。(ユーザーはポートを指定する必要はありませんが、指定する場合には 80 または 443 のどちらかでなければなりません)。
glance-image-import.conf ファイルは、Image サービスのソースコードツリーの etc/ サブディレクトリーにあります。お使いの Red Hat OpenStack Platform のリリースに対応する正しいブランチを使用してください。
4.3. イメージのインポートにメタデータを注入してインスタンスの起動場所を制御する リンクのコピーリンクがクリップボードにコピーされました!
クラウドユーザーは、Image サービス (glance) にイメージをアップロードし、そのイメージを使用してインスタンスを起動できます。クラウドユーザーは、特定のコンピュートノードセット上でこれらのイメージを起動する必要があります。イメージメタデータプロパティーを使用して、コンピュートノードへのインスタンスの割り当てを制御できます。
イメージプロパティー注入プラグインにより、メタデータ属性がインポート時にイメージに注入されます。プロパティーは、glance-image-import.conf ファイルの [image_import_opts] セクションと [inject_metadata_properties] セクションを編集することで指定できます。glance-image-import.conf ファイルは、Image サービスのソースコードツリーの etc/ サブディレクトリーにあります。使用している Red Hat OpenStack Platform (RHOSP) リリースに応じた適切なブランチを使用してください。
イメージプロパティー注入プラグインを有効にするには、[image_import_opts] セクションに以下の行を追加します。
[image_import_opts] image_import_plugins = [inject_image_metadata]
[image_import_opts]
image_import_plugins = [inject_image_metadata]
メタデータの注入を特定ユーザーが提供したイメージに制限するには、ignore_user_roles パラメーターを設定します。たとえば、以下の設定では、property1 に関する 1 つの値および property2 に関する 2 つの値が、任意の非管理者ユーザーによってダウンロードされたイメージに注入されます。
パラメーター ignore_user_roles は、プラグインが無視する Identity サービス (keystone) ロールのコンマ区切りリストです。つまり、イメージインポートの呼び出しを行うユーザーにこれらのロールが設定されている場合、プラグインはイメージに属性を注入しません。
パラメーター inject は、インポートされたイメージのイメージレコードに注入される属性と値のコンマ区切りリストです。それぞれの属性と値は、コロン (‘:') で区切る必要があります。
第5章 複数のストアに対応した Image サービス リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) では、分散エッジアーキテクチャーによる複数ストアの使用がサポートされます。そのため、すべてのエッジサイトにイメージプールを設定することができます。
5.1. 複数ストアでのイメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
分散エッジアーキテクチャーで複数のストアを使用する場合は、すべてのエッジサイトにイメージプールを設定できます。ハブサイトとも呼ばれる中央サイトとエッジサイトの間で、イメージをコピーすることができます。
イメージのメタデータには、各コピーの場所が含まれます。たとえば、2 つのエッジサイトに存在するイメージは、3 つの場所 (中央サイトおよび 2 つのエッジサイト) に単一の UUID として公開されます。つまり、多くのストアで単一の UUID を共有するイメージデータのコピーを持つことができます。場所についての詳細は、イメージの場所について を参照してください。
すべてのエッジサイトで RADOS ブロックデバイス (RBD) イメージプールを使用すると、Ceph RBD コピーオンライト (COW) とスナップショットレイヤリングテクノロジーを使用して仮想マシン (VM) をすばやく起動できます。これは、仮想マシンをボリュームからブートできるのと共に、ライブマイグレーションが可能であることを意味します。Ceph RBD を使用した階層化についての詳細は、ブロックデバイスガイドの Ceph ブロックデバイスの階層化 を参照してください。
エッジサイトでインスタンスを起動すると、必要なイメージがローカルの Image Service (glance) ストアに自動的にコピーされます。ただし、中央のイメージストアからエッジサイトにイメージを事前にコピーして、インスタンスの起動時に時間を節約することができます。
5.2. ストレージエッジアーキテクチャーの要件 リンクのコピーリンクがクリップボードにコピーされました!
エッジサイトでイメージを使用するには、次の要件を参照してください。
- 各イメージのコピーは、central サイトの Image サービス (glance) に存在している必要があります。
- イメージを他のエッジサイトにコピーする前に、エッジサイトから central の場所にイメージをコピーする必要があります。
- Red Hat Ceph Storage を使用して分散コンピュートノード (DCN) アーキテクチャーをデプロイする場合は、未加工のイメージを使用する必要があります。
-
それぞれのサイトで、
NovaComputeAvailabilityZoneおよびCinderStorageAvailabilityZoneパラメーターに同じ値を割り当てる必要があります。
5.3. 複数の Block Storage サービスストア リンクのコピーリンクがクリップボードにコピーされました!
Image サービス(glance)に複数の Block Storage サービス(cinder)バックエンドを設定し、glance-api.conf ファイルの enabled_backends および cinder_volume_type 設定オプションを使用して、各バックエンドのボリューム種別を設定することができます。
1 つのバックエンドを Block Storage サービスで複数のボリューム種別に関連付けることはできますが、バックエンドを Image サービス内の 1 つのボリューム種別に関連付けることしかできません。
Image サービスは、イメージが保存されるバックエンドを識別する一意の ID を持つ場所の URL を生成します。単一の Block Storage サービスストアを使用して複数の Block Storage サービスストアを使用するようにアップグレードすると、レガシーイメージの URL が cinder:// volume-id から cinder: // store-name/volume-id に更新されます。
例 1: 2 つのボリュームタイプを持つ新しいデプロイメント
Block Storage サービスに fast と slow の 2 つのボリュームタイプがある場合の、新しいデプロイメントの glance-api.conf ファイル内の Image サービスの設定を示しています。
例 2: 単一ストアから複数のストアへのアップグレード
単一の Block Storage サービスストアから複数のストアへのアップグレードにおける、glance-api.conf ファイル内の Image サービスの設定を示しています。cinder.conf で使用される default_volume_type を特定し、glance-api.conf の cinder_volume_type を更新して一致させる必要があります。
5.4. イメージを複数のストアにインポートする リンクのコピーリンクがクリップボードにコピーされました!
相互運用可能なイメージのインポートワークフローを使用して、イメージデータを複数の Red Hat Ceph Storage クラスターにインポートします。ローカルファイルシステムで、または Web サーバーから利用可能なイメージを、Image サービス (glance) にインポートすることができます。
Web サーバーからイメージをインポートする場合、イメージを複数のストアに一度にインポートすることができます。イメージが Web サーバーで利用できない場合は、イメージをローカルファイルシステムから中央のストアにインポートし、それをさらに別のストアにコピーすることができます。詳細は、複数ストアへの既存イメージのコピー を参照してください。
イメージ管理には Image service コマンドラインクライアントを使用します。
中央サイトにイメージを使用するインスタンスがない場合でも、必ず中央サイトにイメージのコピーを保存してください。Image サービスへのイメージのインポートの詳細は、分散コンピュートノードのアーキテクチャー ガイドを参照してください。
5.4.1. イメージのインポート失敗時の対応 リンクのコピーリンクがクリップボードにコピーされました!
--allow-failure パラメーターを使用して、イメージインポート操作の失敗に対応することができます。
-
--allow-failureパラメーターの値をtrueに設定した場合、最初のストアにデータが正常にインポートされると、イメージのステータスはactiveになります。これがデフォルトの設定です。os_glance_failed_importイメージ属性を使用して、イメージデータのインポートに失敗したストアのリストを表示することができます。 -
--allow-failureパラメーターの値をfalseに設定すると、指定したすべてのストアにデータが正常にインポートされた場合に限り、イメージのステータスがactiveになります。いずれかのストアでイメージデータのインポートが失敗した場合、イメージのステータスはfailedになります。イメージは指定されたどのストアにもインポートされません。
5.4.2. 複数ストアへのイメージデータのインポート リンクのコピーリンクがクリップボードにコピーされました!
--allow-failure パラメーターのデフォルト設定は true なので、一部のストアがイメージデータのインポートに失敗するのを許容するのであれば、コマンドにパラメーターを追加する必要はありません。
この手順では、すべてのストアがイメージデータを正常にインポートすることは求められせん。
手順
指定した複数のストアにイメージデータをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-name>をインポートするイメージの名前に置き換えます。 -
<uri>をイメージの URI に置き換えます。 -
<store-1>、<store-2>、<store-3>を、イメージデータをインポートするストアの名前に置き換えます。 -
あるいは、
--storesを--all-stores trueに置き換え、すべてのストアにイメージをアップロードします。
-
QCOW2 イメージを自動的に RAW 形式に変換する glance image-create-via-import コマンドは、web-download メソッドでのみ機能します。glance-direct メソッドを使用することはできますが、共有ファイルシステムが設定されたデプロイメントでのみ機能します。
5.4.3. 複数ストアへのイメージデータのインポート (失敗を許容しない) リンクのコピーリンクがクリップボードにコピーされました!
この手順では、すべてのストアがイメージデータを正常にインポートすることが求められます。
手順
指定した複数のストアにイメージデータをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-name>をインポートするイメージの名前に置き換えます。 -
<uri>をイメージの URI に置き換えます。 -
<store-1>、<store-2>、<store-3>を、イメージデータをコピーするストアの名前に置き換えます。 あるいは、
--storesを--all-stores trueに置き換え、すべてのストアにイメージをアップロードします。注記--allow-failureパラメーターをfalseに設定すると、Image サービス (glance) はイメージデータのインポートに失敗したストアを無視しません。イメージ属性os_glance_failed_importを使用して、失敗したストアのリストを表示することができます。詳細は、「イメージインポート操作の進捗の確認」 を参照してください。
-
イメージデータが特定のストアに追加されたことを確認します。
glance image-show <image-id> | grep stores
$ glance image-show <image-id> | grep storesCopy to Clipboard Copied! Toggle word wrap Toggle overflow <image-id>を元の既存イメージの ID に置き換えます。出力には、ストアのコンマ区切りリストが表示されます。
5.4.4. 1 つのストアへのイメージデータのインポート リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) を使用して、イメージデータを単一のストアにインポートできます。
手順
イメージデータを 1 つのストアにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-name>をインポートするイメージの名前に置き換えます。 -
<uri>をイメージの URI に置き換えます。 <store>をイメージデータをコピーするストアの名前に置き換えます。注記コマンドに
--stores、--all-stores、または--storeオプションを指定しないと、Image サービスは中央ストアにイメージを作成します。
-
イメージデータが特定のストアに追加されたことを確認します。
glance image-show <image-id> | grep stores
$ glance image-show <image-id> | grep storesCopy to Clipboard Copied! Toggle word wrap Toggle overflow <image-id>を元の既存イメージの ID に置き換えます。出力には、ストアのコンマ区切りリストが表示されます。
5.5. イメージインポート操作の進捗の確認 リンクのコピーリンクがクリップボードにコピーされました!
相互運用可能なイメージのインポートワークフローでは、イメージデータが順次ストアにインポートされます。イメージのサイズ、ストア数、および中央サイトとエッジサイト間のネットワーク速度が、イメージのインポート操作が完了するのにかかる時間に影響を及ぼします。
イメージのインポート操作中に送付される通知に表示される 2 つのイメージ属性を見て、イメージインポートの進捗を把握することができます。
-
os_glance_importing_to_stores属性: イメージデータをインポートしていないストアがリスト表示されます。インポートの開始時点では、要求されたすべてのストアがリストに表示されます。ストアがイメージデータを正常にインポートするたびに、Image サービスはストアをリストから削除します。 -
os_glance_failed_import属性: イメージデータのインポートに失敗したストアがリスト表示されます。イメージインポート操作の開始時点では、このリストには何も表示されません。
以下の手順の環境には、central ストアおよび 2 つのエッジストア (dcn0 および dcn1) という 3 つの Red Hat Ceph Storage クラスターがあります。
手順
イメージデータが特定のストアに追加されたことを確認します。
glance image-show <image-id>
$ glance image-show <image-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <image-id>を元の既存イメージの ID に置き換えます。出力には、以下のスニペット例のようなストアのコンマ区切りリストが表示されます。
| os_glance_failed_import | | os_glance_importing_to_stores | central,dcn0,dcn1 | status | importing
| os_glance_failed_import | | os_glance_importing_to_stores | central,dcn0,dcn1 | status | importingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
イメージインポート操作のステータスを監視します。このコマンドを
watchコマンドの引数にすると、コマンドの出力は 2 秒ごとに更新されます。watch glance image-show <image-id>
$ watch glance image-show <image-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <image-id>を元の既存イメージの ID に置き換えます。イメージのインポート操作が進むと、操作のステータスが変わります。
| os_glance_failed_import | | os_glance_importing_to_stores | dcn0,dcn1 | status | importing
| os_glance_failed_import | | os_glance_importing_to_stores | dcn0,dcn1 | status | importingCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージのインポートに失敗したことを示す出力は、以下の例のようになります。
| os_glance_failed_import | dcn0 | os_glance_importing_to_stores | dcn1 | status | importing
| os_glance_failed_import | dcn0 | os_glance_importing_to_stores | dcn1 | status | importingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 操作が完了すると、ステータスが active に変わります。
| os_glance_failed_import | dcn0 | os_glance_importing_to_stores | | status | active
| os_glance_failed_import | dcn0 | os_glance_importing_to_stores | | status | activeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.6. 既存イメージを複数のストアにコピーする リンクのコピーリンクがクリップボードにコピーされました!
この機能により、Red Hat OpenStack Image サービス (glance) のイメージデータを使用して、既存イメージを相互運用可能なイメージのインポートワークフローを使用してエッジにある複数の Red Hat Ceph Storage ストアにコピーできます。
イメージをエッジサイトのいずれかにコピーするためには、そのイメージは中央サイトに存在していなければなりません。既存のイメージを新たに追加したストアにコピーできるのは、イメージの所有者または管理者だけです。
--all-stores を true に設定するか、イメージデータを受け取る特定のストアを指定して、既存のイメージデータをコピーすることができます。
-
--all-storesオプションのデフォルト設定はfalseです。--all-storesがfalseの場合は、--stores <store-1>,<store-2>を使用してイメージデータを受け取るストアを指定する必要があります。指定されたストアにイメージデータがすでに存在する場合、要求は失敗します。 -
--all-storesをtrueに設定した場合、一部のストアにイメージデータがすでに存在していたら、それらのストアはリストから除外されます。
イメージデータを受け取るストアを指定すると、Image サービス (glance) は中央サイトからステージングエリアにデータをコピーします。続いて、Image サービスは相互運用可能なイメージのインポートワークフローを使用してイメージデータをインポートします。詳細は、複数ストアへのイメージのインポート を参照してください。
イメージ管理には Image service コマンドラインクライアントを使用します。
Red Hat では、短時間に連続してイメージのコピー要求を行わないことを推奨します。同じイメージに対して短時間に 2 回イメージのコピー操作を行うと、競合状態が発生し予期せぬ結果を招きます。既存のイメージデータに影響はありませんが、新規ストアへのデータコピーに失敗します。
5.6.1. 全ストアへのイメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
利用可能なすべてのストアにイメージデータをコピーするには、以下の手順を使用します。
手順
利用可能なすべてのストアにイメージデータをコピーします。
glance image-import <image-id> \ --all-stores true \ --import-method copy-image
$ glance image-import <image-id> \ --all-stores true \ --import-method copy-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-id>をコピーするイメージの名前に置き換えます。
-
利用可能なすべてのストアにイメージデータが正常に複製されたことを確認します。
glance image-list --include-stores
$ glance image-list --include-storesCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージインポート操作のステータスを確認する方法について、詳細は 「イメージインポート操作の進捗の確認」 を参照してください。
5.6.2. 特定ストアへのイメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
特定のストアにイメージデータをコピーするには、以下の手順を使用します。
手順
特定のストアにイメージデータをコピーします。
glance image-import <image-id> \ --stores <store-1>,<store-2> \ --import-method copy-image
$ glance image-import <image-id> \ --stores <store-1>,<store-2> \ --import-method copy-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<image-id>をコピーするイメージの名前に置き換えます。 -
<store-1>と<store-2>を、イメージデータのコピー先のストア名に置き換えます。
-
指定したストアにイメージデータが正常に複製されたことを確認します。
glance image-list --include-stores
$ glance image-list --include-storesCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージインポート操作のステータスを確認する方法について、詳細は 「イメージインポート操作の進捗の確認」 を参照してください。
5.7. 特定ストアからのイメージの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) を使用して、特定のストアにある既存のイメージコピーを削除します。
イメージ管理には Image service コマンドラインクライアントを使用します。
手順
特定のストアからイメージを削除します。
glance stores-delete --store <store-id> <image-id>
$ glance stores-delete --store <store-id> <image-id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<store-id>を、イメージのコピーを削除するストアの名前に置き換えます。 -
<image-id>を、削除するイメージの ID に置き換えます。
lance image-delete コマンドを使用すると、すべてのサイトからイメージが完全に削除されます。イメージのすべてのコピーに加えて、イメージインスタンスおよびメタデータが削除されます。
5.8. イメージの場所と場所のプロパティーのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
イメージは複数のサイトに存在できますが、特定のイメージの Universal Unique Identifier (UUID) は 1 つだけです。イメージのメタデータには、各コピーの場所が含まれます。たとえば、2 つのエッジサイトに存在するイメージは、3 つの場所 (中央サイトおよび 2 つのエッジサイト) に単一の UUID として公開されます。
イメージ管理には、OpenStack コマンドラインクライアントではなく、Image Service (glance) コマンドラインクライアントを使用します。ただし、openstack image show コマンドを使用して、イメージの場所のプロパティーを一覧表示します。glance image-show コマンドの出力には場所が含まれていません。
手順
イメージのコピーが存在するサイトを表示します。
glance image-show ID | grep "stores" | stores | default_backend,dcn1,dcn2
$ glance image-show ID | grep "stores" | stores | default_backend,dcn1,dcn2Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、イメージは中央サイト (
default_backend) ならびに 2 つのエッジサイト (dcn1およびdcn2) に存在します。あるいは、
--include-storesオプションを指定してglance image-listコマンドを実行し、イメージが存在するサイトを表示することができます。glance image-list --include-stores | ID | Name | Stores | 2bd882e7-1da0-4078-97fe-f1bb81f61b00 | cirros | default_backend,dcn1,dcn2
$ glance image-list --include-stores | ID | Name | Stores | 2bd882e7-1da0-4078-97fe-f1bb81f61b00 | cirros | default_backend,dcn1,dcn2Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージの場所のプロパティーをリスト表示し、それぞれの場所の詳細を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージの属性には、各イメージの場所ごとに異なる Ceph RBD URI が表示されます。
この例では、中央のイメージの場所の URI は以下のとおりです。
rbd://79b70c32-df46-4741-93c0-8118ae2ae284/images/2bd882e7-1da0-4078-97fe-f1bb81f61b00/snap', 'metadata': {'store': 'default_backend'}}rbd://79b70c32-df46-4741-93c0-8118ae2ae284/images/2bd882e7-1da0-4078-97fe-f1bb81f61b00/snap', 'metadata': {'store': 'default_backend'}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow URI は以下のデータで構成されます。
-
79b70c32-df46-4741-93c0-8118ae2ae284は中央の Ceph FSID を表します。それぞれの Ceph クラスターは、固有の FSID を持ちます。 -
すべてのサイトのデフォルト値は
imagesです。これは、イメージが保存される Ceph プールを表します。 -
2bd882e7-1da0-4078-97fe-f1bb81f61b00はイメージの UUID を表します。あるイメージの UUID は、場所に関係なく同一です。 -
メタデータには、この場所がマッピングする glance ストアが表示されます。この例では、中央のハブサイトである
default_backendにマッピングします。
-
付録A Image サービスのコマンドオプション リンクのコピーリンクがクリップボードにコピーされました!
glance image-create、glance image-create-via-import、および glance image-update コマンドで次のオプションの引数を使用できます。
| 対象コンポーネント | オプション | 説明 |
|---|---|---|
| すべて |
| https://docs.openstack.org/glance/latest/user/common-image-properties.html#architecture で指定されているオペレーティングシステムアーキテクチャー |
| すべて |
| true の場合、イメージは削除できません。 |
| すべて |
| イメージのわかりやすい名前 |
| すべて |
| このイメージが関連付けられているインスタンスを記録するために使用できるメタデータ。(情報のみ。インスタンスのスナップショットは作成されません。) |
| すべて |
| イメージの起動に必要なディスク容量 (GB)。 |
| すべて |
| イメージアクセシビリティの範囲。有効な値: public、private、community、shared |
| すべて |
| AMI 形式のイメージをブートする際にカーネルとして使用する必要のある Image サービス (glance) に保管されているイメージの ID |
| すべて |
| ディストリビューターによって指定されるオペレーティングシステムのバージョン |
| すべて |
| ディスクのフォーマット。有効な値: None、ami、ari、aki、vhd、vhdx、vmdk、raw、qcow2、vdi、iso、ploop |
| すべて |
| https://docs.openstack.org/glance/latest/user/common-image-properties.html#os-distro で指定されているオペレーティングシステムディストリビューションの一般名 |
| すべて |
| イメージの所有者 |
| すべて |
| AMI 形式のイメージをブートする際に ramdisk として使用する必要のある、Image サービスに保管されているイメージの ID |
| すべて |
| イメージの起動に必要な RAM の量 (MB)。 |
| すべて |
| コンテナーのフォーマット。有効な値: None、ami、ari、aki、bare、ovf、ova、docker |
| すべて |
| イメージに関連付ける任意のプロパティー。複数回の使用が可能です。 |
|
|
| イメージに関連する文字列のリスト |
|
|
| イメージの識別子 |
|
|
| イメージから削除する任意のプロパティーのキー名。 |
付録B イメージの設定パラメーター リンクのコピーリンクがクリップボードにコピーされました!
次のキーは、glance image-create、glance image-create-via-import、glance image-update コマンドの --property オプションで使用できます。
| 対象コンポーネント | キー | 説明 | サポートされている値 |
|---|---|---|---|
| すべて |
|
ハイパーバイザーがサポートする必要のある CPU アーキテクチャー。たとえば、 |
|
| すべて |
| ハイパーバイザーの種別 |
|
| すべて |
| スナップショットイメージの場合、このイメージを作成するのに使用したサーバーの UUID | 有効なサーバーの UUID |
| すべて |
| AMI 形式のイメージをブートする際にカーネルとして使用する必要のある Image サービスに保管されているイメージの ID | 有効なイメージ ID |
| すべて |
| オペレーティングシステムのディストリビューションの小文字による一般名 |
|
| すべて |
| ディストリビューターによって指定されるオペレーティングシステムのバージョン | バージョン番号 (例: "11.10") |
| すべて |
| AMI 形式のイメージをブートする際に ramdisk として使用する必要のある、Image サービスに保管されているイメージの ID | 有効なイメージ ID |
| すべて |
| 仮想マシンのモード。仮想マシンに使用されるホスト/ゲストの ABI (アプリケーションバイナリーインターフェイス) を示します。 |
|
| libvirt API ドライバー |
| CD-ROM デバイスの接続先となるディスクコントローラーの種別を指定します。 |
|
| libvirt API ドライバー |
| ディスクデバイスの接続先となるディスクコントローラーのタイプを指定します。 |
|
| libvirt API ドライバー |
| インスタンスの起動に使用するファームウェアのタイプを指定します。 | 以下の有効な値のいずれかに設定します。
|
| libvirt API ドライバー |
| 指定されたマシンタイプを使用して、ARM システムを起動できるようにします。ARM イメージが使用されており、そのマシンタイプが明示的に指定されていない場合、Compute は仮想マシンタイプを ARMv7 および AArch64 のデフォルトとして使用します。 |
有効なタイプは、 |
| libvirt API ドライバー |
| インスタンスに公開する NUMA ノードの数 (フレーバーの定義はオーバーライドしません) | 整数 |
| libvirt API ドライバー |
| 仮想 CPU N-M から NUMA ノード 0 へのマッピング (フレーバーの定義はオーバーライドしません) | 整数のコンマ区切りリスト |
| libvirt API ドライバー |
| 仮想 CPU N-M から NUMA ノード 1 へのマッピング (フレーバーの定義はオーバーライドしません) | 整数のコンマ区切りリスト |
| libvirt API ドライバー |
| N MB の RAM から NUMA ノード 0 へのマッピング (フレーバーの定義はオーバーライドしません) | 整数 |
| libvirt API ドライバー |
| N MB の RAM から NUMA ノード 1 へのマッピング (フレーバーの定義はオーバーライドしません) | 整数 |
| libvirt API ドライバー |
| PCI パススルーデバイスおよび SR-IOV インターフェイスの NUMA アフィニティーポリシーを指定します。 | 以下の有効な値のいずれかに設定します。
|
| libvirt API ドライバー |
|
ゲストエージェントのサポート。 |
|
| libvirt API ドライバー |
| このイメージを使用して起動したインスタンスに、乱数生成器 (RNG) デバイスを追加します。
インスタンスフレーバーにより、RNG デバイスがデフォルトで有効になります。RNG デバイスを無効にするには、クラウド管理者はフレーバーで
デフォルトのエントロピーソースは |
|
| libvirt API ドライバー |
| VirtIO SCSI (virtio-scsi) の使用を有効にして、コンピュートインスタンスのブロックデバイスアクセスを提供します。デフォルトでは、インスタンスは VirtIO Block (virtio-blk) を使用します。VirtIO SCSI は準仮想化 SCSI コントローラーデバイスで、より高いスケーラビリティーとパフォーマンスを提供し、高度な SCSI ハードウェアに対応します。 |
|
| libvirt API ドライバー |
|
使用する TPM デバイスのモデルに設定します。 |
|
| libvirt API ドライバー |
|
使用する TPM のバージョンを設定します。TPM バージョン |
|
| libvirt API ドライバー |
| 仮想マシンインスタンスで使用するディスプレイデバイス用のビデオデバイスドライバー。 | 次のいずれかの値に設定して、使用するサポートされているドライバーを指定します。
|
| libvirt API ドライバー |
|
ビデオイメージの最大 RAM。フレーバーの | 整数 (MB 単位。例: 64) |
| libvirt API ドライバー |
|
サーバーがハングした場合に指定したアクションを実行する仮想ハードウェアウォッチドッグデバイスを有効にします。このウォッチドッグは、i6300esb デバイスを使用します (PCI Intel 6300ESB をエミュレート)。 |
|
| libvirt API ドライバー |
|
デフォルトではなく、 | |
| libvirt API ドライバー |
| UEFI セキュアブートで保護されたインスタンスを作成するために使用します。 | 以下の有効な値のいずれかに設定します。
|
| libvirt API ドライバーおよび VMware API ドライバー |
| 使用する仮想ネットワークインターフェイスデバイスのモデルを指定します。 | 設定したハイパーバイザーによって有効なオプションは異なります。
|
| VMware API ドライバー |
| ハイパーバイザーが使用する仮想 SCSI または IDE コントローラー |
|
| VMware API ドライバー |
|
イメージにインストールされているオペレーティングシステムを示す VMware GuestID。この値は、仮想マシンの作成時にハイパーバイザーに渡されます。指定しなかった場合には、このキーの値はデフォルトの | 詳細は、Images with VMware vSphere を参照してください。 |
| VMware API ドライバー |
| 現在は使用されていません。 |
|
| XenAPI ドライバー |
|
true に指定した場合には、ディスク上のルートパーティションは、インスタンスがブートする前に自動的にリサイズされます。この値は、Xen ベースのハイパーバイザーを XenAPI ドライバーと共に使用する場合にのみ Compute サービスによって考慮されます。Compute サービスは、イメージに単一のパーティションがあり、かつそのパーティションが |
|
| libvirt API ドライバーおよび XenAPI ドライバー |
|
イメージ上にインストールされるオペレーティングシステム。XenAPI ドライバーには、イメージの |
|