第2章 ML2 メカニズムドライバーを OVS から OVN に移行する


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

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

前提条件

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

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

  • Red Hat Technical Account Manager または Global Professional Services と連携して移行を計画し、プロアクティブケースを作成している。How to submit a Proactive Case を参照してください。

手順

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

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

    注記

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

  2. ML2/OVS デプロイメントで VXLAN または GRE プロジェクトネットワークを使用する場合は、setup-mtu-t1 の手順を実施した後に最大 24 時間待機します。

    • この待機時間により、仮想マシンインスタンスは DHCP リースを更新し、新しい MTU 値を受け取ることができます。この間に、一部のインスタンスに MTU を手動で設定し、一部のインスタンスを再起動する必要がある場合があります。
    • 24 時間はデフォルト設定の 86400 秒に基づいた時間です。実際の時間は、/var/lib/config-data/puppet-generated/neutron/etc/neutron/dhcp_agent.ini dhcp_renewal_time および /var/lib/config-data/puppet-generated/neutron/etc/neutron/neutron.conf dhcp_lease_duration のパラメーターにより異なります。
  3. python3-networking-ovn-migration-tool をインストールします。

    sudo dnf install python3-networking-ovn-migration-tool @container-tools

    コンテナーツールがまだ存在しない場合、@container-tools 引数はそれもインストールします。

  4. アンダークラウドにディレクトリーを作成し、Ansible Playbook をコピーします。

    mkdir ~/ovn_migration
    cd ~/ovn_migration
    cp -rfp /usr/share/ansible/networking-ovn-migration/playbooks .
  5. ML2/OVN ステージデプロイメントファイルを ~/ovn_migration などの移行ホームディレクトリーにコピーします。

    ステージ移行デプロイメントファイルには、overcloud-deploy.sh と、環境ファイルなど、デプロイメントによって参照されるすべてのファイルが含まれます。overcloud-deploy.sh のコピーの名前を overcloud-deploy-ovn.sh に変更します。このスクリプトは移行にのみ使用してください。他の目的には使用しないでください。

  6. 以下のリストで移行シナリオを確認し、overcloud-deploy-ovn.shopenstack deploy コマンドをカスタマイズするための適切な手順を実施します。

    シナリオ 1: DVR から DVR へコンピュートノードが外部ネットワークに接続できる
    • 以下の環境ファイルを overcloud-deploy-ovn.sh の openstack deploy コマンドに追加します。環境ファイルは以下の順序で追加します。このコマンドの例では、デフォルトの neutron-ovn-dvr-ha.yaml ファイルを使用します。別のファイルを使用する場合は、コマンドのファイル名を置き換えます。

      -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml \
      -e $HOME/ovn-extras.yaml
    シナリオ 2: 集中ルーティングから集中ルーティングへ (DVR なし)
    • デプロイメントで SR-IOV が使用されている場合は、roles_data.yaml ファイルの OS::TripleO::Services::OVNMetadataAgent を Controller ロールに追加します。
    • 移行前のカスタムブリッジマッピングを維持します。

      • ネットワーカーまたはネットワーカー/コントローラー複合ノードで以下のコマンドを実行し、現在のブリッジマッピングを取得します。

        sudo podman exec -it neutron_ovs_agent crudini --get /etc/neutron/plugins/ml2/openvswitch_agent.ini ovs bridge_mappings

        出力例

        datacentre:br-ex,tenant:br-isolated
      • アンダークラウドで、ブリッジマッピング用の環境ファイル (/home/stack/neutron_bridge_mappings.yaml) を作成します。
      • 環境ファイルでデフォルト値を設定します。以下に例を示します。

        parameter_defaults:
          ComputeParameters:
            NeutronBridgeMappings: "datacentre:br-ex,tenant:br-isolated"
    • 以下の環境ファイルを overcloud-deploy-ovn.sh の openstack deploy コマンドに追加します。環境ファイルは以下の順序で追加します。お使いの環境で SR-IOV が使用されない場合は、neutron-ovn-sriov.yaml ファイルを省略します。ovn-extras.yaml ファイルは存在していませんが、openstack deploy コマンドを実行する前に ovn_migration.sh スクリプトにより作成されます。

      -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml \
      -e /home/stack/ovn-extras.yaml  \
      -e /home/stack/neutron_bridge_mappings.yaml
    • カスタムのネットワーク変更は、移行前と同じままにします。
    シナリオ 3: 集中ルーティングから DVR へ (Geneve タイプドライバーおよび br-ex 経由で外部ネットワークに接続されたコンピュートノードを使用)
    警告

    ML2/OVS デプロイメントで集中ルーティングおよび VLAN プロジェクト (テナント) ネットワークが使用される場合は、DVR を使用する ML2/OVN に移行しないでください。集中ルーティングを使用する ML2/OVN に移行できます。この制限の進捗を追跡するには、Bug 1766930 を参照してください。

    • コンピュートノードが br-ex ブリッジを介して外部ネットワークに接続されていることを確認します。たとえば、compute-dvr.yaml 等の環境ファイルで以下のように設定します。

      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
  7. すべてのユーザーに overcloud-deploy-ovn.sh ファイルの実行権限があることを確認します。このスクリプトには、移行プロセス中に実行権限が必要です。

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

    $ export PUBLIC_NETWORK_NAME=my-public-network
    • STACKRC_FILE: アンダークラウドの stackrc ファイル。

      デフォルト: ~/stackrc

    • OVERCLOUDRC_FILE: アンダークラウドの overcloudrc ファイル。

      デフォルト: ~/overcloudrc

    • OVERCLOUD_OVN_DEPLOY_SCRIPT: デプロイメントスクリプト。

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

    • PUBLIC_NETWORK_NAME: パブリックネットワークの名前。

      デフォルト: public

    • IMAGE_NAME: テストサーバーのブートに使用する glance イメージの名前または ID。

      デフォルト: cirros

      イメージは、検証前/検証後のプロセス時に自動的にダウンロードされます。

    • VALIDATE_MIGRATION: 移行リソースを作成して移行を検証します。移行スクリプトは、移行開始前にサーバーを起動し、移行後にサーバーが到達可能であることを検証します。

      デフォルト: True

      警告

      移行の検証には、少なくとも 2 つの利用可能な Floating IP アドレス、2 つのネットワーク、2 つのサブネット、2 つのインスタンス、および 2 つの admin ルーターが必要です。

      また、PUBLIC_NETWORK_NAME で指定されるネットワークには、利用可能な Floating IP アドレスが必要で、アンダークラウドから ping できる必要があります。

      お使いの環境がこれらの要件を満たさない場合には、VALIDATE_MIGRATION を False に設定します。

    • SERVER_USER_NAME: 移行インスタンスへのロギングに使用するユーザー名。

      デフォルト: cirros

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

      デフォルト: 30

  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. 元のデプロイメントで VXLAN または GRE を使用している場合は、最大伝送単位 (MTU) 値を調整する必要があります。OVS メカニズムドライバーから OVN メカニズムドライバーへの移行のための MTU の調整 に進みます。

    元のデプロイメントで VLAN ネットワークを使用している場合は、MTU 調整をスキップして、OVS メカニズムドライバーから OVN メカニズムドライバーへの移行のためのコンテナーイメージの準備 に進みます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る