第6章 セルフホストエンジンのアップグレード
本章では、現在お使いの環境を Red Hat Virtualization 4.2 にアップグレードする方法について説明します。
以下の表から、お使いの環境に合った正しい手順を選択してください。Manager とホストのバージョンが異なる場合は (過去に Manager はアップグレードしたがホストはアップグレードしていない場合など)、Manager のバージョンに該当する手順に従ってください。
現在の Manager のバージョン | アップグレード後の Manager のバージョン | 該当セクション |
---|---|---|
3.6 |
4.2 |
「セルフホストエンジンの Red Hat Enterprise Virtualization 3.6 から Red Hat Virtualization 4.2 へのアップグレード」 |
4.0 |
4.2 | |
4.1 |
4.2 | |
4.2.x |
4.2.y |
対話式のアップグレード手順については、Red Hat Virtualization Upgrade Helper を利用することもできます。このアプリケーションに、アップグレードパスおよび現在の環境についての情報を入力すると、適切なアップグレード手順と、アップグレードシナリオ固有の既知の問題を回避する手順が表示されます。
6.1. セルフホストエンジンの Red Hat Enterprise Virtualization 3.6 から Red Hat Virtualization 4.2 へのアップグレード
お使いの環境で次世代の RHVH または Red Hat Enterprise Linux ホストが使われている場合に、この手順を使用してください。
お使いの環境で従来の RHEV-H 3.6 ホストのみが使われている場合には、「付録A RHEV-H 3.6 セルフホストエンジンの RHVH 4.2 セルフホストエンジンへのアップグレード」に記載の手順を使用してアップグレードする必要があります。
Manager を 3.6 から 4.2 に直接アップグレードすることはできません。以下のフローに従って、お使いの環境をアップグレードする必要があります。
6.1.1. グローバルメンテナンスモードへの切り替え
Manager 用仮想マシンで何らかのセットアップ/アップグレードタスクを実施する前に、セルフホストエンジン環境をグローバルメンテナンスモードに切り替える必要があります。
手順
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードに切り替えます。
# hosted-engine --set-maintenance --mode=global
次の手順に進む前に、環境がメンテナンスモードにあることを確認します。
# hosted-engine --vm-status
6.1.2. Red Hat Virtualization Manager の更新
Red Hat Virtualization Manager の更新はコンテンツ配信ネットワーク (CDN) 経由でリリースされます。
手順
Red Hat Virtualization Manager マシンで、更新パッケージが利用可能かどうかを確認します。
# engine-upgrade-check
setup のパッケージを更新します。
# yum update rhevm-setup
Red Hat Virtualization Manager を更新します。
engine-setup
スクリプトにより、設定に関する質問への回答が求められます。その後、ovirt-engine サービスの停止、更新パッケージのダウンロード/インストール、データベースのバックアップ/更新、インストール後設定の実施を経てから、ovirt-engine サービスが起動します。# engine-setup
注記engine-setup
スクリプトは Red Hat Virtualization Manager のインストールプロセス中にも使用され、指定した設定値が保存されます。更新時には、設定のプレビューの際に保存された値が表示されますが、インストール後の設定変更にengine-config
を使用している場合には、表示される値が最新のものではない可能性があります。たとえば、インストール後にengine-config
を使用してSANWipeAfterDelete
をtrue
に変更している場合、engine-setup
による設定プレビューでは「Default SAN wipe after delete: False」と出力されますが、変更した値がengine-setup
により上書きされるわけではありません。重要更新プロセスには時間がかかる場合があるため、更新プロセスが完了するまでの時間を計算に入れて、一旦更新を開始したらプロセスを停止しないようにしてください。
Manager にインストールされているベースオペレーティングシステムと、オプションパッケージを更新します。
# yum update
重要いずれかのカーネルパッケージが更新された場合には、ホストを再起動して更新を完了してください。
6.1.3. セルフホストエンジン の 3.6 から 4.0 へのアップグレード
Red Hat Enterprise Virtualization 3.6 では、Manager は Red Hat Enterprise Linux 6 上で動作します。Manager 用仮想マシンの Red Hat Enterprise Linux 7 へのインプレースアップグレードはサポートされません。
Red Hat Enterprise Virtualization 3.6 セルフホストエンジン環境を Red Hat Virtualization 4.0 にアップグレードするには、Red Hat Virtualization 4.0 と共に提供されるアップグレードユーティリティーを使用して Red Hat Enterprise Linux 7 に新たな Manager をインストールし、新たな Manager で 3.6 Manager データベースのバックアップを復元する必要があります。
アップグレードユーティリティーは、テンプレートをベースとして新しい Manager を構築します。カスタムユーザー、SSH キー、監視など、アップグレード前の Manager に加えたカスタムの設定や手動の変更は、新しい Manager 上で再度手動で適用する必要があります。
前提条件
- 環境内のホストは、すべて Red Hat Enterprise Linux 7 を実行している必要があります。
- 環境内のデータセンターおよびクラスターの互換バージョンは、すべて 3.6 に設定されている必要があります。
- /var/tmp ディレクトリーには、アプライアンスファイルを抽出するために少なくとも 5 GB の空き容量が必要です。空き容量がない場合には、別のディレクトリーを指定するか、必要な容量がある別のストレージをマウントするようにしてください。VDSM ユーザーおよび KVM グループには、このディレクトリーでの読み取り、書き込み、実行のパーミッションを付与する必要があります。
- セルフホストエンジンのストレージドメインには、デプロイされる新たなアプライアンス用にさらに空き容量が必要です (デフォルトでは 50 GB)。iSCSI または Fibre Channel ストレージのストレージ容量を増やすには、Manager を使用してストレージの LUN サイズを手動で拡張し、その後ストレージドメインを拡張する必要があります。LUN のサイズ変更の詳細については、『Red Hat Enterprise Virtualization 3.6 Administration Guide』の「Increasing iSCSI or FCP Storage」を参照してください。
手順
現在 SPM に設定されており、Manager 用仮想マシンを含むホストで、Red Hat Virtualization 4.0 に必要なリポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-rhv-4-mgmt-agent-rpms
- Manager 用仮想マシン以外の仮想マシンをすべてを別のホストに移行します。
ホストで Manager 用仮想マシンのパッケージを更新します。
# yum update ovirt-hosted-engine-setup rhevm-appliance
rhevm-appliance
パッケージがない場合には、ovirt-hosted-engine-setup
を更新する前に手動でパッケージをインストールします。# yum install rhevm-appliance # yum update ovirt-hosted-engine-setup
アップグレードユーティリティーを実行して、Manager 用仮想マシンをアップグレードします。標準の Red Hat Enterprise Linux リポジトリーで入手可能な
screen
パッケージがインストールされていない場合は、パッケージをインストールします。# yum install screen # screen # hosted-engine --upgrade-appliance
アプライアンスが複数検出された場合にはアプライアンスを選択し、Manager データベースのバックアップを作成してその完全パスを指定するように求められます。
アップグレード時に問題が発生した場合には、hosted-engine --vm-poweroff
コマンドを使用して Manager の電源を切り、hosted-engine --rollback-upgrade
を実行してアップグレードをロールバックします。
アップグレード中に作成されたバックアップは、自動的には削除されません。アップグレードが正常に完了したことを確認した後に、手動で削除することができます。バックアップディスクには、hosted-engine-backup-*
のラベルが付けられます。
6.1.4. Manager の 4.0 から 4.1 へのアップグレード
Red Hat Virtualization Manager を 4.0 から 4.1 にアップグレードします。
アップグレードに失敗すると、engine-setup
コマンドは Red Hat Virtualization Manager のインストール設定を以前の状態にロールバックするように試みます。そのため、アップグレードを完了するまで、前のバージョンのリポジトリーを削除するべきではありません。アップグレードに失敗した場合は、インストールの復元方法を詳しく説明した手順が表示されます。
手順
Red Hat Virtualization Manager 4.1 と Red Hat Virtualization Tools のリポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-rhv-4.1-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4-tools-rpms
setup のパッケージを更新します。
# yum update ovirt\*setup\*
engine-setup
コマンドを実行し、プロンプトに従って Red Hat Virtualization Manager をアップグレードします。# engine-setup
Red Hat Virtualization Manager 4.0 のリポジトリーを削除または無効にして、このシステムで 4.0 のパッケージが使用されないようにします。
# subscription-manager repos --disable=rhel-7-server-rhv-4.0-rpms
ベースオペレーティングシステムを更新します。
# yum update
重要いずれかのカーネルパッケージが更新された場合には、システムを再起動して更新を完了してください。
6.1.5. Manager の 4.1 から 4.2 へのアップグレード
Red Hat Virtualization Manager を 4.1 から 4.2 にアップグレードします。
アップグレードに失敗すると、engine-setup
コマンドは Red Hat Virtualization Manager のインストール設定を以前の状態にロールバックするように試みます。そのため、アップグレードを完了するまで、前のバージョンのリポジトリーを削除するべきではありません。アップグレードに失敗した場合は、インストールの復元方法を詳しく説明した手順が表示されます。
手順
Red Hat Virtualization Manager 4.2、Red Hat Virtualization Tools、および Ansible Engine のリポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-rhv-4.2-manager-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4-manager-tools-rpms # subscription-manager repos --enable=rhel-7-server-ansible-2-rpms
重要Red Hat Virtualization Manager 4.2 では、Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7.1 を Manager マシンにインストールする必要があります。
jb-eap-7-for-rhel-7-server-rpms
リポジトリーが有効であること、およびjb-eap-7.0-for-rhel-7-server-rpms
リポジトリーを無効であることを確認してください。どちらのリポジトリーが有効であるかを確認するには、subscription-manager repos --list
を実行します。setup のパッケージを更新します。
# yum update ovirt\*setup\*
engine-setup
コマンドを実行し、プロンプトに従って Red Hat Virtualization Manager をアップグレードします。# engine-setup
Red Hat Virtualization Manager 4.1 のリポジトリーを削除または無効にして、このシステムで 4.1 のパッケージが使用されないようにします。
# subscription-manager repos --disable=rhel-7-server-rhv-4.1-rpms # subscription-manager repos --disable=rhel-7-server-rhv-4.1-manager-rpms # subscription-manager repos --disable=rhel-7-server-rhv-4-tools-rpms
ベースオペレーティングシステムを更新します。
# yum update
重要いずれかのカーネルパッケージが更新された場合には、システムを再起動して更新を完了してください。
6.1.6. グローバルメンテナンスモードの終了
手順
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードを終了します。
# hosted-engine --set-maintenance --mode=none
環境が稼働していることを確認します。
# hosted-engine --vm-status
次に、セルフホストエンジンノードおよびすべての標準ホストの更新を行います。手順は、両方のホストタイプで同じです。
6.1.7. ホストの更新
以下の手順を使用して、Red Hat Enterprise Linux ホストまたは Red Hat Virtualization Host (RHVH) を更新します。
Red Hat Virtualization では、レガシーの Red Hat Enterprise Virtualization Hypervisor (RHEV-H) はサポートされません。それらを RHVH にインストールし直す必要があります。『インストールガイド』の「Red Hat Virtualization Host のインストール」を参照してください。ホスト上のローカルストレージを維持する必要がある場合には、「付録B ローカルストレージを維持した状態での RHEV-H 3.6 から RHVH 4.2 へのアップグレード」を参照してください。
RHEV-H と RHVH のどちらを使用しているか分からない場合は、以下のコマンドを実行します。
# imgbase check
コマンドの実行に失敗する場合には、ホストは RHEV-H です。コマンドの実行に成功すれば、ホストは RHVH です。
ホストのアップグレードマネージャーを使用して、Red Hat Virtualization Manager から直接個別のホストを更新します。
アップグレードマネージャーが確認するのは、ステータスが Up または Non-operational のホストだけです。ステータスが Maintenance のホストは確認されません。
RHVH の更新時には、/etc および /var ディレクトリー内の変更データしか維持されません。他のパスに含まれる変更データは更新時に上書きされます。
前提条件
- クラスターレベルで移行が有効化されている場合には、仮想マシンはそのクラスター内の別のホストに自動的に移行されるので、ホストの更新は、ホストの使用率が比較的に低い時間帯に実行することを推奨します。
- 更新の前に、クラスターに複数のホストが含まれていることを確認します。全ホストを同時に更新しないようにしてください。Storage Pool Manager (SPM) のタスクを実行するために、ホストが 1 台使用可能である必要があります。
- ホストが属するクラスターに、ホストがメンテナンスを実行するのに十分なメモリーが確保されていることを確認してください。クラスターに十分なメモリーがない場合には、仮想マシンの移行操作がハングして失敗してしまいます。ホストを更新する前に一部またはすべての仮想マシンをシャットダウンしておくと、この操作のメモリー使用量を低減することができます。
- vGPU を使用している仮想マシンを別のホストに移行することはできません。ホストを更新する前に、vGPU がインストールされた仮想マシンを停止する必要があります。
手順
「What channels should be used for RHEV 3.6 ELS?」の説明に従って Red Hat Enterprise Linux ホストをバージョン 7.3 に設定している場合は、更新する前に通常の RHEL 7 バージョンに再設定する必要があります。
subscription-manager release --show
を実行して、バージョン 7.3 に設定されているかどうかを確認することができます。# subscription-manager release --set=7Server
現在のリポジトリーを無効にします。
# subscription-manager repos --disable=*
適切なリポジトリーを有効にします。
yum repolist
を実行して、現在有効なリポジトリーを確認することができます。Red Hat Virtualization Host の場合:
# subscription-manager repos --enable=rhel-7-server-rhvh-4-rpms
Red Hat Enterprise Linux ホストの場合:
# subscription-manager repos --enable=rhel-7-server-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4-mgmt-agent-rpms # subscription-manager repos --enable=rhel-7-server-ansible-2-rpms
-
管理ポータルで
をクリックし、更新するホストを選択します。 をクリックし、 をクリックします。 イベントおよびアラートの通知 アイコン ( ) をクリックし、イベント セクションを展開して結果を確認します。
-
更新が利用可能であれば、
をクリックします。 にホストの情報が更新され、ステータスが以下の順序で変わります。 - Maintenance
- Installing
- Reboot
Up
このホストから別のホストに移行していた仮想マシンがあれば、この時点で元に戻すことができます。
注記更新が失敗すると、ホストのステータスは Install Failed に変わります。Install Failed の状態から
を再度クリックすることができます。
Red Hat Virtualization 環境内のホストごとに同じ手順を繰り返してください。
6.1.8. クラスターの互換バージョンの変更
Red Hat Virtualization のクラスターには互換バージョンがあります。クラスターの互換バージョンは、そのクラスター内の全ホストがサポートする Red Hat Virtualization の機能を示します。クラスターの互換バージョンは、そのクラスター内で最も機能性の低いホストのバージョンに応じて設定されます。
クラスターの互換バージョンを変更するには、まず、クラスター内の全ホストを更新して、必要な互換性レベルをサポートするレベルにする必要があります。更新が利用可能であることを示すアイコンがホストの横にあるかどうかを確認します。
手順
-
をクリックし、変更するクラスターを選択します。 - をクリックします。
- 互換バージョン を必要な値に変更します。
- クラスターの互換バージョンを変更 の確認ウィンドウを開きます。 をクリックして、
- をクリックして確定します。
一部の仮想マシンおよびテンプレートが不適切に設定されていることを警告するエラーメッセージが表示される場合があります。このエラーを修正するには、それぞれの仮想マシンを手動で編集します。仮想マシンの編集 ウィンドウには、修正すべき項目を確認することのできる新たな検証および警告が表示されます。問題が自動的に修正され、仮想マシンの設定を再度保存するだけで十分な場合もあります。それぞれの仮想マシンを編集したら、クラスターの互換バージョンを変更することができます。
クラスターの互換バージョンを変更したら、実行中またはサスペンド中のすべての仮想マシンについてクラスターの互換バージョンを変更する必要があります。そのためには、ゲストオペレーティングシステム内ではなく、Manager 内から、または REST API を使用して仮想マシンを再起動します。再起動するまで、仮想マシンは以前のクラスターの互換性レベルで動作を続けます。再起動が必要な仮想マシンには、変更が保留されていることを示すアイコン ( ) が付きます。プレビュー状態にある仮想マシンスナップショットについては、クラスター互換バージョンを変更することができません。まずコミットするか、プレビューを取り消す必要があります。
セルフホストエンジンの仮想マシンを再起動する必要はありません。
データセンター内の全クラスターの互換バージョンの更新が完了したら、次にデータセンター自体の互換バージョンも変更することができます。
6.1.9. データセンターの互換バージョンの変更
Red Hat Virtualization データセンターには、互換バージョンがあります。互換バージョンとは、データセンターと互換性のある Red Hat Virtualization のバージョンを指します。データセンター内のクラスターはすべて、指定の互換性レベルをサポートします。
データセンターの互換バージョンを変更するには、まず、データセンター内の全クラスターを更新して、必要な互換性レベルをサポートするレベルにしておく必要があります。
手順
-
をクリックし、変更するデータセンターを選択します。 - をクリックします。
- 互換バージョン を必要な値に変更します。
- データセンターの互換バージョンを変更 の確認ウィンドウを開きます。 をクリックして、
- をクリックして確定します。
6.1.10. SHA-1 証明書の SHA-256 証明書への置き換え
Red Hat Virtualization 4.2 では SHA-256 署名が使用され、SHA-1 よりセキュアに SSL 証明書に署名することができます。新たにインストールした 4.2 システムでは、Red Hat Virtualization の公開鍵インフラストラクチャー (PKI) が SHA-256 署名を使用できるようにするのに、特別な手順は必要ありません。ただし、アップグレードしたシステムでは、以下のオプションのどちらかを実施することを推奨します。
- 管理ポータルに接続する際に警告メッセージがブラウザーに表示されないようにする。この警告はポップアップウィンドウとして、またはブラウザーの Web コンソール ウィンドウに表示されます。アップグレード後にすでに Red Hat Virtualization Manager の Apache SSL 証明書を置き換えている場合には、このオプションは必要ありません。ただし、証明書が SHA-1 で署名されている場合には、それを SHA-256 証明書に置き換える必要があります。詳細については、『管理ガイド』の「Red Hat Virtualization Manager の SSL/TLS 証明書の変更」を参照してください。
- システム全体の SHA-1 証明書を SHA-256 証明書に置き換える。
ブラウザーでの警告メッセージ表示の防止
- Manager マシンに root ユーザーとしてログインします。
/etc/pki/ovirt-engine/openssl.conf に
default_md = sha256
行が含まれているかどうかを確認します。# cat /etc/pki/ovirt-engine/openssl.conf
まだ
default_md = sha1
が含まれていたら、既存の設定のバックアップを作成してデフォルトをsha256
に変更します。# cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")" # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
署名し直す必要のある証明書を定義します。
# names="apache"
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードに切り替えます。
# hosted-engine --set-maintenance --mode=global
Manager で Apache 証明書を署名し直します。
for name in $names; do subject="$( openssl \ x509 \ -in /etc/pki/ovirt-engine/certs/"${name}".cer \ -noout \ -subject \ | sed \ 's;subject= \(.*\);\1;' \ )" /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \ --name="${name}" \ --password=mypass \ --subject="${subject}" \ --keep-key done
httpd サービスを再起動します。
# systemctl restart httpd
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードを終了します。
# hosted-engine --set-maintenance --mode=none
- 管理ポータルに接続して、警告が表示されなくなったことを確認します。
-
以前に CA または https 証明書をブラウザーにインポートしている場合は、その証明書を探してブラウザーから削除し、新しい CA 証明書をインポートし直します。ブラウザーから提供される手順に従って、認証局の証明書をインストールしてください。認証局の証明書を取得するには、
http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
にアクセスします (your-manager-fqdn は、完全修飾ドメイン名 (FQDN) に置き換えてください)。
すべての署名済み証明書の SHA-256 への置き換え
- Manager マシンに root ユーザーとしてログインします。
/etc/pki/ovirt-engine/openssl.conf に
default_md = sha256
行が含まれているかどうかを確認します。# cat /etc/pki/ovirt-engine/openssl.conf
まだ
default_md = sha1
が含まれていたら、既存の設定のバックアップを作成してデフォルトをsha256
に変更します。# cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")" # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
CA 証明書のバックアップを作成して ca.pem.new に新しい証明書を作成し、CA 証明書を署名し直します。
# cp -p /etc/pki/ovirt-engine/private/ca.pem /etc/pki/ovirt-engine/private/ca.pem."$(date +"%Y%m%d%H%M%S")" # openssl x509 -signkey /etc/pki/ovirt-engine/private/ca.pem -in /etc/pki/ovirt-engine/ca.pem -out /etc/pki/ovirt-engine/ca.pem.new -days 3650 -sha256
既存の証明書を新しい証明書に置き換えます。
# mv /etc/pki/ovirt-engine/ca.pem.new /etc/pki/ovirt-engine/ca.pem
署名し直す必要のある証明書を定義します。
# names="engine apache websocket-proxy jboss imageio-proxy"
アップグレード後に Red Hat Virtualization Manager SSL 証明書を置き換えている場合は、上記のコマンドの代わりに以下のコマンドを実行します。
# names="engine websocket-proxy jboss imageio-proxy"
詳細については、『管理ガイド』の「Red Hat Virtualization Manager の SSL/TLS 証明書の変更」を参照してください。
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードに切り替えます。
# hosted-engine --set-maintenance --mode=global
Manager で証明書を署名し直します。
for name in $names; do subject="$( openssl \ x509 \ -in /etc/pki/ovirt-engine/certs/"${name}".cer \ -noout \ -subject \ | sed \ 's;subject= \(.*\);\1;' \ )" /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \ --name="${name}" \ --password=mypass \ --subject="${subject}" \ --keep-key done
以下のサービスを再起動します。
# systemctl restart httpd # systemctl restart ovirt-engine # systemctl restart ovirt-websocket-proxy # systemctl restart ovirt-imageio-proxy
セルフホストエンジンノードのいずれかにログインして、グローバルメンテナンスモードを終了します。
# hosted-engine --set-maintenance --mode=none
- 管理ポータルに接続して、警告が表示されなくなったことを確認します。
-
以前に CA または https 証明書をブラウザーにインポートしている場合は、その証明書を探してブラウザーから削除し、新しい CA 証明書をインポートし直します。ブラウザーから提供される手順に従って、認証局の証明書をインストールしてください。認証局の証明書を取得するには、
http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
にアクセスします (your-manager-fqdn は、完全修飾ドメイン名 (FQDN) に置き換えてください)。 ホストで証明書を登録します。それぞれのホストについて以下の手順を繰り返します。
-
管理ポータルで
をクリックします。 -
ホストを選択し、
をクリックします。 -
ホストがメンテナンスモードに変わったら、
をクリックします。 -
をクリックします。
-
管理ポータルで