検索

第2章 ML2 メカニズムドライバーの OVS から OVN への移行

download PDF

2.1. OVN メカニズムドライバーを移行するための環境の準備

環境の評価と準備は、移行を成功させるために重要です。Red Hat Technical Account Manager または Global Professional Services は、以下の手順での実施を案内します。

前提条件

  • デプロイメントは、最新の RHOSP 17.1 バージョンを使用している。つまり、OpenStack バージョンのアップグレードまたは更新が必要な場合は、まずアップグレードまたは更新を実行し、続いて ML2/OVS から ML2/OVN への移行を実施します。
  • 各サブネットプールで少なくとも 1 つの IP アドレスが使用可能である。

    OVN メカニズムドライバーは、サブネットごとにメタデータポートを作成します。各メタデータポートは、IP アドレスプールから IP アドレスを要求します。

  • Red Hat Technical Account Manager または Global Professional Services と連携して移行を計画し、プロアクティブケースを作成している。How to submit a Proactive Case を参照してください。
  • ML2/OVS デプロイメントで VXLAN プロジェクトネットワークを使用する場合は、「VXLAN OVS デプロイメントから移行するための MTU 削減」 のセクションで説明されているような調整が必要になる場合があるため、このセクションを参照してください。

手順

  1. ML2/OVN ステージデプロイメントを作成し、ターゲット ML2/OVN デプロイメントのベースライン設定を取得し、ターゲットデプロイメントの実現可能性をテストします。

    計画された移行後の実稼働環境要デプロイメントと同じ基本的なロール、ルーティング、およびトポロジーを使用して、ステージデプロイメントを設計します。完全な openstack overcloud deploy コマンドをすべてのデプロイメント引数とともに overcloud-deploy.sh というファイルに保存します。環境ファイルなど、openstack overcloud deploy コマンドが参照するファイルもすべて保存します。この手順の後半で、移行のターゲット ML2/OVN 環境を設定するためにこれらのファイルが必要になります。

    注記

    これらのファイルは、ステージデプロイメントの作成および移行でのみ使用してください。移行後に再利用しないでください。

  2. openstack-neutron-ovn-migration-tool をインストールします。

    sudo dnf install openstack-neutron-ovn-migration-tool
  3. ステップ 1 で作成した overcloud-deploy.sh スクリプトをコピーし、コピーの名前を overcloud-migrate-ovn.sh に変更します。overcloud-migrate-ovn.sh 内の overcloud deploy コマンドのすべてのパスがまだ正しいことを確認します。後続の手順で、overcloud-migrate-ovn.sh スクリプトの引数をカスタマイズします。
  4. 以下の一覧で移行シナリオを確認し、overcloud-migrate-ovn.shopenstack deploy コマンドをカスタマイズするための適切な手順を実施します。

    警告

    デプロイメントコマンドでは、環境ファイルを追加する -e 引数の順序に注意してください。一般的なデフォルト設定を含む環境ファイル (neutron-ovn-dvr-ha.yaml など) は、ブリッジマッピングなどのカスタムネットワーク環境設定を含むファイルを指定する -e の引数の前に配置する必要があります。

    シナリオ 1: DVR から DVR への移行で、コンピュートノードが外部ネットワークに接続されている場合
    • overcloud-migrate-ovn.sh で、カスタム heat テンプレートファイル引数を openstack overcloud deploy コマンドに追加します。これらの引数はコアテンプレートファイルの引数の後に追加します。

      次のコマンド例では、デフォルトの neutron-ovn-dvr-ha.yaml heat テンプレートファイルを使用します。実際のデプロイメントでは、OVN 環境を定義するために複数の heat ファイルを使用する場合があります。それぞれを別々の -e 引数を使用して追加してください。

      openstack overcloud deploy \
      --templates /usr/share/openstack-tripleo-heat-templates \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments/services/ \
      neutron-ovn-dvr-ha.yaml
    シナリオ 2: 集中ルーティングから集中ルーティングへ (DVR なし)
    • デプロイメントで SR-IOV およびその他の NFV 機能を使用する場合は、overcloud-migrate-ovn.sh-e 引数を使用して SR-IOV 環境パラメーターを openstack overcloud deploy コマンドに追加します。SR-IOV 環境ファイルは、コアテンプレート環境ファイル引数およびその他のカスタム環境ファイル引数の後に追加します。SR-IOV 環境ファイルの例については、/usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml を参照してください。
    • カスタムのネットワーク変更は、移行前と同じままにします。
    シナリオ 3: 集中ルーティングから DVR への移行で、コンピューティングノードが br-ex 経由で外部ネットワークに接続されている場合
    • コンピュートノードが br-ex ブリッジを介して外部ネットワークに接続されていることを確認します。たとえば、compute-dvr.yaml などの環境ファイルで、次のパラメーターを設定します。次に、-e を使用して、スクリプト overcloud-migrate-ovn.shopenstack overcloud deploy コマンドに環境ファイルを追加します。

      type: ovs_bridge
          # Defaults to br-ex, anything else requires specific # bridge mapping entries for it to be used.
          name: bridge_name
          use_dhcp: false
          members:
           -
            type: interface
            name: nic3
            # force the MAC address of the bridge to this interface
            primary: true
  5. overcloud-migrate-ovn.shovercloud deploy コマンドの最後に次の引数を追加します。

    -e /usr/share/openstack-tripleo-heat-templates/environments/disable-container-manage-clean-orphans.yaml \
    -e $HOME/ovn-extras.yaml
  6. router が環境ファイルまたはテンプレートの NeutronServicePlugins または NeutronPluginExtensions の値として表示される場合は、その値 (router) を ovn-router に置き換えます。たとえば、tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml では次のようになります。

    parameter_defaults:
       NeutronServicePlugins: "ovn-router,trunk,qos,placement"
  7. すべてのユーザーに overcloud-migrate-ovn.sh ファイルの実行権限があることを確認します。このスクリプトには、移行プロセス中に実行権限が必要です。

    $ chmod a+x ~/overcloud-migrate-ovn.sh
  8. export コマンドを使用して、以下の移行関連の環境変数を設定します。以下に例を示します。

    $ export OVERCLOUDRC_FILE=~/myovercloudrc
    STACKRC_FILE

    アンダークラウドの stackrc ファイル。

    デフォルト: ~/stackrc

    OVERCLOUDRC_FILE

    アンダークラウドの overcloudrc ファイル

    デフォルト: ~/overcloudrc

    OVERCLOUD_OVN_DEPLOY_SCRIPT

    デプロイメントスクリプト。

    デフォルト: ~/overcloud-migrate-ovn.sh

    DHCP_RENEWAL_TIME

    DHCP エージェント設定ファイルで設定する DHCP 更新時間 (秒単位)。

    デフォルト: 30

    BACKUP_MIGRATION_IP

    バックアップが保存されているサーバーの IP アドレス。

    デフォルト: 192.168.24.1

    BACKUP_MIGRATION_CTL_PLANE_CIDRS

    バックアップされるすべてのノードのコントロールプレーンサブネットを CIDR 表記でコンマ区切りで表した文字列。

    デフォルト: 192.168.24.0/24

    /usr/bin/ovn_migraton.sh ファイルの先頭に、関連するすべての環境変数のリストが表示されます。

  9. ovn-migration ディレクトリーにいることを確認して、ovn_migration.sh generate-inventory コマンドを実行し、インベントリーファイル hosts_for_migration および ansible.cfg ファイルを生成します。

    $ ovn_migration.sh generate-inventory   | sudo tee -a /var/log/ovn_migration_output.txt
  10. hosts_for_migration ファイルで正確性を確認してください。

    1. リストがお使いの環境と一致していることを確認します。
    2. 各ノードに ovn コントローラーがあることを確認します。
    3. リスト見出し ([ovn-controllers] など) がリスト項目に含まれていないことを確認します。
    4. ovn 移行ディレクトリーから、ansible -i hosts_for_migration -m ping all コマンドをすべて ping します。
  11. (オプション) 移行中に予期しない事態が発生した場合に備えて、移行を元に戻す準備をするためにデプロイメントをバックアップします。

    1. setup_rear_extra_vars.yaml ファイルに次の行が存在する場合は削除します。

      USER_INPUT_TIMEOUT: 5
      KERNEL_CMDLINE: unattended
      ISO_RECOVER_MODE: unattended
    2. コントロールプレーンのバックアップ選択したバックアップメカニズムを使用して、コントローラーノードをバックアップします。サポートされている選択肢は、ReaR バックアップツールを使用するデフォルトの ovn-migration.sh backup コマンドです。

      $ ovn_migration.sh backup
    3. オーバークラウドのデプロイに使用されたテンプレートと環境ファイルをバックアップします。ovn-migration.sh backup コマンドはオーバークラウドをバックアップしません。移行が部分的にまたは失敗した後にコントローラーノードを元に戻す必要がある場合は、OVS オーバークラウドを復元するためにこのバックアップが必要になります。
    4. 元の RHOSP 16.2 ML2/OVS デプロイメントをデプロイするのに使用したスクリプトをコピーします。たとえば、元のスクリプトの名前は overcloud_deploy.sh になります。コピーに overcloud-revert-ovs.sh という名前を付けます。
    5. 次の内容を含む /home/stack/ovs-extra.yml ファイルを作成します。

      parameter_defaults:
        ForceNeutronDriverUpdate: true
    6. overcloud-revert-ovs.sh の最終的な環境ファイル引数が次のようになっていることを確認します。

      -e /home/stack/ovs-extra.yml
    7. overcloud-revert-ovs.sh を安全に保存します。失敗した移行を元に戻す場合に必要になります。
  12. 「OVS から OVN への ML2 メカニズムドライバーの移行用コンテナーイメージの準備」 に進みます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.