OpenStack のアップグレード
Red Hat Enterprise Linux OpenStack Platform 7
Red Hat Enterprise Linux OpenStack Platform のアップグレード
概要
本ドキュメントでは、Red Hat Enterprise Linux OpenStack Platform 6 (Juno) から 7 (Kilo) にアップグレードする複数の異なる方法について説明します。これらの方法は、アップグレード元およびアップグレード先のいずれも Red Hat Enterprise Linux 7 をベースにインストールされたデプロイメントであることを前提としています。
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
本ドキュメントでは、Red Hat Enterprise Linux OpenStack Platform 6 から Red Hat Enterprise Linux OpenStack Platform 7 へのアップグレードプロセスの概要について説明します。
現在 RHEL OpenStack Platform 5 (Icehouse) リリースを使用していて RHEL OpenStack Platform 7 (Kilo) リリースにアップグレードする予定の場合には、最初に RHEL OpenStack Platform 6 (Juno) リリースにアップグレードする必要があります。このアップグレードの実行手順は、https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux_OpenStack_Platform/6/ の「アップグレード」から入手できます。
Red Hat では、Red Hat Enterprise Linux 7 をベースとする Red Hat Enterprise Linux OpenStack Platform 7 へのアップグレードのみをサポートしています。このアップグレードパスに対応するには、以下に記載するアップグレード方式を推奨します。それぞれの方式についての説明は、「アップグレード方式の比較」に記載しています。また、「アップグレード方式の比較」には、各方式を更に詳しく説明した章へのリンクも記載しています。コンポーネントに関する詳細は、https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux_OpenStack_Platform/ から コンポーネントの概要 を参照してください。
本書では、「一括アップグレード」と「個別アップグレード」の両方のシナリオで、高可用性と非高可用性の両方の手順を説明します。高可用性と非高可用性の主な相違点は、高可用性のアップグレードでは Pacemaker サービスが適切に有効化/無効化されているようにする必要があることです。
以下のアップグレード方式はすべて、正常に機能する RHEL OpenStack Platform 7 (Kilo) にアップグレードすることができます。並行稼働によるクラウド移行方式を使用して、デプロイメントが RHEL OpenStack Platform 7 director に対応するようにさらなるアップグレード手順を実行することを推奨します。RHEL OpenStack Platform 7 の並行稼働のクラウド移行では、別のインストーラーでデプロイされた既存の OpenStack クラウドを RHEL OpenStack Platform 7 director にアップグレードします。
1.1. アップグレード方式の比較 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、Red Hat Enterprise Linux OpenStack Platform 7 へのアップグレードに以下の方式を推奨しています。以下の表では、それぞれの方式を簡単に説明します。
| 方式 | 説明 | メリット | デメリット |
|---|---|---|---|
| 一括方式 |
この方法では、OpenStack サービスをすべて同時に停止してアップグレードを実行し、アップグレードプロセスの完了後に全サービスを再度稼働させます。
詳しい情報は「3章OpenStack の一括アップグレード」を参照してください。
|
このアップグレードプロセスは、すべてが停止した状態で、オーケストレーションの必要がないため、簡単に行うことができます。サービスは停止しますが、Red Hat Enterprise Linux バージョン (7.0 から 7.1 へ) のアップグレードの必要がない場合には、仮想マシンのワークロードの稼働状態を維持することができます。
|
全サービスが同時に使用できなくなります。大規模な環境の場合は、このアップグレードにより、データベーススキーマのアップグレード完了までのダウンタイムが長時間に及ぶ可能性があります。あらかじめテスト環境でアップグレード手順のリハーサルを実行し、特定の時間帯にダウンタイムを計画してアップグレードを行うことによって、ダウンタイムによる影響を軽減することができます。
|
| 稼働中の Compute を使用してサービス別にアップグレードする方式 |
この方法は、サービス別のアップグレードの一種ですが、Compute Service のアップグレード方法が異なります。この方法では、アップグレード済みのコンピュートノードと並行して旧バージョンのコンピュートノードを実行することが可能な Red Hat Enterprise Linux OpenStack Platform 7 の機能を活用することができます。
詳しい情報は「4章稼働中の Compute を使用して各サービスを個別に更新して OpenStack をアップグレードする手順」を参照してください。
|
この方法は、Compute Service の中断が最小限に抑えられます。小規模なサービスの場合はわずか数分ですが、新たにアップグレードされたコンピュートホストへワークロードを移動するには、より長い移行時間を要します。既存のワークロードは無期限で稼働させることが可能です。また、データベース移行を待つ必要はありません。
|
Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) のコンピュートノードを稼働させるのに追加のハードウェアリソースが必要となる場合があります。
|
すべての方法に共通する注意事項
- 全ホストが本リリース用の正しいチャンネルにサブスクライブされていることを確認してください。
- アップグレード時には、一部のサービスを停止する必要があります。
- コンピュートノードを再起動したり、インスタンスを明示的にシャットダウンしたりしない限りは、アップグレードプロセスは、実行中のインスタンスには影響を及ぼしません。
- 旧ハイブリッドドライバーは非推奨となったため、OpenStack Networking をアップグレードするには、
/etc/nova/nova.confで正しいlibvirt_vif_driverを設定する必要があります。そのためには、Compute API ホストで以下のコマンドを実行してください。Red Hat では USB ドライブや SD メモリーカードへのインストールはサポートしていません。
Red Hat では USB ドライブや SD メモリーカードへのインストールはサポートしていません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
警告
Red Hat では以下のサポートはありません。
- Red Hat Enterprise Linux OpenStack Platform のベータリリースからサポート対象リリース (例: 6 または 7) へのアップグレード
- Compute Networking (nova-networking) から Red Hat Enterprise Linux OpenStack Platform 7 の OpenStack Networking (neutron) へのアップグレード。ネットワークのアップグレードは、OpenStack Networking (neutron) バージョンを Red Hat Enterprise Linux OpenStack Platform 6 から 7 にアップグレードする場合のみがサポート対象となっています。
第2章 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
本項では、Red Hat Enterprise Linux OpenStack Platform 7 のデプロイに必要なチャンネルおよびリポジトリーの設定について説明します。
警告
旧バージョンの Red Hat OpenStack リポジトリーは利用可能な状態ですが、Red Hat Enterprise Linux OpenStack Platform 7 のインストールの前に、お使いのシステムからこれらのリポジトリーへアクセスできないようにする必要があります。たとえば、以下のリポジトリーは無効にするか、サブスクライブを解除してください。
- Red Hat Enterprise Linux OpenStack Platform 4 (Havana) -- rhel-6-server-openstack-4.0-rpms
- Red Hat Enterprise Linux OpenStack Platform 5 (Icehouse) -- rhel-7-server-openstack-5.0-rpms
- Red Hat Enterprise Linux OpenStack Platform 6 (Juno) -- rhel-7-server-openstack-6.0-rpms
Packstack は、サブスクリプションマネージャーを使用して Red Hat Network にシステムを登録します。システムが RHN クラシックを使用して Red Hat OpenStack チャンネルにすでに登録されている場合は、問題が発生する可能性があります。
注記
cloud-init を必要とする、カスタムの Red Hat Enterprise Linux ゲストイメージを作成する場合には、Red Hat Common for RHEL Server チャンネルの使用を推奨しています。
Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。
subscription-manager repos --enable=rhel-7-server-rh-common-rpms
# subscription-manager repos --enable=rhel-7-server-rh-common-rpms
2.1. コンテンツ配信ネットワーク (CDN) チャンネルの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
コンテンツ配信ネットワーク (CDN) から Red Hat Enterprise Linux OpenStack Platform 7 をインストールすることができます。そのためには、正しいチャンネルを使用するように
subscription-manager を設定します。
以下のコマンドを使用して CDN チャンネルを有効にします。
subscription-manager repos --enable=[reponame]
# subscription-manager repos --enable=[reponame]
以下のコマンドを使用して CDN チャンネルを無効にします。
subscription-manager repos --disable=[reponame]
# subscription-manager repos --disable=[reponame]
Red Hat Enterprise Linux 7
以下の表には、Red Hat Enterprise Linux 7 のチャンネルについてまとめています。
| チャンネル | リポジトリー名 |
|---|---|
| Red Hat Enterprise Linux 7 Server (RPMS) |
rhel-7-server-rpms
|
| Red Hat OpenStack 7.0 for Server 7 (RPMS) |
rhel-7-server-openstack-7.0-rpms
|
| Red Hat Enterprise Linux 7 Server - RH Common (RPMs) |
rhel-7-server-rh-common-rpms
|
| チャンネル | リポジトリー名 |
|---|---|
| Red Hat Enterprise Linux 7 Server - Optional |
rhel-7-server-optional-rpms
|
Red Hat Enterprise Linux OpenStack Platform director
以下の表では、Red Hat Enterprise Linux OpenStack Platform director のチャンネルについて説明しています。
| チャンネル | リポジトリー名 |
|---|---|
| Red Hat Enterprise Linux OpenStack Platform Director 7.0 (RPMs) |
rhel-7-server-openstack-7.0-director-rpms
|
| Red Hat Enterprise Linux 7 Server (RPMS) |
rhel-7-server-rpms
|
| Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server |
rhel-server-rhscl-7-rpms
|
| Images on CDN (任意) |
rhel-7-server-openstack-7.0-files
|
| Red Hat Enterprise Linux OpenStack Platform 7.0 Operational Tools |
rhel-7-server-openstack-7.0-optools-rpms
|
無効にするチャンネル
以下の表には、Red Hat Enterprise Linux OpenStack Platform 7 が正常に機能するために無効にする必要のあるチャンネルをまとめています。
| チャンネル | リポジトリー名 |
|---|---|
| Red Hat CloudForms Management Engine |
"cf-me-*"
|
| Red Hat CloudForms Tools for RHEL 6 |
"rhel-6-server-cf-*"
|
| Red Hat Enterprise Virtualization |
"rhel-6-server-rhev*"
|
| Red Hat Enterprise Linux 6 Server - Extended Update Support (EUS) |
"*-eus-rpms"
|
第3章 OpenStack の一括アップグレード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
本章では、全サービスを一度にアップグレードする方法で RHEL OpenStack Platform 6 から RHEL OpenStack Platform 7 へのアップグレード手順を説明します。この方法ではは、すべての OpenStack サービスを同時に無効にしてからアップグレードを実行し、アップグレードプロセスの完了後に全サービスを有効化して稼働状態に戻す必要があります。この手順は、Red Hat Enterprise Linux OpenStack Platform 7 へのアップグレード方法の中で、最も簡単な方法です。
パッケージをアップグレードする前にベースオペレーティングシステムを Red Hat Enterprise Linux 7 の最新バージョンにアップグレードする必要がない場合には、全 OpenStack サービスが停止されるのでオーケストレーションは必要ありません。
大規模な環境の場合は、このアップグレードにより、データベーススキーマのアップグレード完了までのダウンタイムが長時間に及ぶ可能性があります。あらかじめテスト環境でアップグレード手順のリハーサルを実行し、特定の時間帯にダウンタイムを計画してアップグレードを行うことによって、ダウンタイムによる影響を軽減することができます。
注記
本章での手順では、全 Red Hat Enterprise Linux OpenStack Platform ドキュメントが採用するアーキテクチャーの命名規則を使用します。この規則に精通していない場合には、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート から『アーキテクチャーガイド』を参照してから続行してください。
OpenStack デプロイメントのアップグレードを開始する前に、適切なチャンネルにサブスクライブするようにしてください。詳しい情報は、「2章前提条件」を参照してください。
3.1. OpenStack サービスの同時アップグレード リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、クラウドデプロイメントを全コンポーネントを一括で更新して Juno から Kilo にアップグレードする際に従う必要のあるステップを説明しています。ステップの中には、高可用性と非高可用性のシナリオのいずれかを選択することができるものもあります。クラウドが高可用性の場合には、Pacemaker コマンドを使用してクラウド環境の開始および停止をしてください。
各ホストで以下の手順を実行してください。
手順3.1 ホスト上の OpenStack コンポーネントのアップグレード
- Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) 用の yum リポジトリーをインストールします。
openstack-utilsパッケージがインストールされていることを確認します。yum install openstack-utils
# yum install openstack-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 全ノードで OpenStack サービスをすべて停止します。このステップは、サービスがどのようにノードに分散されているかによって異なります。
- 非高可用性環境:1 つのノードで実行されている OpenStack サービスをすべて停止するには、そのノードにログインして以下のコマンドを実行します。
openstack-service stop
# openstack-service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 高可用性環境:
- 1 つのノードで実行されている OpenStack サービスをすべて停止するには、そのノードにログインして以下のコマンドを実行します。
openstack-service stop
# openstack-service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスター上で
stop-all-resourcesを設定して、Pacemaker で管理されているリソースをすべて無効にします。Pacemaker クラスターの 1 つのメンバーで以下のコマンドを実行します。pcs property set stop-all-resources=true
# pcs property set stop-all-resources=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、すべてのリソースが停止されたことが表示されるまで待機します。
- 全パッケージの完全なアップグレードを実行してから、Identity Service 内の期限切れトークンをフラッシュします (データベースの同期の所要時間が短縮される可能性があります)。
yum upgrade
# yum upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 各サービスに対して必要とされる設定更新を実行します。
- Identity ServiceRHEL OpenStack Platform 7 (Kilo) リリースでは、token.persistence.backends の場所が変更されました。
keystone.confの[token]のセクションのdriverオプションを更新する必要があります。これには、keystone.token.backendsをkeystone.token.persistence.backendsに置き換える必要があります。sed -i 's/keystone.token.backends/keystone.token.persistence.backends/g' \ /etc/keystone/keystone.conf
# sed -i 's/keystone.token.backends/keystone.token.persistence.backends/g' \ /etc/keystone/keystone.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow パッケージの更新には、新しいsystemdのユニットファイルが含まれている可能性があるため、更新されたファイルがsystemdにより認識されていることを確認します。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking ServiceOpenStack Networking Service のアップグレードが完了したら、
rootwrap dhcp.filterの設定ファイルを編集する必要があります。これには、/usr/share/neutron/rootwrap/dhcp.filtersファイルで、以下のようにdnsmasqの値を更新します。たとえば、次のように記載されているとします。dnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasq
dnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように置き換えます。dnsmasq: CommandFilter, dnsmasq, root
dnsmasq: CommandFilter, dnsmasq, rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- データベースを使用する各サービスのデータベーススキーマをアップグレードします。この操作を行うには、サービスをホストしているノードにログインして以下のコマンドを実行します。
openstack-db --service SERVICENAME --update
# openstack-db --service SERVICENAME --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow SERVICENAME は、サービスのプロジェクト名に置き換えます。たとえば、Idenitity Service のデータベーススキーマをアップグレードするためのコマンドは以下のようになります。openstack-db --service keystone --update
# openstack-db --service keystone --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow Expand 表3.1 データベースを使用する各 OpenStack サービスのプロジェクト名 サービス プロジェクト名 Identity keystone Block Storage cinder Image Service glance Compute nova Networking neutron Orchestration heat openstack-dbコマンドで対応されていないサービスについては、Juno から Kilo のアップグレードの一部として追加でデータベースのメンテナンスを行う必要がある場合もあります。- Identity Service初期のバージョンのインストーラーでは、期限切れの keystone トークンが自動的に削除されるようにシステム設定されていない可能性があるため、トークンテーブルに期限切れのエントリーが多数含まれている可能性があります。このような場合には、データベーススキーマのアップグレードの所要時間が大幅に増大する可能性があります。Keystone データベースのアップグレードプロセスを開始する前に、以下のコマンドを実行してこの問題を軽減します。
keystone-manage token_flush
# keystone-manage token_flushCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、データベースから期限切れのトークンがフラッシュされます。cronを使用して、このコマンドが定期的に (例: 1 日 1 回など) 実行されるように設定する必要があります。 - ComputeKilo に完全に更新した後に (すべてのノードが Kilo を実行している場合)、フレーバー情報のバックグラウンド移行を開始する必要があります。Kilo のコンダクターノードは、必要な場合にこの操作を自動的に行いますが、それ以外のアイドルデータはバックグラウンドで移行する必要があります。以下のコマンドは、
novaユーザーとして実行してください。runuser -u nova -- nova-manage db migrate_flavor_data
# runuser -u nova -- nova-manage db migrate_flavor_dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 上記の操作によって生成された設定ファイルを確認します。アップグレードされたパッケージには、Red Hat Enterprise Linux OpenStack Platform 7 バージョンのサービスに適した
.rpmnewファイルがインストールされているはずです。新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。 - パッケージのアップグレードで再起動が必要な場合には (例: アップグレードの一環として新規カーネルがインストールされた場合など)、OpenStack サービスが無効な状態のうちに、影響を受けたホストを再起動してください。
- 非高可用性環境:OpenStack サービスを再起動するには、各ノードで以下のコマンドを実行します。
openstack-service start
# openstack-service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 高可用性環境:
stop-all-resourcesプロパティーを再設定して、Pacemaker がリソースを再起動できるようにします。Pacemaker クラスターの 1 つのメンバー上で、以下のコマンドを実行します。pcs property set stop-all-resources=false
# pcs property set stop-all-resources=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、すべてのリソースが停止されたことが表示されるまで待機します (数分かかる可能性があります)。- コンピュートノードで OpenStack サービスを再起動します。各コンピュートノードで以下のコマンドを実行します。
openstack-service start
# openstack-service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 稼働中の Compute を使用して各サービスを個別に更新して OpenStack をアップグレードする手順 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
本手順では、全サービスを個別にアップグレードします。各サービスのアップグレードでは、パッケージとデータベーススキーマを更新する必要があります。
稼働中の Compute を使用してアップグレードを行うと、Compute Service の中断が最小限に抑えられます。小規模なサービスの場合はわずか数分ですが、新たにアップグレードされたコンピュートホストへワークロードを移動するための移行時間にはより長い時間を要します。既存のワークロードは無期限で稼働させることが可能です。また、データベース移行を待つ必要はありません。
注記
この方法では、Red Hat Enterprise Linux OpenStack Platform 7 のコンピュートノードを稼働させるのに追加のハードウェアリソースが必要となる場合があります。
注記
本章での手順では、全 Red Hat Enterprise Linux OpenStack Platform ドキュメントが採用するアーキテクチャーの命名規則を使用します。この規則に精通していない場合には、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート から『アーキテクチャーガイド』を参照してから続行してください。
OpenStack デプロイメントのアップグレードを開始する前に、適切なチャンネルにサブスクライブするようにしてください。詳しい情報は、「2章前提条件」を参照してください。
4.1. 非高可用性環境で稼働中の Compute を使用して各サービスを個別に更新して OpenStack をアップグレードする手順 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の項では、非高可用性の環境において Compute を並行稼働させて個別のサービスを更新する方法でクラウドデプロイメントをアップグレードする場合に従う必要のある手順を記載します。
- アップグレード前のタスク:各ホストで以下の手順を実行してください。
- Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) 用の yum リポジトリーをインストールします。
- 利用可能な場合は
openstack-selinuxパッケージをアップグレードします。yum upgrade openstack-selinux
# yum upgrade openstack-selinuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow これは、アップグレードしたサービスが SELinux が有効なシステムで正しく実行されるようにするために必要です。
- 各サービスのアップグレード:以下のステップには、各サービス固有のアップグレード手順と順序をまとめています。
- Identity (keystone)初期のバージョンのインストーラーでは、期限切れの keystone トークンが自動的に削除されるようにシステム設定されていない可能性があるため、トークンテーブルに期限切れのエントリーが多数含まれている可能性があります。このような場合には、データベーススキーマのアップグレードの所要時間が大幅に増大する可能性があります。Identity データベースのアップグレードを実行する前に
keystone-manageコマンドを使用すると、データベースから期限切れのトークンをフラッシュして問題を軽減することができます。このコマンドにより、データベースから期限切れのトークンがフラッシュされます。cronを使用して、このコマンドが定期的に (例: 1 日 1 回など) 実行されるように設定してください。Identity ホストで以下のコマンドを実行します。openstack-service stop keystone yum -d1 -y upgrade \*keystone\* keystone-manage token_flush openstack-db --service keystone --update openstack-service start keystone
# openstack-service stop keystone # yum -d1 -y upgrade \*keystone\* # keystone-manage token_flush # openstack-db --service keystone --update # openstack-service start keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage (swift)Object Storage ホストで以下のコマンドを実行します。
openstack-service stop swift yum -d1 -y upgrade \*swift\* openstack-service start swift
# openstack-service stop swift # yum -d1 -y upgrade \*swift\* # openstack-service start swiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Image Service (glance)Image Service ホストで以下のコマンドを実行します。
openstack-service stop glance yum -d1 -y upgrade \*glance\* openstack-db --service glance --update openstack-service start glance
# openstack-service stop glance # yum -d1 -y upgrade \*glance\* # openstack-db --service glance --update # openstack-service start glanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Block Storage (cinder)Block Storage ホストで以下のコマンドを実行します。
openstack-service stop cinder yum -d1 -y upgrade \*cinder\* openstack-db --service cinder --update openstack-service start cinder
# openstack-service stop cinder # yum -d1 -y upgrade \*cinder\* # openstack-db --service cinder --update # openstack-service start cinderCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration (heat)Orchestration ホストで以下のコマンドを実行します。
openstack-service stop heat yum -d1 -y upgrade \*heat\* openstack-db --service heat --update openstack-service start heat
# openstack-service stop heat # yum -d1 -y upgrade \*heat\* # openstack-db --service heat --update # openstack-service start heatCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry (ceilometer)
- Telemetry コンポーネントサービスをホストする全ノードで以下のコマンドを実行します。
openstack-service stop ceilometer yum -d1 -y upgrade \*ceilometer\*
# openstack-service stop ceilometer # yum -d1 -y upgrade \*ceilometer\*Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Image Service ホストで以下のコマンドを実行します。
ceilometer-dbsync
# ceilometer-dbsyncCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、MySQL は Telemetry Service のバックエンドとして設定することができます。Telemetry のコンポーネントサービスの一覧については、 「TELEMETRY の API およびエージェントの起動」 を参照してください。 - パッケージのアップグレードが完了した後には、Telemetry コンポーネントサービスをホストする全ノードで以下のコマンドを実行して Telemetry Service を再起動します。
openstack-service start ceilometer
# openstack-service start ceilometerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Compute (nova)
- コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Juno および kilo 環境間の互換性を確保する必要があります。Kilo コントローラーまたはコンピュートサービスを開始する前に、
nova.confの[upgrade_levels]セクションのcomputeオプションをjunoに設定する必要があります。crudini --set /etc/nova/nova.conf upgrade_levels compute juno
# crudini --set /etc/nova/nova.conf upgrade_levels compute junoCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーホストおよびコンピュートホストで、上記の変更を加える必要があります。全コンピュートホストを OpenStack Kilo にアップグレードした後で、この変更を元に戻す必要があります。 - コンピュートホストで以下のコマンドを実行します。
openstack-service stop nova yum -d1 -y upgrade \*nova\* openstack-db --service nova --update
# openstack-service stop nova # yum -d1 -y upgrade \*nova\* # openstack-db --service nova --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Kilo に完全に更新した後に (すべてのノードが Kilo を実行している場合)、フレーバー情報のバックグラウンド移行を開始する必要があります。Kilo のコンダクターノードは、必要な場合にこの操作を自動的に行いますが、それ以外のアイドルデータはバックグラウンドで移行する必要があります。以下のコマンドは、
novaユーザーとして実行してください。runuser -u nova -- nova-manage db migrate_flavor_data
# runuser -u nova -- nova-manage db migrate_flavor_dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 全ホストを Kilo にアップグレードした後には、以前のステップで設定した API の制限を削除します。全ホスト上で以下のコマンドを実行します。
crudini --del /etc/nova/nova.conf upgrade_levels compute
# crudini --del /etc/nova/nova.conf upgrade_levels computeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンピュートホストおよびコントローラーすべてで Compute Service を再起動します。
openstack-service start nova
# openstack-service start novaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- OpenStack Networking (neutron)
- OpenStack Networking ホストで以下のコマンドを実行します。
openstack-service stop neutron yum -d1 -y upgrade \*neutron\* openstack-db --service neutron --update
# openstack-service stop neutron # yum -d1 -y upgrade \*neutron\* # openstack-db --service neutron --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking Service のアップグレードが完了したら、
rootwrap dhcp.filterの設定ファイルを編集する必要があります。これには、/usr/share/neutron/rootwrap/dhcp.filtersファイルで、以下のようにdnsmasqの値を更新します。たとえば、この値はdnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasq
dnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように置き換えます。dnsmasq: CommandFilter, dnsmasq, root
dnsmasq: CommandFilter, dnsmasq, rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking Service を再起動します。
openstack-service start neutron
# openstack-service start neutronCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Dashboard (horizon)Dashboard ホストで以下のコマンドを実行します。
yum -y upgrade \*horizon\* \*openstack-dashboard\* yum -d1 -y upgrade \*horizon\* \*python-django\* systemctl restart httpd
# yum -y upgrade \*horizon\* \*openstack-dashboard\* # yum -d1 -y upgrade \*horizon\* \*python-django\* # systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- アップグレード後のタスク:
- 個別サービスのアップグレードをすべて完了した後には、全システムで完全なパッケージアップグレードを行う必要があります。
yum upgrade
# yum upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドで、すべてのパッケージが最新の状態にします。実行中のプロセスにおいて、更新後の基盤バイナリーバージョンが使用されるように、OpenStack ホストの再起動を後日にスケジューリングしてください。 - 上記の操作によって生成された設定ファイルを確認します。アップグレードされたパッケージには、Red Hat Enterprise Linux OpenStack Platform 7 バージョンのサービスに適した
.rpmnewファイルがインストールされているはずです。新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。
4.2. 高可用性環境で稼働中の Compute を使用して各サービスを個別に更新して OpenStack をアップグレードする手順 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の項では、高可用性環境において Compute を並行稼働させて個別のサービスを更新する方法でクラウドデプロイメントをアップグレードする場合に従う必要のある手順を記載します。
- アップグレード前のタスク:各ホストで以下の手順を実行してください。
- Staypuft で設定された
Puppetを実行している場合には、Puppet を無効にする必要があります。systemctl stop puppet systemctl disable puppet
# systemctl stop puppet # systemctl disable puppetCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドでは、アップグレードプロセスの一部として加えられた変更を、Staypuft で設定された puppet により取り消されないようにします。 - Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) 用の yum リポジトリーをインストールします。
- python パッケージすべてを手動でアップグレードします。
yum upgrade python*
# yum upgrade python*Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 利用可能な場合は
openstack-selinuxパッケージをアップグレードします。yum upgrade openstack-selinux
# yum upgrade openstack-selinuxCopy to Clipboard Copied! Toggle word wrap Toggle overflow これは、アップグレードしたサービスが SELinux が有効なシステムで正しく実行されるようにするために必要です。
- サービスのアップグレード:各サービスをアップグレードします。コントローラーで実行するアップグレードの適切な手順を以下に示します。MariaDB のアップグレード:MariaDB を実行する各ホストで、以下の手順を実行します。1 つのホストでの手順がすべて完了してから、次のホストでこのプロセスを開始してください。
- ローカルノードで実行されないようにサービスを停止します。
pcs resource ban galera-master $(crm_node -n)
# pcs resource ban galera-master $(crm_node -n)Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、ローカルノードで実行中のサービスがなくなるまで待機します。これは、数分かかる可能性があります。ローカルノードは、まず slaves モードに変更されます。Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac525400aeb753 pcmk-mac525400bab8ae ] Slaves: [ pcmk-mac5254004bd62f ]
Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac525400aeb753 pcmk-mac525400bab8ae ] Slaves: [ pcmk-mac5254004bd62f ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最終的に stopped のモードに変わります。Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac525400aeb753 pcmk-mac525400bab8ae ] Stopped: [ pcmk-mac5254004bd62f ]
Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac525400aeb753 pcmk-mac525400bab8ae ] Stopped: [ pcmk-mac5254004bd62f ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切なパッケージをアップグレードします。
yum upgrade '*mariadb*' '*galera*'
# yum upgrade '*mariadb*' '*galera*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker がローカルノードで
galeraリソースのスケジューリングができるようにします。pcs resource clear galera-master
# pcs resource clear galera-masterCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、gelara リソースがローカルノードでマスターとして実行されるまで待機します。pcs statusからの出力は以下のようになります。Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac5254004bd62f pcmk-mac525400aeb753 pcmk-mac525400bab8ae ]
Master/Slave Set: galera-master [galera] Masters: [ pcmk-mac5254004bd62f pcmk-mac525400aeb753 pcmk-mac525400bab8ae ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
MongoDB のアップグレード:- Pacemaker のコントロールから
mongodリソースを削除します。pcs resource unmanage mongod-clone
# pcs resource unmanage mongod-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 全コントローラー上のサービスを停止します。各コントローラーで、以下を実行します。
systemctl stop mongod
# systemctl stop mongodCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切なパッケージをアップグレードします。
yum upgrade 'mongodb*' 'python-pymongo*'
# yum upgrade 'mongodb*' 'python-pymongo*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 各コントローラーで以下のコマンドを実行して、
mongodサービスを再起動します。systemctl start mongod
# systemctl start mongodCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker コントロールへのリソースをクリーンアップします。
pcs resource cleanup mongod-clone
# pcs resource cleanup mongod-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker コントロールにリソースを戻します。
pcs resource manage mongod-clone
# pcs resource manage mongod-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Identity Service (keystone) のアップグレード:- Pacemaker のコントロールから Identity Service を削除します。
pcs resource unmanage keystone-clone
# pcs resource unmanage keystone-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 各コントローラーで以下のコマンドを実行して Identity Serice を停止します。
systemctl stop openstack-keystone
# systemctl stop openstack-keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切なパッケージをアップグレードします。
yum upgrade 'openstack-keystone*' 'python-keystone*'
# yum upgrade 'openstack-keystone*' 'python-keystone*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - RHEL OpenStack Platform 7 (Kilo) リリースでは、token.persistence.backends の場所が変更されました。
keystone.confの[token]のセクションのdriverオプションを更新する必要があります。これには、keystone.token.backendsをkeystone.token.persistence.backendsに置き換える必要があります。sed -i 's/keystone.token.backends/keystone.token.persistence.backends/g' \ /etc/keystone/keystone.conf
# sed -i 's/keystone.token.backends/keystone.token.persistence.backends/g' \ /etc/keystone/keystone.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow パッケージの更新には、新しいsystemdのユニットファイルが含まれている可能性があるため、更新されたファイルをsystemdに認識させます。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 初期のバージョンのインストーラーでは、期限切れの keystone トークンが自動的に削除されるようにシステム設定されていない可能性があるため、トークンテーブルに期限切れのエントリーが多数含まれている可能性があります。このような場合には、データベーススキーマのアップグレードの所要時間が大幅に増大する可能性があります。Identity データベースのアップグレードを実行する前に
keystone-manageコマンドを使用すると、データベースから期限切れのトークンをフラッシュして問題を軽減することができます。このコマンドにより、データベースから期限切れのトークンがフラッシュされます。cronを使用して、このコマンドが定期的に (例: 1 日 1 回など) 実行されるように設定してください。keystone-manage token_flush
# keystone-manage token_flushCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Identity Service のデータベーススキーマを更新します。
openstack-db --service keystone --update
# openstack-db --service keystone --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 各コントローラーで以下のコマンドを実行してサービスを再起動します。
systemctl start openstack-keystone
# systemctl start openstack-keystoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker を使用して Identity Service をクリーンアップします。
pcs resource cleanup keystone-clone
# pcs resource cleanup keystone-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker コントロールにリソースを戻します。
pcs resource manage keystone-clone
# pcs resource manage keystone-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Image service (glance) のアップグレード:- Pacemaker で Image Service のリソースを停止します。
pcs resource disable glance-registry-clone pcs resource disable glance-api-clone
# pcs resource disable glance-registry-clone # pcs resource disable glance-api-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、両サービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade 'openstack-glance*' 'python-glance*'
# yum upgrade 'openstack-glance*' 'python-glance*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Image Service のデータベーススキーマを更新します。
openstack-db --service glance --update
# openstack-db --service glance --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker を使用して Image Service をクリーンアップします。
pcs resource cleanup glance-api-clone pcs resource cleanup glance-registry-clone
# pcs resource cleanup glance-api-clone # pcs resource cleanup glance-registry-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Image Service のリソースを再起動します。
pcs resource enable glance-api-clone pcs resource enable glance-registry-clone
# pcs resource enable glance-api-clone # pcs resource enable glance-registry-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Block Storage Service (cinder) のアップグレード:- Pacemaker で Block Storage Service のリソースを停止します。
pcs resource disable cinder-api-clone pcs resource disable cinder-scheduler-clone pcs resource disable cinder-volume
# pcs resource disable cinder-api-clone # pcs resource disable cinder-scheduler-clone # pcs resource disable cinder-volumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のサービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade 'openstack-cinder*' 'python-cinder*'
# yum upgrade 'openstack-cinder*' 'python-cinder*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Block Storage Service のデータベーススキーマを更新します。
openstack-db --service cinder --update
# openstack-db --service cinder --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker を使用して Block Storage Service をクリーンアップします。
pcs resource cleanup cinder-volume pcs resource cleanup cinder-scheduler-clone pcs resource cleanup cinder-api-clone
# pcs resource cleanup cinder-volume # pcs resource cleanup cinder-scheduler-clone # pcs resource cleanup cinder-api-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Block Storage Service のリソースを再起動します。
pcs resource enable cinder-volume pcs resource enable cinder-scheduler-clone pcs resource enable cinder-api-clone
# pcs resource enable cinder-volume # pcs resource enable cinder-scheduler-clone # pcs resource enable cinder-api-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Orchestration (heat) のアップグレード:- Pacemaker で Orchestration リソースを停止します。
pcs resource disable heat-api-clone pcs resource disable heat-api-cfn-clone pcs resource disable heat-api-cloudwatch-clone pcs resource disable heat
# pcs resource disable heat-api-clone # pcs resource disable heat-api-cfn-clone # pcs resource disable heat-api-cloudwatch-clone # pcs resource disable heatCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のサービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade 'openstack-heat*' 'python-heat*'
# yum upgrade 'openstack-heat*' 'python-heat*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Orchestration のデータベーススキーマを更新します。
openstack-db --service heat --update
# openstack-db --service heat --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker を使用して Orchestration Service をクリーンアップします。
pcs resource cleanup heat pcs resource cleanup heat-api-cloudwatch-clone pcs resource cleanup heat-api-cfn-clone pcs resource cleanup heat-api-clone
# pcs resource cleanup heat # pcs resource cleanup heat-api-cloudwatch-clone # pcs resource cleanup heat-api-cfn-clone # pcs resource cleanup heat-api-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Orchestration リソースを再起動します。
pcs resource enable heat pcs resource enable heat-api-cloudwatch-clone pcs resource enable heat-api-cfn-clone pcs resource enable heat-api-clone
# pcs resource enable heat # pcs resource enable heat-api-cloudwatch-clone # pcs resource enable heat-api-cfn-clone # pcs resource enable heat-api-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Telemetry (ceilometer) のアップグレード:- Pacemaker で Telemetry リソースをすべて停止します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のサービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade 'openstack-ceilometer*' 'python-ceilometer*'
# yum upgrade 'openstack-ceilometer*' 'python-ceilometer*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Telemetry に MySQL のバックエンドを使用している場合には、Telemetry データベーススキーマを更新します。
openstack-db --service ceilometer --update
# openstack-db --service ceilometer --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
MongoDB バックエンドを使用している場合には、この手順は必要ありません。 - Pacemaker を使用して Telemetry Service をクリーンアップします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Telemetry リソースをすべて再起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Compute (nova) のアップグレード:- Pacemaker で Compute リソースをすべて停止します。
pcs resource disable openstack-nova-novncproxy-clone pcs resource disable openstack-nova-consoleauth-clone pcs resource disable openstack-nova-conductor-clone pcs resource disable openstack-nova-api-clone pcs resource disable openstack-nova-scheduler-clone
# pcs resource disable openstack-nova-novncproxy-clone # pcs resource disable openstack-nova-consoleauth-clone # pcs resource disable openstack-nova-conductor-clone # pcs resource disable openstack-nova-api-clone # pcs resource disable openstack-nova-scheduler-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のサービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade 'openstack-nova*' 'python-nova*'
# yum upgrade 'openstack-nova*' 'python-nova*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Compute のデータベーススキーマを更新します。
openstack-db --service nova --update
# openstack-db --service nova --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kilo に完全に更新した後に (すべてのノードが Kilo を実行している場合)、フレーバー情報のバックグラウンド移行を開始する必要があります。Kilo のコンダクターノードは、必要な場合にこの操作を自動的に行いますが、それ以外のアイドルデータはバックグラウンドで移行する必要があります。以下のコマンドは、novaユーザーとして実行してください。runuser -u nova -- nova-manage db migrate_flavor_data
# runuser -u nova -- nova-manage db migrate_flavor_dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Juno および kilo 環境間の互換性を確保する必要があります。Kilo コントローラーまたはコンピュートサービスを開始する前に、
nova.confの[upgrade_levels]セクションのcomputeオプションをjunoに設定する必要があります。crudini --set /etc/nova/nova.conf upgrade_levels compute juno
# crudini --set /etc/nova/nova.conf upgrade_levels compute junoCopy to Clipboard Copied! Toggle word wrap Toggle overflow まず、コントローラーの 1 つでpcs resource unmanageを実行することで Compute リソースの管理を解除する必要があります。pcs resource unmanage openstack-nova-novncproxy-clone pcs resource unmanage openstack-nova-consoleauth-clone pcs resource unmanage openstack-nova-conductor-clone pcs resource unmanage openstack-nova-api-clone pcs resource unmanage openstack-nova-scheduler-clone
# pcs resource unmanage openstack-nova-novncproxy-clone # pcs resource unmanage openstack-nova-consoleauth-clone # pcs resource unmanage openstack-nova-conductor-clone # pcs resource unmanage openstack-nova-api-clone # pcs resource unmanage openstack-nova-scheduler-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーすべてで全サービスを再起動します。openstack-service restart nova
# openstack-service restart novaCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートホストをすべて OpenStack Kilo にアップグレードした後で、Pacemaker がコントロールできるように戻す必要があります。pcs resource manage openstack-nova-scheduler-clone pcs resource manage openstack-nova-api-clone pcs resource manage openstack-nova-conductor-clone pcs resource manage openstack-nova-consoleauth-clone pcs resource manage openstack-nova-novncproxy-clone
# pcs resource manage openstack-nova-scheduler-clone # pcs resource manage openstack-nova-api-clone # pcs resource manage openstack-nova-conductor-clone # pcs resource manage openstack-nova-consoleauth-clone # pcs resource manage openstack-nova-novncproxy-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Compute リソースをすべてクリーンアップします。
pcs resource cleanup openstack-nova-scheduler-clone pcs resource cleanup openstack-nova-api-clone pcs resource cleanup openstack-nova-conductor-clone pcs resource cleanup openstack-nova-consoleauth-clone pcs resource cleanup openstack-nova-novncproxy-clone
# pcs resource cleanup openstack-nova-scheduler-clone # pcs resource cleanup openstack-nova-api-clone # pcs resource cleanup openstack-nova-conductor-clone # pcs resource cleanup openstack-nova-consoleauth-clone # pcs resource cleanup openstack-nova-novncproxy-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Compute リソースをすべて再起動します。
pcs resource enable openstack-nova-scheduler-clone pcs resource enable openstack-nova-api-clone pcs resource enable openstack-nova-conductor-clone pcs resource enable openstack-nova-consoleauth-clone pcs resource enable openstack-nova-novncproxy-clone
# pcs resource enable openstack-nova-scheduler-clone # pcs resource enable openstack-nova-api-clone # pcs resource enable openstack-nova-conductor-clone # pcs resource enable openstack-nova-consoleauth-clone # pcs resource enable openstack-nova-novncproxy-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
OpenStack Networking (neutron) のアップグレード:- Pacemaker による OpenStack Networking クリーンアップスクリプトがトリガーされないようにします。
pcs resource unmanage neutron-ovs-cleanup-clone pcs resource unmanage neutron-netns-cleanup-clone
# pcs resource unmanage neutron-ovs-cleanup-clone # pcs resource unmanage neutron-netns-cleanup-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で OpenStack Networking のリソースを停止します。
pcs resource disable neutron-server-clone pcs resource disable neutron-openvswitch-agent-clone pcs resource disable neutron-dhcp-agent-clone pcs resource disable neutron-l3-agent-clone pcs resource disable neutron-metadata-agent-clone
# pcs resource disable neutron-server-clone # pcs resource disable neutron-openvswitch-agent-clone # pcs resource disable neutron-dhcp-agent-clone # pcs resource disable neutron-l3-agent-clone # pcs resource disable neutron-metadata-agent-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切なパッケージをアップグレードします。
yum upgrade 'openstack-neutron*' 'python-neutron*'
# yum upgrade 'openstack-neutron*' 'python-neutron*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack-neutron-vpnaas、openstack-neutron-fwaas、openstack-neutron-lbaasなどneutron.confファイルで有効化された高度な OpenStack Networking Service のパッケージをインストールします。yum install openstack-neutron-vpnaas yum install openstack-neutron-fwaas yum install openstack-neutron-lbaas
# yum install openstack-neutron-vpnaas # yum install openstack-neutron-fwaas # yum install openstack-neutron-lbaasCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのパッケージをインストールすると、対応する設定ファイルが作成されます。neutron.confファイルの VPNaaS および LBaaS サービスのエントリーの場合は、service_providerエントリーを/etc/neutron配下の対応するneutron-*aas.confファイルにコピーし、neutron.confファイルのこれらのエントリーをコメント化します。FWaaS サービスエントリーの場合は、service_providerパラメーターをneutron.confファイルに 残す必要があります。- LBaaS エージェントを実行する全ノードで、
openstack-neutron-lbaasパッケージをインストールします。yum install openstack-neutron-lbaas
# yum install openstack-neutron-lbaasCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking のデータベーススキーマを更新します。
openstack-db --service neutron --update
# openstack-db --service neutron --updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenStack Networking Service のアップグレードが完了したら、
rootwrap dhcp.filterの設定ファイルを編集する必要があります。これには、/usr/share/neutron/rootwrap/dhcp.filtersファイルで、以下のようにdnsmasqの値を更新します。たとえば、この値はdnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasq
dnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように置き換えます。dnsmasq: CommandFilter, dnsmasq, root
dnsmasq: CommandFilter, dnsmasq, rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で OpenStack Networking のリソースをクリーンアップします。
pcs resource cleanup neutron-metadata-agent-clone pcs resource cleanup neutron-l3-agent-clone pcs resource cleanup neutron-dhcp-agent-clone pcs resource cleanup neutron-openvswitch-agent-clone pcs resource cleanup neutron-server-clone
# pcs resource cleanup neutron-metadata-agent-clone # pcs resource cleanup neutron-l3-agent-clone # pcs resource cleanup neutron-dhcp-agent-clone # pcs resource cleanup neutron-openvswitch-agent-clone # pcs resource cleanup neutron-server-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で OpenStack Networking のリソースを再起動します。
pcs resource enable neutron-metadata-agent-clone pcs resource enable neutron-l3-agent-clone pcs resource enable neutron-dhcp-agent-clone pcs resource enable neutron-openvswitch-agent-clone pcs resource enable neutron-server-clone
# pcs resource enable neutron-metadata-agent-clone # pcs resource enable neutron-l3-agent-clone # pcs resource enable neutron-dhcp-agent-clone # pcs resource enable neutron-openvswitch-agent-clone # pcs resource enable neutron-server-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker コントロールにクリーンアップエージェントを戻します。
pcs resource manage neutron-ovs-cleanup-clone pcs resource manage neutron-netns-cleanup-clone
# pcs resource manage neutron-ovs-cleanup-clone # pcs resource manage neutron-netns-cleanup-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Dashboard (horizon) のアップグレード:- Pacemaker で Dashboard リソースを停止します。
pcs resource disable horizon-clone
# pcs resource disable horizon-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、このサービスが停止されるまで待機します。- 適切なパッケージをアップグレードします。
yum upgrade httpd 'openstack-dashboard*' 'python-django*'
# yum upgrade httpd 'openstack-dashboard*' 'python-django*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新したユニットファイルを有効にするために
systemdを再読み込みします。systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Dashboard の設定を修正します。Apache 設定の修正:
openstack-dashboardパッケージにより、/etc/httpd/conf.d/openstack-dashboard.confファイルがインストールされますが、Staypuft インストーラーはこのファイルを/etc/httpd/conf.d/15-horizon_vhost.confファイルに置き換えます。Horizon をアップグレードした後には、以下の設定ファイルが存在します。15-horizon_vhost.confopenstack-dashboard.confopenstack-dashboard.conf.rpmnew
以下の変更を加えます。openstack-dashboard.conf.rpmnewファイルを削除します。rm openstack-dashboard.conf.rpmnew
# rm openstack-dashboard.conf.rpmnewCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を置き換えて
15-horizon_vhost.confファイルを変更します。Alias /static "/usr/share/openstack-dashboard/static"
Alias /static "/usr/share/openstack-dashboard/static"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように置き換えます。Alias /dashboard/static "/usr/share/openstack-dashboard/static"
Alias /dashboard/static "/usr/share/openstack-dashboard/static"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Dashboard 設定の修正:openstack-dashboardパッケージにより、/etc/openstack-dashboard/local_settingsファイルがインストールされます。アップグレード後には、以下の設定ファイルが設定されています。/etc/openstack-dashboard/local_settings/etc/openstack-dashboard/local_settings.rpmnew
以下の変更を加えます。- 既存の
local_settingsファイルをバックアップします。cp local_settings local_settings.old
# cp local_settings local_settings.oldCopy to Clipboard Copied! Toggle word wrap Toggle overflow local_settings.rpmnewファイルの名前をlocal_settingsファイルに変更します。mv local_settings.rpmnew local_settings
# mv local_settings.rpmnew local_settingsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の設定オプションを
local_settings.oldファイルからの適切な値に置き換えます。- ALLOWED_HOSTS
- SECRET_KEY
- CACHES
- OPENSTACK_KEYSTONE_URL
- 全コントローラーで Web サーバーを再起動してすべての変更を適用します。
service httpd restart
# service httpd restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Pacemaker で Dashboard リソースをクリーンアップします。
pcs resource cleanup horizon-clone
# pcs resource cleanup horizon-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Pacemaker で Dashboard リソースを再起動します。
pcs resource enable horizon-clone
# pcs resource enable horizon-cloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcs statusの出力で、上記のリソースが実行中と表示されるまで待機します。
Compute (nova) ホストのアップグレード:各コンピュートホストで以下を実行します。- ホスト上の OpenStack サービスをすべて停止します。
openstack-service stop
# openstack-service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - すべてのパッケージをアップグレードします。
yum upgrade
# yum upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Juno および kilo 環境間の互換性を確保する必要があります。Kilo コントローラーまたはコンピュートサービスを開始する前に、
nova.confの[upgrade_levels]セクションのcomputeオプションをjunoに設定する必要があります。crudini --set /etc/nova/nova.conf upgrade_levels compute juno
# crudini --set /etc/nova/nova.conf upgrade_levels compute junoCopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーホストおよびコンピュートホストで、上記の変更を加える必要があります。 - ホスト上の OpenStack サービスをすべて起動します。
openstack-service start
# openstack-service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 全ホストを Kilo にアップグレードした後には、以前のステップで設定した API の制限を削除します。全ホスト上で以下のコマンドを実行します。
crudini --del /etc/nova/nova.conf upgrade_levels compute
# crudini --del /etc/nova/nova.conf upgrade_levels computeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
アップグレード後のタスク:- 個別サービスのアップグレードをすべて完了した後には、全システムで完全なパッケージアップグレードを行う必要があります。
yum upgrade
# yum upgradeCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドで、すべてのパッケージが最新の状態にします。実行中のプロセスにおいて、更新後の基盤バイナリーバージョンが使用されるように、OpenStack ホストの再起動を後日にスケジューリングしてください。 - 上記の操作によって生成された設定ファイルを確認します。アップグレードされたパッケージには、Red Hat Enterprise Linux OpenStack Platform 7 バージョンのサービスに適した
.rpmnewファイルがインストールされているはずです。新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。
法律上の通知 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2015 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.