第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章前提条件」を参照してください。
以下の項では、非高可用性の環境において Compute を並行稼働させて個別のサービスを更新する方法でクラウドデプロイメントをアップグレードする場合に従う必要のある手順を記載します。
  1. アップグレード前のタスク:
    各ホストで以下の手順を実行してください。
    1. Red Hat Enterprise Linux OpenStack Platform 7 (Kilo) 用の yum リポジトリーをインストールします。
    2. 利用可能な場合は openstack-selinux パッケージをアップグレードします。
      # yum upgrade openstack-selinux
      Copy to Clipboard Toggle word wrap
      これは、アップグレードしたサービスが SELinux が有効なシステムで正しく実行されるようにするために必要です。
  2. 各サービスのアップグレード:
    以下のステップには、各サービス固有のアップグレード手順と順序をまとめています。
    1. 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
      Copy to Clipboard Toggle word wrap
    2. Object Storage (swift)
      Object Storage ホストで以下のコマンドを実行します。
      # openstack-service stop swift
      # yum -d1 -y upgrade \*swift\*
      # openstack-service start swift
      Copy to Clipboard Toggle word wrap
    3. Image Service (glance)
      Image Service ホストで以下のコマンドを実行します。
      # openstack-service stop glance
      # yum -d1 -y upgrade \*glance\*
      # openstack-db --service glance --update
      # openstack-service start glance
      Copy to Clipboard Toggle word wrap
    4. Block Storage (cinder)
      Block Storage ホストで以下のコマンドを実行します。
      # openstack-service stop cinder
      # yum -d1 -y upgrade \*cinder\*
      # openstack-db --service cinder --update
      # openstack-service start cinder
      Copy to Clipboard Toggle word wrap
    5. Orchestration (heat)
      Orchestration ホストで以下のコマンドを実行します。
      # openstack-service stop heat
      # yum -d1 -y upgrade \*heat\*
      # openstack-db --service heat --update
      # openstack-service start heat
      Copy to Clipboard Toggle word wrap
    6. Telemetry (ceilometer)
      1. Telemetry コンポーネントサービスをホストする全ノードで以下のコマンドを実行します。
        # openstack-service stop ceilometer
        # yum -d1 -y upgrade \*ceilometer\*
        Copy to Clipboard Toggle word wrap
      2. Image Service ホストで以下のコマンドを実行します。
        # ceilometer-dbsync
        Copy to Clipboard Toggle word wrap
        このコマンドにより、MySQL は Telemetry Service のバックエンドとして設定することができます。
        Telemetry のコンポーネントサービスの一覧については、 「TELEMETRY の API およびエージェントの起動」 を参照してください。
      3. パッケージのアップグレードが完了した後には、Telemetry コンポーネントサービスをホストする全ノードで以下のコマンドを実行して Telemetry Service を再起動します。
        # openstack-service start ceilometer
        Copy to Clipboard Toggle word wrap
    7. Compute (nova)
      1. コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Juno および kilo 環境間の互換性を確保する必要があります。
        Kilo コントローラーまたはコンピュートサービスを開始する前に、nova.conf[upgrade_levels] セクションの compute オプションを juno に設定する必要があります。
        # crudini --set /etc/nova/nova.conf upgrade_levels compute juno
        Copy to Clipboard Toggle word wrap
        コントローラーホストおよびコンピュートホストで、上記の変更を加える必要があります。
        全コンピュートホストを OpenStack Kilo にアップグレードした後で、この変更を元に戻す必要があります。
      2. コンピュートホストで以下のコマンドを実行します。
        # openstack-service stop nova
        # yum -d1 -y upgrade \*nova\*
        # openstack-db --service nova --update
        Copy to Clipboard Toggle word wrap
      3. Kilo に完全に更新した後に (すべてのノードが Kilo を実行している場合)、フレーバー情報のバックグラウンド移行を開始する必要があります。Kilo のコンダクターノードは、必要な場合にこの操作を自動的に行いますが、それ以外のアイドルデータはバックグラウンドで移行する必要があります。以下のコマンドは、nova ユーザーとして実行してください。
        # runuser -u nova -- nova-manage db migrate_flavor_data
        Copy to Clipboard Toggle word wrap
      4. 全ホストを Kilo にアップグレードした後には、以前のステップで設定した API の制限を削除します。全ホスト上で以下のコマンドを実行します。
        # crudini --del /etc/nova/nova.conf upgrade_levels compute
        Copy to Clipboard Toggle word wrap
      5. コンピュートホストおよびコントローラーすべてで Compute Service を再起動します。
        # openstack-service start nova
        Copy to Clipboard Toggle word wrap
    8. OpenStack Networking (neutron)
      1. OpenStack Networking ホストで以下のコマンドを実行します。
        # openstack-service stop neutron
        # yum -d1 -y upgrade \*neutron\*
        # openstack-db --service neutron --update
        Copy to Clipboard Toggle word wrap
      2. OpenStack Networking Service のアップグレードが完了したら、rootwrap dhcp.filter の設定ファイルを編集する必要があります。
        これには、/usr/share/neutron/rootwrap/dhcp.filters ファイルで、以下のように dnsmasq の値を更新します。たとえば、この値は
        dnsmasq: EnvFilter, env, root, CONFIG_FILE=, NETWORK_ID=, dnsmasq
        Copy to Clipboard Toggle word wrap
        以下のように置き換えます。
        dnsmasq: CommandFilter, dnsmasq, root
        Copy to Clipboard Toggle word wrap
      3. OpenStack Networking Service を再起動します。
        # openstack-service start neutron
        Copy to Clipboard Toggle word wrap
    9. Dashboard (horizon)
      Dashboard ホストで以下のコマンドを実行します。
      # yum -y upgrade \*horizon\* \*openstack-dashboard\*
      # yum -d1 -y upgrade \*horizon\* \*python-django\*
      # systemctl restart httpd
      Copy to Clipboard Toggle word wrap
  3. アップグレード後のタスク:
    1. 個別サービスのアップグレードをすべて完了した後には、全システムで完全なパッケージアップグレードを行う必要があります。
      # yum upgrade
      Copy to Clipboard Toggle word wrap
      このコマンドで、すべてのパッケージが最新の状態にします。実行中のプロセスにおいて、更新後の基盤バイナリーバージョンが使用されるように、OpenStack ホストの再起動を後日にスケジューリングしてください。
    2. 上記の操作によって生成された設定ファイルを確認します。アップグレードされたパッケージには、Red Hat Enterprise Linux OpenStack Platform 7 バージョンのサービスに適した .rpmnew ファイルがインストールされているはずです。
      新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat Enterprise Linux OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat