17.6. 仮想マシンをネットワークに接続するためにネットワークボンディングにブリッジを設定する


ネットワークブリッジは、仮想マシンをホストと同じネットワークに接続します。あるホスト上の仮想マシンを、別のホストや別のホスト上の仮想マシンに接続する場合は、ブリッジによってそれらの間の通信が確立されます。ただし、ブリッジはフェイルオーバーメカニズムを備えていません。通信障害に対処するには、ネットワークボンディングによって、ネットワークインターフェイスの障害発生時に通信を処理します。フォールトトレランスと冗長性を確保するために、active-backup ボンディングメカニズムにより、ボンディング内で 1 つポートだけがアクティブであると判断されます。このとき、スイッチ設定は不要です。アクティブポートに障害が発生した場合、代替ポートがアクティブになり、ネットワーク内に設定されている仮想マシン間の通信が維持されます。

17.6.1. nmcli を使用してネットワークボンディング上のネットワークインターフェイスを設定する

コマンドラインでネットワークボンディングを設定するには、nmcli ユーティリティーを使用します。

前提条件

  • サーバーに 2 台以上の物理デバイスがインストールされていて、それらが NetworkManager 接続プロファイルに設定されていない。

手順

  1. ボンドインターフェイスを作成します。

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"

    このコマンドは、active-backup モードを使用する bond0 という名前のボンディングを作成します。

  2. イーサネットインターフェイスをボンディングに割り当てます。

    # nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0
    # nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0

    これらのコマンドは、enp7s0 および enp8s0 のプロファイルを作成し、bond0 接続に追加します。

  3. IPv4 を設定します。

    • DHCP を使用するために必要な操作はありません。
    • 静的 IPv4 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを bond0 接続に設定するには、次のように入力します。

      # nmcli connection modify bond0 ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.253 ipv4.dns-search example.com ipv4.method manual
  4. IPv6 設定を行います。

    • ステートレスアドレス自動設定 (SLAAC) を使用する場合、アクションは必要ありません。
    • 静的 IPv6 アドレス、ネットワークマスク、デフォルトゲートウェイ、および DNS サーバーを bond0 接続に設定するには、次のように入力します。

      # nmcli connection modify bond0 ipv6.addresses 2001:db8:1::1/64 ipv6.gateway 2001:db8:1::fffe ipv6.dns 2001:db8:1::fffd ipv6.dns-search example.com ipv6.method manual
  5. オプション: ボンディングポートにパラメーターを設定する場合は、次のコマンドを使用します。

    # nmcli connection modify bond0-port1 bond-port.<parameter> <value>
  6. ボンディングが有効な場合に Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定します。

    # nmcli connection modify bond0 connection.autoconnect-ports 1
  7. ブリッジをアクティブ化します。

    # nmcli connection up bond0

検証

  1. ホストからネットワークケーブルを一時的に削除します。

    ソフトウェアユーティリティーを使用して、リンク障害イベントを適切にテストする方法がないことに注意してください。nmcli などの接続を非アクティブにするツールでは、ポート設定の変更を処理するボンディングドライバーの機能のみが表示され、実際のリンク障害イベントは表示されません。

  2. ボンドのステータスを表示します。

    # cat /proc/net/bonding/bond0

17.6.2. nmcli を使用してネットワークボンディング用のネットワークブリッジを設定する

ネットワークボンディング用のネットワークブリッジには、トラフィック処理を改善するために複数のネットワークインターフェイスを組み合わせたボンディングインターフェイスを設定する必要があります。そのため、仮想マシンはネットワークブリッジを使用して結合されたネットワークインターフェイスを介してネットワークにアクセスできます。nmcli ユーティリティーにより、設定に必要な接続ファイルをコマンドラインから作成および編集します。

手順

  1. ブリッジインターフェイスを作成します。

    # nmcli connection add type bridge con-name br0 ifname br0 ipv4.method disabled ipv6.method disabled
  2. bond0 ボンディングを br0 ブリッジに追加します。

    # nmcli connection modify bond0 master br0
  3. ブリッジが有効な場合に Red Hat Enterprise Linux がすべてのポートを自動的に有効にするように設定します。

    # nmcli connection modify br0 connection.autoconnect-ports 1
  4. ブリッジを再度アクティブにします。

    # nmcli connection up br0

検証

  • ip ユーティリティーを使用して、特定のブリッジのポートであるイーサネットデバイスのリンクステータスを表示します。

    # ip link show master br0
    6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000
        link/ether 52:54:00:38:a9:4d brd ff:ff:ff:ff:ff:ff
    ...
  • bridge ユーティリティーを使用して、任意のブリッジデバイスのポートであるイーサネットデバイスの状態を表示します。

    # bridge link show
    6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
    ...

    特定のイーサネットデバイスのステータスを表示するには、bridge link show dev <ethernet_device_name> コマンドを使用します。

関連情報

  • nm-settings(5) man ページ
  • bridge(8) man ページ

17.6.3. 既存のボンディングインターフェイスを使用して libvirt で仮想ネットワークを作成する

仮想マシン (VM) がボンディングで br0 ブリッジを使用できるようにするには、まず、このブリッジを使用する libvirtd サービスに仮想ネットワークを追加します。

前提条件

  • libvirt をインストールした。
  • libvirtd を起動して有効にした。
  • Red Hat Enterprise Linux 上のボンディングを使用して br0 デバイスを設定した。

手順

  1. 次の内容を含む ~/bond0-bridge.xml ファイルを作成します。

    <network>
    	<name>bond0-bridge</name>
    	<forward mode="bridge" />
    	<bridge name="br0" />
    </network>
  2. ~/bond0-bridge.xml ファイルを使用して、libvirt に新しい仮想ネットワークを作成します。

    # virsh net-define ~/bond0-bridge.xml
  3. ~/bond0-bridge.xml ファイルを削除します。

    # rm ~/bond0-bridge.xml
  4. bond0-bridge 仮想ネットワークを起動します。

    # virsh net-start bond0-bridge
  5. libvirtd サービスの起動時に自動的に起動するように bond0-bridge 仮想ネットワークを設定します。

    # virsh net-autostart bond0-bridge

検証

  • 仮想ネットワークのリストを表示します。

    # virsh net-list
    Name              State    Autostart   Persistent
    ----------------------------------------------------
    bond0-bridge      active      yes         yes
    ...

関連情報

  • virsh(1) man ページ

17.6.4. ボンディングインターフェイスを使用するように仮想マシンを設定する

ホスト上のブリッジデバイスとボンディングインターフェイスを使用するように仮想マシンを設定するには、bond0-bridge 仮想ネットワークを使用する新しい仮想マシンを作成するか、このネットワークを使用するように既存の仮想マシンの設定を更新します。

RHEL ホストでこの手順を実行します。

前提条件

  • libvirtdbond0-bridge 仮想ネットワークを設定した。

手順

  1. 新しい仮想マシンを作成し、bond0-bridge ネットワークを使用するように設定するには、仮想マシンを作成するときに、virt-install ユーティリティーに --network network:bond0-bridge オプションを渡します。

    # virt-install ... --network network:bond0-bridge
  2. 既存の仮想マシンのネットワーク設定を変更するには、次のコマンドを実行します。

    1. 仮想マシンのネットワークインターフェイスを bond0-bridge 仮想ネットワークに接続します。

      # virt-xml <example_vm> --edit --network network=bond0-bridge
  3. 仮想マシンをシャットダウンして、再起動します。

    # virsh shutdown <example_vm>
    # virsh start <example_vm>

検証

  • ホストの仮想マシンの仮想ネットワークインターフェイスを表示します。

    # virsh domiflist <example_vm>
    Interface   Type     Source           Model    MAC
    -------------------------------------------------------------------
    vnet1       bridge   bond0-bridge   virtio   52:54:00:c5:98:1c
  • br0 ブリッジに接続されているインターフェイスを表示します。

    # ip link show master br0
    18: bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 2a:53:bd:d5:b3:0a brd ff:ff:ff:ff:ff:ff
    
    19: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:c5:98:1c brd ff:ff:ff:ff:ff:ff
    ...

    libvirtd は、ブリッジの設定を動的に更新することに注意してください。bond0-bridge ネットワークを使用する仮想マシンを起動すると、ホスト上の対応する vnet* デバイスがブリッジのポートとして表示されます。

関連情報

  • virt-install(1) man ページ
  • virt-xml(1) man ページ
  • virsh(1) man ページ
  • arping(8) man ページ
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.