イメージの作成と管理
イメージの作成および管理
概要
第1章 Image サービス (glance) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) でのイメージおよびストレージを管理します。
1.1. 仮想マシン (VM) イメージ形式 リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンイメージは、起動可能なオペレーティングシステムがインストールされた仮想ディスクが含まれるファイルです。仮想マシンイメージは、さまざまな形式でサポートされます。以下の形式は、Red Hat OpenStack Platform (RHOSP) で利用できます。
-
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 などの仮想マシンモニターで使用される一般的なディスク形式。 -
PLOOP: OS コンテナーを実行するのに Virtuozzo でサポートおよび使用されているディスク形式 -
OVA: Image サービス (glance) に保存されているのが OVA tar アーカイブファイルであることを示します。 -
DOCKER: Image サービス (glance) に保存されているのがコンテナーファイルシステムの Docker tar アーカイブであることを示します。
通常、仮想マシンイメージの形式に ISO は考慮されませんが、ISO にはオペレーティングシステムがインストール済みのブート可能なファイルシステムが含まれているので、他の形式の仮想マシンイメージファイルと同様に使用されます。
1.2. サポート対象の Image サービスバックエンド リンクのコピーリンクがクリップボードにコピーされました!
以下に示す Image サービス (glance) バックエンドのシナリオがサポートされます。
- Ceph を使用する場合には、RBD がデフォルトのバックエンドです。
- RBD マルチストア。
- Object Storage (swift)。Image サービスは、Object Storage のタイプとバックエンドをデフォルトとして使用します。
- Block Storage (cinder)。
NFS
- 重要
NFS はサポート対象の Image サービス用デプロイメントオプションですが、より堅牢なオプションを利用することができます。
NFS は Image サービスネイティブではありません。NFS 共有を Image サービスにマウントした場合、Image サービスは操作を管理しません。Image サービスはファイルシステムにデータを書き込みますが、バックエンドが NFS 共有であることを認識しません。
この種別のデプロイメントでは、ファイル共有に異常が発生しても、Image サービスは要求をリトライすることができません。つまり、バックエンドで障害が発生した場合、ストアは読み取り専用モードに移行するか、ローカルファイルシステムにデータの書き込みを続けます。この場合、データを損失する可能性があります。この状況から回復するには、ファイル共有がマウントされ同期されている状態にし、続いて Image サービスを再起動する必要があります。このような理由により、Red Hat では、Image サービスのバックエンドとして NFS を推奨しません。
ただし、Image サービスのバックエンドに NFS を使用することを選択した場合には、以下のベストプラクティスがリスクを軽減するのに役立ちます。
- 信頼性の高い実稼働環境グレードの NFS バックエンドを使用する。
- コントローラーノードと NFS バックエンドの間に強力で信頼性の高い接続があることを確認してください。レイヤー 2 (L2) ネットワーク接続が推奨されます。
- マウントされたファイル共有のモニタリングおよびアラート機能を追加する。
- 基になるファイルシステムのアクセス許可を設定します。書き込み権限は、ストアとして使用する共有ファイルシステムに設定する必要があります。
- glance-api プロセスが実行されるユーザーおよびグループが、ローカルファイルシステムのマウントポイントに対する書き込み権限を持たないようにしてください。これにより、プロセスはマウントの異常を検出して、書き込みを試みる際にストアを読み取り専用モードに移行することができます。
1.3. イメージの署名および検証 リンクのコピーリンクがクリップボードにコピーされました!
イメージの署名および検証により、デプロイ担当者がイメージに署名して、その署名と公開鍵の証明書をイメージの属性として保存できるようにすることで、イメージの整合性と信頼性を保護します。
Nova が RADOS Block Device (RBD) を使用して仮想マシンディスクを格納している場合、イメージの署名と検証はサポートされません。
イメージの署名および検証に関する詳しい情報は、OpenStack Key Manager でのシークレットの管理 の Image サービス (glance) のイメージの検証 を参照してください。
1.4. イメージの変換 リンクのコピーリンクがクリップボードにコピーされました!
イメージの変換は、イメージのインポート中にタスク API を呼び出して、イメージを変換します。
インポートのワークフローの一環として、プラグインがイメージの変換機能を提供します。デプロイメント設定に基づいて、このプラグインをアクティブ化または非アクティブ化できます。デプロイ担当者は、デプロイメントに希望のイメージ形式を指定する必要があります。
内部的には、Image サービス (glance) はイメージのビットを特定の形式で受け取り、そのビットを一時的な場所に保存します。Image サービスはプラグインをトリガーして、イメージをターゲット形式に変換し、イメージを最終的な宛先に移動します。タスクが完了すると、Image サービスは一時的な場所を削除します。Image サービスは、最初にアップロードされた形式を保持しません。
イメージのインポート時にのみ、イメージ変換をトリガーできます。イメージのアップロード時には実行されません。
イメージ管理には Image service コマンドラインクライアントを使用します。
以下に例を示します。
1.5. 相互運用可能なイメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
相互運用可能なイメージのインポートワークフローにより、以下の 2 とおりの方法でイメージをインポートすることができます。
-
web-download(デフォルト) メソッドを使用して、URI からイメージをインポートする。 -
glance-directメソッドを使用して、ローカルファイルシステムからイメージをインポートする。 -
copy-imageメソッドを使用して、デプロイメント内の他の Image サービス (glance) バックエンドに既存のイメージをコピーします。このインポート方法は、デプロイで複数の Image サービスバックエンドが有効になっている場合にのみ使用してください。
1.6. Image サービスのキャッシュ機能を使用したスケーラビリティーの向上 リンクのコピーリンクがクリップボードにコピーされました!
glance-api キャッシュメカニズムを使用して、Image サービス (glance) 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.7. イメージの事前キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) director は、glance-api サービスの一部としてイメージを事前キャッシュすることができます。
イメージ管理には Image service (glance) コマンドラインクライアントを使用します。
1.7.1. 定期的にイメージを事前キャッシュする際のデフォルト間隔の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) director は、glance-api サービスの一部としてイメージを事前キャッシュすることができます。
事前キャッシュの定期ジョブは、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 のインストールと使用方法 の デプロイメントコマンド を参照してください。
1.7.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
手順
管理ユーザーとして、キャッシュするイメージをキューに追加します。
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 が HA 設定でデプロイされている場合 (3、5、または 7 台のコントローラー)、
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 アドレスに置き換えてください。
関連情報
以下の目的で、さらに glance-cache-manage コマンドを使用することができます。
-
list-cached: 現在キャッシュされているすべてのイメージをリスト表示する。 -
list-queued: キャッシュするために現在キューに追加されているすべてのイメージをリスト表示する。 -
queue-image: キャッシュするためにイメージをキューに追加する。 -
delete-cached-image: キャッシュからイメージを削除する。 -
delete-all-cached-images: キャッシュからすべてのイメージを削除する。 -
delete-queued-image: キャッシュのキューからイメージを削除する。 -
delete-all-queued-images: キャッシュのキューからすべてのイメージを削除する。
1.8. 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
イメージのアップロードに関する詳細は、イメージのアップロード を参照してください。
検証
イメージをインポートしてそのサイズを確認し、スパースイメージのアップロードを検証することができます。
次の手順では、コマンド例を使用します。必要に応じて、値をご使用の環境の値に置き換えてください。
イメージファイルをローカルにダウンロードします。
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.9. metadef API の保護 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) では、ユーザーはメタデータ定義 (metadef) API を使用してキー/値のペアおよびタグメタデータを定義することができます。現時点では、ユーザーが作成することのできる metadef 名前空間、オブジェクト、属性、リソース、またはタグの数に制限はありません。
metadef API により、情報が権限のないユーザーに漏えいする可能性があります。悪意のあるユーザーは制約がないことを悪用し、Image サービス (glance) のデータベースを無制限のリソースで埋め尽くすことができます。これにより、サービス拒否 (DoS) 型の攻撃を行うことができます。
Image サービスのポリシーは metadef API を制御します。ただし、metadef API のデフォルトのポリシー設定では、すべてのユーザーが metadef 情報を作成または読み取ることができます。metadef リソースへのアクセスは所有者だけに制限されている訳ではないため、内部インフラストラクチャーの詳細や顧客名などの秘匿すべき名前を持つ metadef リソースの情報が、悪意のあるユーザーに漏えいする可能性があります。
1.9.1. metadef API を制限するためのポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) をよりセキュアにするには、Red Hat OpenStack Platform (RHOSP) デプロイメントのデフォルトでは metadef 変更 API へのアクセスを管理者だけに制限します。
手順
クラウド管理者として新たな heat テンプレートの環境ファイルを作成し (例:
lock-down-glance-metadef-api.yaml)、Image サービス metadef API のポリシーオーバーライドを含めます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オーバークラウドのデプロイ時に
-eオプションを使用して、ポリシーオーバーライドが含まれる環境ファイルをデプロイメントコマンドに追加します。openstack overcloud deploy -e lock-down-glance-metadef-api.yaml
$ openstack overcloud deploy -e lock-down-glance-metadef-api.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.2. metadef API の有効化 リンクのコピーリンクがクリップボードにコピーされました!
以前にメタデータ定義 (metadef) API を制限している場合や、新規のデフォルトを緩和する場合は、metadef 変更ポリシーをオーバーライドして、ユーザーがそれぞれのリソースを更新できるようにすることが可能です。
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:metadeta_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章 イメージの管理 リンクのコピーリンクがクリップボードにコピーされました!
Image サービス (glance) は、ディスクおよびサーバーイメージの検出、登録、および配信のサービスを提供します。サーバーイメージのコピーやスナップショットを作成して直ちに保管する機能を提供します。保管したイメージをテンプレートとして使用し、新規サーバーを迅速に稼働させることができます。これはサーバーのオペレーティングシステムをインストールしてサービスを個別に設定するよりも一貫性の高い方法です。
2.1. イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
イメージを作成するには、Red Hat Enterprise Linux (RHEL)カーネルベースの仮想マシン(KVM)ゲストイメージを使用するか、RHEL ISO ファイルまたは Windows ISO ファイルを使用して QCOW2 形式で Red Hat OpenStack Platform (RHOSP)互換イメージを手動で作成します。
2.1.1. Red Hat OpenStack Platform における KVM ゲストイメージの使用 リンクのコピーリンクがクリップボードにコピーされました!
以下に示す、準備が完了したいずれかの Red Hat Enterprise Linux (RHEL) Kernel-based Virtual Machine (KVM) ゲスト QCOW2 イメージを使用できます。
これらのイメージは、cloud-init を使用して設定されます。適切に機能させるには、EC2 互換のメタデータサービスを利用して SSH キーをプロビジョニングする必要があります。
準備済みの Windows KVM ゲスト QCOW2 イメージはありません。
KVM ゲストイメージの場合:
-
イメージでは
rootアカウントが非アクティブ化されていますが、cloud-userという名前の特別なユーザーにはsudoアクセスが許可されています。 -
このイメージには
rootパスワードは設定されていません。
root パスワードは、/etc/shadow で 2 番目のフィールドに !! と記載することによりロックされます。
Red Hat OpenStack Platform (RHOSP) インスタンスでは、RHOSP Dashboard またはコマンドラインから SSH キーペアを生成し、その鍵の組み合わせを使用して、インスタンスに対して root ユーザーとして SSH 公開認証を実行します。
インスタンスを起動すると、この公開鍵がインスタンスに注入されます。続いて、キーペア作成時にダウンロードする秘密鍵を使用して認証を行うことができます。
2.1.2. Red Hat Enterprise Linux または Windows のカスタムイメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
カスタムの Red Hat Enterprise Linux (RHEL)または Windows イメージを作成するには、以下の前提条件を満たしていることを確認してください。
前提条件
- イメージを作成する Linux ホストマシン。これは、アンダークラウドまたはオーバークラウドを除き、Linux パッケージをインストールして実行できる任意のマシンです。
advanced-virt リポジトリーが有効になっている。
sudo subscription-manager repos --enable=advanced-virt-for-rhel-8-x86_64-rpms
$ sudo subscription-manager repos --enable=advanced-virt-for-rhel-8-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
2.1.3. Red Hat Enterprise Linux 9 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) 9 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
[root@host]# プロンプトのすべてのコマンドを、ホストマシン上で実行する必要があります。
手順
virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 山かっこ
<>内の値を、使用している RHEL 9 イメージに応じた適切な値に置き換えます。このコマンドは、インスタンスを起動してインストールプロセスを開始します。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <rhel9>
[root@host]# virt-viewer <rhel9>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インスタンスを設定します。
- インストーラーの初期ブートメニューで、Install Red Hat Enterprise Linux 9 を選択します。
- 適切な 言語 および キーボード オプションを選択します。
- インストールに使用するデバイス種別を尋ねるプロンプトが表示されたら、自動検出したインストールメディア を選択します。
- インストール先を尋ねるプロンプトが表示されたら、ローカルの標準ディスク を選択します。その他のストレージオプションについては、Automatically configure partitioning を選択します。
- SSH サーバーをインストールする 基本サーバー インストールを選択します。
- ネットワークとホスト名の設定では、ネットワークに 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 - マシンを再起動します。
コンテンツ配信ネットワークにマシンを登録します。
sudo subscription-manager register sudo subscription-manager attach --pool=Valid-Pool-Number-123456 sudo subscription-manager repos --enable=rhel-9-server-rpms
# sudo subscription-manager register # sudo subscription-manager attach --pool=Valid-Pool-Number-123456 # sudo subscription-manager repos --enable=rhel-9-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムを更新します。
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>
[root@host]# virt-sysprep -d <rhel9>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 デプロイメントにアップロードする方法の詳細は、イメージのアップロード を参照してください。
2.1.4. Red Hat Enterprise Linux 8 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 8 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
[root@host]# プロンプトのすべてのコマンドを、ホストマシン上で実行する必要があります。
手順
virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 山かっこ
<>内の値を、使用している RHEL 8 イメージに応じた適切な値に置き換えます。このコマンドは、インスタンスを起動してインストールプロセスを開始します。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <rhel86-cloud-image>
[root@host]# virt-viewer <rhel86-cloud-image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
インスタンスを設定します。
インストーラーの初期ブートメニューで Install or upgrade an existing system を選択し、インストールの指示に従います。デフォルト値を受け入れます。
ディスクインストーラーでは、インストール前にインストールメディアをテストするオプションを利用することができます。テストを実行するには OK を、テストを行わずに続行するには Skip を選択します。
- 適切な 言語 および キーボード オプションを選択します。
- インストールに使用するデバイス種別を尋ねるプロンプトが表示されたら、基本ストレージデバイス を選択します。
-
デバイスのホスト名を指定します。デフォルトのホスト名は
localhost.localdomainです。 -
タイムゾーン と
rootパスワードを設定します。 - Which type of installation would you like? のウィンドウのオプションから、ディスクの空き容量に応じて必要なインストールの種別を選択します。
- SSH サーバーをインストールする 基本サーバー インストールを選択します。
- インストールプロセスが完了し、おめでとうございます。Red Hat Enterprise Linux のインストールが完了しました。の画面が表示されます。
-
インスタンスを再起動して、
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 - マシンを再起動します。
コンテンツ配信ネットワークにマシンを登録します。
sudo subscription-manager register sudo subscription-manager attach --pool=Valid-Pool-Number-123456 sudo subscription-manager repos --enable=rhel-8-server-rpms
# sudo subscription-manager register # sudo subscription-manager attach --pool=Valid-Pool-Number-123456 # sudo subscription-manager repos --enable=rhel-8-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムを更新します。
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ファイルに追記します。console=tty0 console=ttyS0,115200n8
console=tty0 console=ttyS0,115200n8Copy 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コマンドを使用してイメージのサイズを縮小します。このコマンドにより、ディスクイメージ内の空き容量は、ホスト内の空き容量に戻ります。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 デプロイメントにアップロードする方法の詳細は、イメージのアップロード を参照してください。
2.1.5. Windows イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Windows の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
[root@host]# プロンプトのすべてのコマンドを、ホストマシン上で実行する必要があります。
手順
virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow virt-installパラメーターの以下の値を置き換えます。-
<name>: Windows インスタンスの名前 -
<size>: ディスクのサイズ (GB) -
<path>: Windows のインストール ISO ファイルへのパス <RAM>: 要求するメモリー容量 (MB)注記--os-type=windowsパラメーターにより、Windows ゲストのクロックが正しく設定され、Hyper-V エンライトメント機能が有効化されるようになります。Image サービス (glance) にイメージをアップロードする前に、イメージメタデータにos_type=windowsを設定する必要もあります。
-
virt-installコマンドは、デフォルトでゲストイメージを/var/lib/libvirt/images/<name>.qcow2として保存します。ゲストイメージを別の場所に保存する場合は、--diskオプションのパラメーターを変更します。--disk path=<filename>,size=<size>
--disk path=<filename>,size=<size>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <filename>を、インスタンスイメージを保存するファイルの名前 (およびオプションでそのパス) に置き換えます。たとえば、path=win8.qcow2,size=8は現在の作業ディレクトリーにwin8.qcow2という名前の 8 GB ファイルを作成します。ヒントゲストが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer <name>
[root@host]# virt-viewer <name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Windows のインストール方法の詳細は、該当する Microsoft のドキュメントを参照してください。
-
新規インストールした Windows システムで仮想化ハードウェアを使用できるようにするには、VirtIO ドライバーをインストールしなければならない場合があります。これを行うには、イメージを CD-ROM ドライブとして Windows インスタンスに接続してインストールします。
virtio-winパッケージをインストールするには、インスタンスに VirtIO ISO イメージを追加して、VirtIO ドライバーをインストールする必要があります。詳細は、仮想化の設定および管理 の Windows 仮想マシン用の KVM 準仮想化ドライバーのインストール を参照してください。 Windows システムで Cloudbase-Init をダウンロード、実行して、設定を完了します。Cloudbase-Init のインストールの最後に、Run Sysprep と Shutdown チェックボックスを選択します。
Sysprepツールは、特定の Microsoft サービスで使用する OS ID を生成して、ゲストを一意にします。重要Red Hat は Cloudbase-Init に関するテクニカルサポートは提供しません。問題が発生した場合は、Cloudbase Solutions に連絡する を参照してください。
Windows システムがシャットダウンしたら、<name>.qcow2 イメージファイルを Image サービスにアップロードすることができます。このイメージを RHOSP デプロイメントにアップロードする方法の詳細は、イメージのアップロード を参照してください。
2.1.5.1. メタデータプロパティー リンクのコピーリンクがクリップボードにコピーされました!
Compute サービス (nova) では、libosinfo データを使用してデフォルトのデバイスモデルを設定する操作が非推奨になりました。これに代わって、以下のイメージメタデータ属性を使用して、インスタンス用の最適な仮想ハードウェアを設定します。
-
os_distro -
os_version -
hw_cdrom_bus -
hw_disk_bus -
hw_scsi_model -
hw_vif_model -
hw_video_model -
hypervisor_type
これらのメタデータ属性に関する詳細は、イメージ設定パラメーター を参照してください。
2.1.6. 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.2. イメージのアップロード リンクのコピーリンクがクリップボードにコピーされました!
イメージを Red Hat OpenStack Platform (RHOSP) Image サービス (glance) にアップロードします。
手順
glance image-createコマンドに--propertyのオプションを指定して実行する方法でイメージをアップロードします。以下に例を示します。
glance image-create --name <NAME> \ --is-public true --disk-format qcow2 \ --container-format bare \ --file <IMAGE_FILE> \ --property <IMAGE_METADATA>$ glance image-create --name <NAME> \ --is-public true --disk-format qcow2 \ --container-format bare \ --file <IMAGE_FILE> \ --property <IMAGE_METADATA>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
glance image-createコマンドオプションのリストについては、Image service (glance) コマンドオプション を参照してください。 - プロパティーキーの一覧は、イメージ設定パラメーター を参照してください。
-
2.3. イメージの更新 リンクのコピーリンクがクリップボードにコピーされました!
イメージを更新します。
手順
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 service (glance) コマンドオプション を参照してください。 - プロパティーキーの一覧は、イメージ設定パラメーター を参照してください。
-
2.4. イメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
次の 2 つの方法のいずれかを使用して、Image サービス (glance) にイメージをインポートできます。
-
web-downloadを使用して、URI からイメージをインポートします。 -
ローカルファイルシステムからイメージをインポートするには、
glance-directを使用します。
web-download メソッドはデフォルトで有効化されています。クラウド管理者がインポート方法を設定します。利用可能なインポートオプションを一覧表示するには、glance import-info コマンドを実行します。
2.4.1. リモート URI からのイメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
web-download メソッドを使用して、リモートの URI からイメージをコピーすることができます。
イメージを作成して、インポートするイメージの 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>コマンドを使用して、イメージの可用性を確認できます。-
<IMAGE_ID>は、イメージの作成時に指定した ID に置き換えます。
-
Image サービスの web download メソッドでは、2 段階のプロセスでインポートを実施します。
-
Web ダウンロード方式では、イメージレコードが作成されます。 -
Web ダウンロードメソッドは、指定された URI からイメージを取得します。
URI は、オプションの拒否リストおよび許可リストのフィルタリングの対象となります。
Image Property Injection プラグインにより、メタデータ属性をイメージに注入することができます。注入されたこれらの属性により、イメージインスタンスを起動するコンピュートノードが決定されます。
2.4.2. ローカルボリュームからのイメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
glance-direct メソッドは、イメージレコードを作成し、それによりイメージ ID が生成されます。イメージがローカルボリュームから Image サービスにアップロードされるとステージングエリアに保管され、設定されているチェックに合格した後にアクティブとなります。高可用性 (HA) 設定で使用される場合には、glance-direct メソッドには共通のステージングエリアが必要です。
HA 環境では、glance-direct メソッドを使用したイメージのアップロードは、共通のステージエリアがない場合には失敗します。HA のアクティブ/アクティブ環境では、API コールは複数の Image サービスのコントローラーに分散されます。ダウンロード API コールは、イメージをアップロードする API コールとは別のコントローラーに送信することが可能です。
glance-direct メソッドは、3 つの異なるコールを使用して、イメージをインポートします。
-
glance image-create -
glance image-stage -
glance image-import
glance image-create-via-import コマンドを使用すると、これらの 3 つのコールを 1 つのコマンドで実行することができます。
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>
-
<CONTAINER FORMAT>、<DISK-FORMAT>、<NAME>、および</PATH/TO/IMAGE>は、イメージに関連する値に置き換えます。
イメージがステージングエリアからバックエンドの場所に移動すると、そのイメージはリストされます。ただし、イメージがアクティブになるには、多少時間がかかる場合があります。
glance image-show <IMAGE_ID> コマンドを使用して、イメージの可用性を確認できます。
-
<IMAGE_IDは、イメージの作成時に指定した ID に置き換えます。
2.5. イメージの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
1 つまたは複数のイメージを削除するには、
glance image-deleteコマンドを使用します。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コマンドは、イメージとイメージのすべてのコピー、およびイメージインスタンスとメタデータを完全に削除します。
2.6. イメージの非表示または表示 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーに表示される通常のリストからパブリックイメージを非表示にすることができます。たとえば、廃止された CentOS 7 イメージを非表示にし、最新バージョンだけを表示してユーザーエクスペリエンスをシンプル化することができます。ユーザーは、非表示のイメージを検出して使用することができます。
イメージを非表示にするには、以下をコマンドを実行します。
glance image-update <image_id> --hidden 'true'
glance image-update <image_id> --hidden 'true'
非表示のイメージを作成するには、glance image-create コマンドに --hidden 引数を追加します。
イメージの非表示を解除するには、以下のコマンドを実行します。
glance image-update <image_id> --hidden 'false'
glance image-update <image_id> --hidden 'false'
非表示にしたイメージの表示
非表示にしたイメージをリスト表示するには、以下のコマンドを実行します。
glance image-list --hidden 'true'
glance image-list --hidden 'true'
2.7. イメージ変換の有効化 リンクのコピーリンクがクリップボードにコピーされました!
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 コマンドラインクライアントを使用します。
2.7.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
2.7.1.1. Image サービス (glance) でのディスクフォーマットの設定 リンクのコピーリンクがクリップボードにコピーされました!
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 で利用可能なディスクフォーマットの詳細は、イメージ設定パラメーター を参照してください。
2.7.2. RAW 形式でのイメージの保存 リンクのコピーリンクがクリップボードにコピーされました!
以前に作成したイメージを RAW 形式で保存するには、GlanceImageImportPlugins パラメーターを有効にして以下のコマンドを実行します。
-
--name:NAMEをイメージ名に置き換えます。この名前がglance image-listに表示されます。 -
--uri:http://server/image.qcow2を QCOW2 イメージの場所およびファイル名に置き換えます。
このコマンド例では、イメージレコードを作成し、web-download メソッドを使用してそのイメージレコードをインポートします。glance-api は、インポートプロセス中に --uri で定義した場所からイメージをダウンロードします。web-download が利用できない場合、glanceclient はイメージデータを自動的にダウンロードすることができません。利用可能なイメージのインポート方法をリスト表示するには、glance import-info コマンドを実行します。
第4章 複数のストアに対応した Image サービス リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Platform (RHOSP) Image サービス (glance) では、分散エッジアーキテクチャーによる複数ストアの使用がサポートされます。そのため、すべてのエッジサイトにイメージプールを設定することができます。
4.1. 複数ストアでのイメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
分散エッジアーキテクチャーで複数のストアを使用する場合は、すべてのエッジサイトにイメージプールを設定できます。ハブサイトとも呼ばれる中央サイトとエッジサイトの間で、イメージをコピーすることができます。
イメージのメタデータには、各コピーの場所が含まれます。たとえば、2 つのエッジサイトに存在するイメージは、3 つの場所 (中央サイトおよび 2 つのエッジサイト) に単一の UUID として公開されます。つまり、多くのストアで単一の UUID を共有するイメージデータのコピーを持つことができます。場所の詳細は、イメージの場所について を参照してください。
すべてのエッジサイトで RADOS ブロックデバイス (RBD) イメージプールを使用すると、Ceph RBD コピーオンライト (COW) とスナップショットレイヤリングテクノロジーを使用して仮想マシン (VM) をすばやく起動できます。これは、仮想マシンをボリュームからブートできるのと共に、ライブマイグレーションが可能であることを意味します。Ceph RBD を使用した階層化の詳細は、ブロックデバイスガイドの Ceph ブロックデバイスの階層化 を参照してください。
エッジサイトでインスタンスを起動すると、必要なイメージがローカルの Image Service (glance) ストアに自動的にコピーされます。ただし、インスタンスの起動時に時間を節約するために、glance マルチストアを使用して central のイメージストアからエッジサイトにイメージを事前にコピーできます。
4.2. ストレージエッジアーキテクチャーの要件 リンクのコピーリンクがクリップボードにコピーされました!
エッジサイトでイメージを使用するには、次の要件を参照してください。
- 各イメージのコピーは、central サイトの Image サービス (glance) に存在している必要があります。
- イメージを他のエッジサイトにコピーする前に、エッジサイトから central の場所にイメージをコピーする必要があります。
- Red Hat Ceph Storage を使用して分散コンピュートノード (DCN) アーキテクチャーをデプロイする場合は、未加工のイメージを使用する必要があります。
- RADOS Block Device (RBD) は、Image、Compute、および Block Storage サービスのストレージドライバーである必要があります。
-
それぞれのサイトで、
NovaComputeAvailabilityZoneおよびCinderStorageAvailabilityZoneパラメーターに同じ値を割り当てる必要があります。
4.3. 複数ストアへのイメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
相互運用可能なイメージのインポートワークフローを使用して、イメージデータを複数の Ceph Storage クラスターにインポートします。ローカルファイルシステムで、または Web サーバーから利用可能なイメージを、Image サービス (glance) にインポートすることができます。
Web サーバーからイメージをインポートする場合、イメージを複数のストアに一度にインポートすることができます。イメージが Web サーバーで利用できない場合は、イメージをローカルファイルシステムから中央のストアにインポートし、それをさらに別のストアにコピーすることができます。詳細は、複数ストアへの既存イメージのコピー を参照してください。
イメージ管理には Image service コマンドラインクライアントを使用します。
中央サイトにイメージを使用するインスタンスがない場合でも、必ず中央サイトにイメージのコピーを保存してください。Image サービスへのイメージのインポートに関する詳細は、分散コンピュートノードおよびストレージのデプロイメント を参照してください。
4.3.1. イメージのインポート失敗時の対応 リンクのコピーリンクがクリップボードにコピーされました!
--allow-failure パラメーターを使用して、イメージインポート操作の失敗に対応することができます。
-
--allow-failureパラメーターの値をtrueに設定した場合、最初のストアにデータが正常にインポートされると、イメージのステータスはactiveになります。これがデフォルトの設定です。os_glance_failed_importイメージ属性を使用して、イメージデータのインポートに失敗したストアのリストを表示することができます。 -
--allow-failureパラメーターの値をfalseに設定すると、指定したすべてのストアにデータが正常にインポートされた場合に限り、イメージのステータスがactiveになります。いずれかのストアでイメージデータのインポートが失敗した場合、イメージのステータスはfailedになります。イメージは指定されたどのストアにもインポートされません。
4.3.2. 複数ストアへのイメージデータのインポート リンクのコピーリンクがクリップボードにコピーされました!
--allow-failure パラメーターのデフォルト設定は true なので、一部のストアがイメージデータのインポートに失敗するのを許容するのであれば、コマンドにパラメーターを追加する必要はありません。
この手順では、すべてのストアがイメージデータを正常にインポートすることは求められせん。
手順
指定した複数のストアにイメージデータをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - IMAGE-NAME をインポートするイメージの名前に置き換えます。
- URI をイメージの URI に置き換えます。
- STORE1、STORE2、および STORE3 を、イメージデータをインポートするストアの名前に置き換えます。
-
あるいは、
--storesを--all-stores trueに置き換え、すべてのストアにイメージをアップロードします。
QCOW2 イメージを自動的に RAW 形式に変換する glance image-create-via-import コマンドは、web-download メソッドでのみ機能します。glance-direct メソッドを使用することはできますが、共有ファイルシステムが設定されたデプロイメントでのみ機能します。
4.3.3. 複数ストアへのイメージデータのインポート (失敗を許容しない) リンクのコピーリンクがクリップボードにコピーされました!
この手順では、すべてのストアがイメージデータを正常にインポートすることが求められます。
手順
指定した複数のストアにイメージデータをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - IMAGE-NAME をインポートするイメージの名前に置き換えます。
- URI をイメージの URI に置き換えます。
- STORE1、STORE2、および STORE3 を、イメージデータをコピーするストアの名前に置き換えます。
あるいは、
--storesを--all-stores trueに置き換え、すべてのストアにイメージをアップロードします。注記--allow-failureパラメーターをfalseに設定すると、Image サービスはイメージデータのインポートに失敗したストアを無視しません。イメージ属性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 に置き換えます。
出力には、ストアのコンマ区切りリストが表示されます。
4.3.4. 1 つのストアへのイメージデータのインポート リンクのコピーリンクがクリップボードにコピーされました!
イメージデータを 1 つのストアにインポートすることができます。
手順
イメージデータを 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 に置き換えます。
出力には、ストアのコンマ区切りリストが表示されます。
4.3.5. イメージインポート操作の進捗の確認 リンクのコピーリンクがクリップボードにコピーされました!
相互運用可能なイメージのインポートワークフローでは、イメージデータが順次ストアにインポートされます。イメージのサイズ、ストア数、および中央サイトとエッジサイト間のネットワーク速度が、イメージのインポート操作が完了するのにかかる時間に影響を及ぼします。
イメージのインポート操作中に送付される通知に表示される 2 つのイメージ属性を見て、イメージインポートの進捗を把握することができます。
-
os_glance_importing_to_stores属性: イメージデータをインポートしていないストアがリスト表示されます。インポートの開始時点では、要求されたすべてのストアがリストに表示されます。ストアがイメージデータを正常にインポートするたびに、Image サービスはストアをリストから削除します。 -
os_glance_failed_import属性: イメージデータのインポートに失敗したストアがリスト表示されます。イメージインポート操作の開始時点では、このリストには何も表示されません。
以下の手順の環境には、central ストアおよび 2 つのエッジストア (dcn0 および dcn1) という 3 つの Ceph Storage クラスターがあります。
手順
イメージデータが特定のストアに追加されたことを確認します。
glance image-show IMAGE-ID
$ glance image-show IMAGE-IDCopy 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-IDCopy 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
4.4. 複数ストアへの既存イメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
この機能により、Red Hat OpenStack Image サービス (glance) のイメージデータを使用して、既存イメージを相互運用可能なイメージのインポートワークフローを使用してエッジにある複数の Ceph Storage ストアにコピーすることができます。
イメージをエッジサイトのいずれかにコピーするためには、そのイメージは中央サイトに存在していなければなりません。既存のイメージを新たに追加したストアにコピーできるのは、イメージの所有者または管理者だけです。
--all-stores を true に設定するか、イメージデータを受け取る特定のストアを指定して、既存のイメージデータをコピーすることができます。
-
--all-storesオプションのデフォルト設定はfalseです。--all-storesがfalseの場合は、--stores STORE1,STORE2を使用してイメージデータを受け取るストアを指定する必要があります。指定されたストアにイメージデータがすでに存在する場合、要求は失敗します。 -
--all-storesをtrueに設定した場合、一部のストアにイメージデータがすでに存在していたら、それらのストアはリストから除外されます。
イメージデータを受け取るストアを指定すると、Image サービスは中央サイトからステージングエリアにデータをコピーします。続いて、Image サービスは相互運用可能なイメージのインポートワークフローを使用してイメージデータをインポートします。詳細は、複数ストアへのイメージのインポート を参照してください。
イメージ管理には Image service コマンドラインクライアントを使用します。
Red Hat では、短時間に連続してイメージのコピー要求を行わないことを推奨します。同じイメージに対して短時間に 2 回イメージのコピー操作を行うと、競合状態が発生し予期せぬ結果を招きます。既存のイメージデータに影響はありませんが、新規ストアへのデータコピーに失敗します。
4.4.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 イメージインポート操作のステータスを確認する方法については、イメージインポート操作の進捗の確認 を参照してください。
4.4.2. 特定ストアへのイメージのコピー リンクのコピーリンクがクリップボードにコピーされました!
特定のストアにイメージデータをコピーするには、以下の手順を使用します。
手順
特定のストアにイメージデータをコピーします。
glance image-import IMAGE-ID \ --stores STORE1,STORE2 \ --import-method copy-image
$ glance image-import IMAGE-ID \ --stores STORE1,STORE2 \ --import-method copy-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow - IMAGE-ID をコピーするイメージの名前に置き換えます。
- STORE1 および STORE2 を、イメージデータをコピーするストアの名前に置き換えます。
指定したストアにイメージデータが正常に複製されたことを確認します。
glance image-list --include-stores
$ glance image-list --include-storesCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージインポート操作のステータスを確認する方法については、イメージインポート操作の進捗の確認 を参照してください。
4.5. 特定ストアからのイメージの削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenStack Image Service (glance) を使用して、特定のストアにある既存のイメージコピーを削除します。
イメージ管理には Image service コマンドラインクライアントを使用します。
手順
特定のストアからイメージを削除します。
glance stores-delete --store _STORE_ID_ _IMAGE_ID_
$ glance stores-delete --store _STORE_ID_ _IMAGE_ID_
- STORE_ID は、イメージのコピーを削除するストアの名前に置き換えます。
- IMAGE_ID を削除するイメージの ID に置き換えます。
glance image-delete を使用すると、すべてのサイトでイメージが完全に削除されます。イメージのすべてのコピーに加えて、イメージインスタンスおよびメタデータが削除されます。
4.6. イメージの場所について リンクのコピーリンクがクリップボードにコピーされました!
イメージは複数のサイトに存在できますが、特定のイメージの 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) コマンドオプション リンクのコピーリンクがクリップボードにコピーされました!
次の任意の引数は、glance image-create および 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-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 ドライバー |
| 仮想マシンインスタンスで使用するディスプレイデバイス用のビデオデバイスドライバー。 | 次のいずれかの値に設定して、使用するサポートされているドライバーを指定します。
|
| 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 ドライバーには、イメージの |
|