1.2. イメージの管理
Image サービス (glance) は、ディスクおよびサーバーイメージの検出、登録、および配信のサービスを提供します。サーバーイメージのコピーやスナップショットを作成して直ちに保管する機能を提供します。保管したイメージをテンプレートとして使用し、新規サーバーを迅速に稼働させることができます。これはサーバーのオペレーティングシステムをインストールしてサービスを個別に設定するよりも一貫性の高い方法です。
1.2.1. イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6、または Windows の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
1.2.1.1. Red Hat OpenStack Platform における KVM ゲストイメージの使用 リンクのコピーリンクがクリップボードにコピーされました!
すでに準備済みの RHEL KVM ゲスト QCOW2 イメージを使用することができます。
これらのイメージは、cloud-init を使用して設定されます。適切に機能させるには、ec2 互換のメタデータサービスを利用して SSH キーをプロビジョニングする必要があります。
準備済みの Windows KVM ゲスト QCOW2 イメージはありません。
KVM ゲストイメージでは、以下の点に注意してください。
-
KVM ゲストイメージでは
rootアカウントが無効になっていますが、cloud-userという名前の特別なユーザーにsudoアクセスが許可されています。 -
このイメージには
rootパスワードは設定されていません。
root パスワードは、/etc/shadow で 2 番目のフィールドに !! と記載することによりロックされます。
RHOSP インスタンスでは、RHOSP Dashboard またはコマンドラインから ssh キーペアを生成し、その鍵の組み合わせを使用して、インスタンスに対して root として SSH 公開認証を実行します
インスタンスの起動時には、この公開鍵がインスタンスに挿入されます。続いて、キーペア作成時にダウンロードする秘密鍵を使用して認証を行うことができます。
Red Hat Enterprise Linux または Windows のカスタムイメージを作成する場合は、Red Hat Enterprise Linux 7 イメージの作成、Red Hat Enterprise Linux 6 イメージの作成、または Windows イメージの作成 を参照してください。
1.2.1.2. Red Hat Enterprise Linux または 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 ゲストオペレーティングシステムを作成するのに必要なすべてのパッケージをインストールする libvirt、virt-manager
sudo dnf module install -y virt
$ sudo dnf module install -y virtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンイメージにアクセスして変更するための一連のツールをインストールする Libguestfs ツール
sudo dnf install -y libguestfs-tools-c
$ sudo dnf install -y libguestfs-tools-cCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Enterprise Linux 7 もしくは 6 の ISO ファイル(詳細については、RHEL 7.2 Binary DVD もしくは RHEL 6.8 Binary DVD を参照) または Windows の ISO ファイル。Windows の ISO ファイルがない場合には、Microsoft TechNet Evaluation Center に移動して評価版イメージをダウンロードしてください。
-
キックスタートファイルを編集する必要がある場合にはテキストエディター (RHEL のみ)
アンダークラウドに libguestfs-tools パッケージをインストールする場合は、アンダークラウドの tripleo_iscsid サービスとのポートの競合を避けるために iscsid.socket を無効にします。
sudo systemctl disable --now iscsid.socket
$ sudo systemctl disable --now iscsid.socket
1.2.1.2.1. Red Hat Enterprise Linux 7 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 7 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
[root@host]# プロンプトのすべてのコマンドを、ホストマシン上で実行する必要があります。
virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドによりインスタンスが起動し、インストールプロセスが開始されます。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer rhel7
[root@host]# virt-viewer rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスを設定します。
- インストーラーの初期ブートメニューで、Install Red Hat Enterprise Linux 7 を選択します。
- 適切な 言語 および キーボード オプションを選択します。
- インストールに使用するデバイス種別を尋ねるプロンプトが表示されたら、自動検出したインストールメディア を選択します。
- インストール先を尋ねるプロンプトが表示されたら、ローカルの標準ディスク を選択します。その他のストレージタイプオプションには、自動設定のパーティション設定 を選択します。
- ソフトウェアのオプションには、最小限のインストール を選択します。
- ネットワークとホスト名の設定では、ネットワークに 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-7-server-rpms
# sudo subscription-manager register # sudo subscription-manager attach --pool=Valid-Pool-Number-123456 # sudo subscription-manager repos --enable=rhel-7-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/sysconfig/networkに以下の行を追加し、EC2 メタデータサービスへのアクセスで問題が発生するのを回避します。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 rhel7
[root@host]# virt-sysprep -d rhel7Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディスクイメージ内の空き容量をホスト内の空き容量に戻して、イメージサイズを縮小します。
virt-sparsify --compress /tmp/rhel7.qcow2 rhel7-cloud.qcow2
[root@host]# virt-sparsify --compress /tmp/rhel7.qcow2 rhel7-cloud.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行すると、その場所に
rhel7-cloud.qcow2ファイルが作成されます。
rhel7-cloud.qcow2 イメージファイルを Image サービスにアップロードする準備が整いました。Dashboard を使用してこのイメージを RHOSP デプロイメントにアップロードする方法については、イメージのアップロード を参照してください。
1.2.1.2.2. Red Hat Enterprise Linux 6 イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 6 の ISO ファイルを使用して、QCOW2 形式の Red Hat OpenStack Platform (RHOSP) 互換イメージを手動で作成します。
[root@host]# プロンプトのすべてのコマンドを、ホストマシン上で実行する必要があります。
virt-installでインストールを開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドによりインスタンスが起動し、インストールプロセスが開始されます。
注記インスタンスが自動的に起動しない場合には、
virt-viewerのコマンドを実行して、コンソールを確認します。virt-viewer rhel6
[root@host]# virt-viewer rhel6Copy 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-6-server-rpms
# sudo subscription-manager register # sudo subscription-manager attach --pool=Valid-Pool-Number-123456 # sudo subscription-manager repos --enable=rhel-6-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 アドレスが割り当てられません)。/etc/sysconfig/networkに以下の行を追加し、EC2 メタデータサービスへのアクセスで問題が発生するのを回避します。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 rhel6
[root@host]# virt-sysprep -d rhel6Copy to Clipboard Copied! Toggle word wrap Toggle overflow virt-sparsifyコマンドを使用してイメージのサイズを縮小します。このコマンドにより、ディスクイメージ内の空き容量は、ホスト内の空き容量に戻ります。virt-sparsify --compress rhel6.qcow2 rhel6-cloud.qcow2
[root@host]# virt-sparsify --compress rhel6.qcow2 rhel6-cloud.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行すると、その場所に新しい
rhel6-cloud.qcow2ファイルが作成されます。注記インスタンスに適用されているフレーバーのディスクスペースに応じて、イメージをベースとするインスタンスのパーティションを手動でリサイズする必要があります。
rhel6-cloud.qcow2 イメージファイルを Image サービスにアップロードする準備が整いました。Dashboard を使用してこのイメージを RHOSP デプロイメントにアップロードする方法については、イメージのアップロード を参照してください。
1.2.1.2.3. 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 サービスにイメージをアップロードする前に、イメージメタデータに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 サービスにアップロードすることができます。Dashboard またはコマンドラインを使用してこのイメージを RHOSP デプロイメントにアップロードする方法については、イメージのアップロード を参照してください。
libosinfo データ
Compute サービスでは、libosinfo データを使用してデフォルトのデバイスモデルを設定する操作が非推奨になりました。これに代わって、以下のイメージメタデータ属性を使用して、インスタンス用の最適な仮想ハードウェアを設定します。
-
os_distro -
os_version -
hw_cdrom_bus -
hw_disk_bus -
hw_scsi_model -
hw_vif_model -
hw_video_model -
hypervisor_type
これらのメタデータ属性についての詳細は、付録A イメージの設定パラメーターを参照してください。
1.2.2. イメージのアップロード リンクのコピーリンクがクリップボードにコピーされました!
- Dashboard で プロジェクト > コンピュート > イメージ を選択します。
- イメージの作成 をクリックします。
- 各フィールドに値を入力し、イメージの作成 をクリックします。
| フィールド | 説明 |
|---|---|
| 名前 | イメージの名前。そのプロジェクト内で一意な名前にする必要があります。 |
| 説明 | イメージを識別するための簡単な説明 |
| イメージソース | イメージソース: イメージの場所 または イメージファイル。ここで選択したオプションに応じて次のフィールドが表示されます。 |
| イメージの場所またはイメージファイル |
|
| 形式 | イメージの形式 (例: qcow2) |
| アーキテクチャー | イメージのアーキテクチャー。たとえば 32 ビットのアーキテクチャーには i686、64 ビットのアーキテクチャーには x86_64 を使用します。 |
| 最小ディスク (GB) | イメージのブートに必要な最小のディスクサイズ。このフィールドに値が指定されていない場合には、デフォルト値は 0 です (最小値なし)。 |
| 最小メモリー (MB) | イメージのブートに必要な最小のメモリーサイズ。このフィールドに値が指定されていない場合には、デフォルト値は 0 です (最小値なし)。 |
| パブリック | このチェックボックスを選択した場合には、プロジェクトにアクセスできる全ユーザーにイメージが公開されます。 |
| 保護 | このチェックボックスを選択した場合には、特定のパーミッションのあるユーザーのみがこのイメージを削除できるようになります。 |
イメージが正常にアップロードされるとそのステータスが active になり、イメージが使用可能であることを示します。Image サービスは、アップロードの開始時に使用した Identity サービストークンのライフタイムよりもアップロードの所要時間が長くかかる大容量のイメージも処理することができる点に注意してください。これは、アップロードが完了してイメージのステータスが更新される際に、新しいトークンを取得して使用できるように、Identity サービスは最初に Identity サービスとのトラストを作成するためです。
glance image-create コマンドに property のオプションを指定して実行する方法でイメージをアップロードすることもできます。コマンドラインで操作を行った方が、より多くの値を使用することができます。完全なリストは、イメージの設定パラメーター を参照してください。
1.2.3. イメージの更新 リンクのコピーリンクがクリップボードにコピーされました!
- Dashboard で プロジェクト > コンピュート > イメージ を選択します。
リストから イメージの編集 をクリックします。
注記イメージの編集 オプションは、
adminユーザーとしてログインした場合にのみ使用することができます。demoユーザーとしてログインした場合には、インスタンスの起動 または ボリュームの作成 のオプションを使用することができます。- フィールドを更新し、イメージの更新 をクリックします。次の値を更新することができます (名前、説明、カーネル ID、RAM ディスク ID、アーキテクチャー、形式、最小ディスク、最小メモリー、パブリック、保護)。
- ドロップダウンメニューをクリックして メタデータの更新 オプションを選択します。
- 左のコラムから右のコラムに項目を追加して、メタデータを指定します。左のコラムには、Image サービスのメタデータカタログからのメタデータの定義が含まれています。その他 を選択して、任意のキーを使用してメタデータを追加し、完了したら 保存 をクリックします。
glance image-update コマンドに property オプションを指定して実行する方法でイメージを更新することもできます。コマンドラインで操作を行った方が、より多くの値を使用することができます。完全なリストは、イメージの設定パラメーター を参照してください。
1.2.4. イメージのインポート リンクのコピーリンクがクリップボードにコピーされました!
次の 2 つの方法のいずれかを使用して、Image サービス (glance) にイメージをインポートできます。
-
web-downloadを使用して、URI からイメージをインポートします。 -
ローカルファイルシステムからイメージをインポートするには、
glance-directを使用します。
web-download メソッドはデフォルトで有効化されています。クラウド管理者がインポート方法を設定します。利用可能なインポートオプションを一覧表示するには、glance import-info コマンドを実行します。
1.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 プラグインにより、メタデータ属性をイメージに注入することができます。注入されたこれらの属性により、イメージインスタンスを起動するコンピュートノードが決定されます。
1.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 に置き換えます。
1.2.5. イメージを削除します。 リンクのコピーリンクがクリップボードにコピーされました!
- Dashboard で プロジェクト > コンピュート > イメージ を選択します。
- 削除するイメージを選択し、イメージの削除 ボタンをクリックします。
1.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'
1.2.8. イメージ変換の有効化 リンクのコピーリンクがクリップボードにコピーされました!
GlanceImageImportPlugins パラメーターを有効にすると、QCOW2 イメージをアップロードすることができ、Image サービスはそのイメージを RAW に変換します。
Red Hat Ceph Storage RBD を使用してイメージを保存して Nova インスタンスをブートすると、イメージの変換は自動的に有効になります。
イメージの変換を有効にするには、以下のパラメーター値が含まれる環境ファイルを作成し、-e オプションを使用して新しい環境ファイルを openstack overcloud deploy コマンドに追加します。
parameter_defaults: GlanceImageImportPlugins:'image_conversion'
parameter_defaults:
GlanceImageImportPlugins:'image_conversion'
1.2.9. 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
1.2.9.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 で利用可能なディスクフォーマットの詳細は、Image サービス を参照してください。
1.2.10. 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 コマンドを実行します。