ノート:

Network Manager CLIを使用したネットワーク・ボンドの作成

イントロダクション

ネットワーク・ボンドは、システム上の複数の物理ネットワーク・インタフェースを単一の論理グループ・インタフェースにグループ化し、ネットワーク・スイッチに接続されます。結合では、結合グループ内のリンクに障害が発生した場合に接続を維持することで、冗長性により高い接続可用性が容易になります。また、物理ネットワーク・インタフェースの集約によって、結合内のインタフェース間でトラフィックをロード・バランシングすることで、スループットが向上します。このラボでは、NMCLIユーティリティを使用して、複数の物理インタフェースを使用したネットワーク・ボンド・インタフェースの作成、そのボンド・モードの変更、およびボンド・インタフェースの削除を行います。

目的

この演習では、次のことを学習します。

ノート:このチュートリアルの手順は、Oracle Engineeringの推奨事項に従います。

前提条件

結合インタフェースの作成

この演習環境で使用されるインスタンスはOracle Linux 8クラウド・インスタンスであり、4つのネットワーク・インタフェースを使用できます。これらのネットワーク・インタフェースの3つを使用して、結合インタフェースを作成します。すべてのインタフェースが同じ仮想クラウド・ネットワーク・プライベート・サブネット上にあります。

ノート:チュートリアルの最後にある「追加情報」セクションのリンクに従って、結合インタフェースの作成方法を示す無料ビデオを視聴できます。

  1. Oracle Linux Labの基本の手順に従って、SSH接続を確立し、演習システム・インスタンスにログインします。

    次の項では、インスタンスにSSH接続する方法を示します。

    • パブリックIPアドレスのコピー
    • Oracle Linuxインスタンスへの接続
    ssh oracle@<ip address of instance>
    
  2. 結合インタフェースを作成します。ボンド接続名を Bondconn1に設定し、インタフェース名を bond0に設定します。

    sudo nmcli connection add type bond con-name "Bondconn1" ifname bond0
    
  3. 作成された新しいボンドを表示します。

    sudo nmcli connection
    

    出力例:

    NAME       UUID                                  TYPE      DEVICE 
    Bondconn1    6a5605dc-49ad-4f8d-8e10-7c130b95aba7  bond      bond0  
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3 
    
  4. ボンド構成ファイルを表示して、新しいボンド・インタフェースの詳細情報を確認します。

    sudo nmcli connection show "Bondconn1"
    

    ノート:出力の次のページに進むには、「スペース」キーを使用します。'q'キーを使用して出力を終了し、コマンドラインに戻ります。

    出力例:

    connection.id:                          Bondconn1
    connection.uuid:                        e8092374-4397-4452-bc55-2f64c506b518
    connection.stable-id:                   --
    connection.type:                        bond
    connection.interface-name:              bond0
    connection.autoconnect:                 yes
    connection.autoconnect-priority:        0
    connection.autoconnect-retries:         -1 (default)
    connection.multi-connect:               0 (default)
    ...
    ...
    bond.options:                           mode=balance-rr
    proxy.method:                           none
    proxy.browser-only:                     no
    proxy.pac-url:                          --
    proxy.pac-script:                       --
    GENERAL.NAME:                           Bondconn1
    GENERAL.UUID:                           37845378-f29a-4b10-8107-49b9f5a0f564
    GENERAL.DEVICES:                        bond0
    GENERAL.IP-IFACE:                       --
    GENERAL.STATE:                          activating
    ...
    ...
    connection.master:                      --
    connection.slave-type:                  --
    connection.autoconnect-slaves:          -1 (default)
    connection.secondaries:                 --
    connection.gateway-ping-timeout:        0
    connection.metered:                     unknown
    connection.lldp:                        default
    connection.mdns:                        -1 (default)
    connection.llmnr:                       -1 (default)
    connection.wait-device-timeout:         -1
    ipv4.method:                            auto
    lines 1-25
    

    ボンドID、UUID、インタフェース名、IP設定などの出力で情報を検索し、使用するボンド・モードをメモします。

結合モードの変更

ボンド・モードでは、ボンディング・インタフェースがリンクにトラフィックを分散する方法と、ロード・バランシングおよびデバイス・フェイルオーバーの動作を変更することによって、結合グループ内の1つ以上のリンクの障害をどのように処理するかを示します。

  1. ボンドインタフェースで使用されるボンドモードを、bond.options "mode=active-backup"コマンドオプションを使用して Round Robinから Active Backupに変更します。

    sudo nmcli connection modify Bondconn1 bond.options "mode=active-backup"
    

    ノート:サポートされるモードは、デフォルトのラウンド・ロビン(balance-rr)、アクティブ・バックアップ(active-backup)、XOR(balance-xor)、ブロードキャスト(broadcast)、802.3ad(802.3ad)、適応型送信ロード・バランシング(balance-tlb)、および適応型ロード・バランシング(balance-alb)です。

    様々な結合モードの動作の詳細は、次のドキュメント・リンクを参照してください。

    ドキュメント:Oracle Linux 8 -ネットワーク結合の使用

  2. 新しいボンド インターフェイスの詳細情報を表示して、変更されたボンド モードを確認します。

    sudo nmcli connection show "Bondconn1"
    

    出力例:

    ...
    ...
    ...
    cipv6.dhcp-timeout:                      0 (default)
    ipv6.dhcp-send-hostname:                yes
    ipv6.dhcp-hostname:                     --
    ipv6.dhcp-hostname-flags:               0x0 (none)
    ipv6.token:                             --
    bond.options:                           mode=active-backup
    proxy.method:                           none
    proxy.browser-only:                     no
    proxy.pac-url:                          --
    lines 56-80
    
  1. システムのネットワークデバイスインタフェース情報を表示します。

    sudo nmcli device
    

    出力例:

    DEVICE   TYPE      STATE                                  CONNECTION  
    ens3     ethernet  connected                              System ens3 
    bond0    bond      connecting (getting IP configuration)  Bondconn1   
    ens5     ethernet  disconnected                           --          
    ens6     ethernet  disconnected                           --          
    ens7     ethernet  disconnected                           --
    lo       loopback  unmanaged                              --
    

    ボンド インターフェイスと4つのネットワーク デバイスが表示されます。デバイスens5ens6ens7は「切断」としてリストされます。これらのデバイスは、結合インタフェースのインタフェースリンクとして使用できます。

  2. インタフェースens5を結合インタフェース・グループのリンクとして追加します。

    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if1 ifname ens5 master bond0
    

    出力例:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully added.
    
  3. インタフェースens6を結合インタフェース・グループの2番目のリンクとして追加します。

    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if2 ifname ens6 master bond0
    

    出力例:

    Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully added.
    
  4. システムのネットワークデバイスインタフェース情報を表示します。

    sudo nmcli device
    

    出力例:

    DEVICE  TYPE      STATE                                  CONNECTION  
    ens3    ethernet  connected                              System ens3 
    ens5    ethernet  connected                              bond0-if1   
    ens6    ethernet  connected                              bond0-if2   
    bond0   bond      connecting (getting IP configuration)  Bondconn1   
    ens7    ethernet  disconnected                           --          
    lo      loopback  unmanaged                              --
    

    これで、2つのリンクは結合インタフェースに関連付けられます。

ボンド・インタフェースへのIPアドレスの構成

デフォルトでは、ボンドはDHCPを使用するように構成されます。IPアドレスの割当て、ゲートウェイおよびネットワーク解決情報は、論理結合インタフェースに構成できます。

  1. コマンドip addrを使用して、bond0がそのステータスをUPとしてレポートしていることを確認します。

    ip addr
    

    出力例:

    17: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 02:00:17:09:f8:b0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::cd09:f18d:f202:3ae4/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    
    • 出力にbond0DOWNと表示されている場合は、コマンドsudo nmcli connection up "Bondconn1"を実行して状態をUPに変更します。

      sudo nmcli connection up "Bondconn1"
      

      出力例:

      Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/61)
      
  2. '192.168.1.10/24'のIPアドレスおよびサブネット・マスクを、ipv4.addressesコマンド・オプションを使用してbond0インタフェースに割り当てます。

    sudo nmcli connection modify "Bondconn1" ipv4.addresses '192.168.1.10/24'
    
  3. IPアドレスの割り当て方法を手動に設定します。これにより、結合インタフェースのIPアドレスとマスクが構成されます。

    sudo nmcli connection modify "Bondconn1" ipv4.method manual
    
  4. システムのレイヤー3のネットワーク情報を表示します。

    これで、bond0インタフェースにIPアドレスが割り当てられました。

    ip addr
    

    出力例:

    33: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:00:17:01:2f:ef brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::5149:fd05:55e5:9eff/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
  1. 最後の未割当てのネットワーク・デバイスens7bond0インタフェースに割り当てます。

    sudo nmcli conn add type ethernet slave-type bond con-name bond0-if3 ifname ens7 master bond0
    

    コマンド出力は、結合インタフェースが正常に追加されたことを示しています。

  2. システムのネットワークデバイスインタフェース情報を表示します。

    sudo nmcli device
    

    出力例:

    DEVICE  TYPE      STATE      CONNECTION  
    ens3    ethernet  connected  System ens3 
    bond0   bond      connected  Bondconn1   
    ens5    ethernet  connected  bond0-if1   
    ens6    ethernet  connected  bond0-if2   
    ens7    ethernet  connected  bond0-if3   
    lo      loopback  unmanaged  --
    

    出力は、結合インタフェースに接続された3番目のネットワークデバイスを示しています。

  3. ボンド構成情報を表示します。

    ボンド、そのステータス、およびボンド・グループのリンク・インタフェースとそのステータスに関する情報が表示されます。

    cat /proc/net/bonding/bond0
    

    出力例:

    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: load balancing (round-robin)
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    Peer Notification Delay (ms): 0
    
    Slave Interface: ens5
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 02:00:17:09:f8:b0
    Slave queue ID: 0
    
    Slave Interface: ens6
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 00:00:17:02:a1:10
    Slave queue ID: 0
    
     Slave Interface: ens7
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 02:00:17:03:f1:3a
    Slave queue ID: 0
    

    出力には、ボンド構成とステータス(どのボンド・リンクがアクティブであるか、その情報とそのステータスなど)が表示されます。

ボンド インターフェイスを削除するには、まずボンド リンクを削除します。

注意:アクティブ・インタフェース・リンクが接続されている結合インタフェースは削除しないでください。

  1. コマンドsudo nmcli connection deleteを使用して、結合リンク・インタフェース名を追加します。まず、bond0-if3接続を削除してから、残りの結合インタフェースに対するアクションを繰り返します。

    ノート:ボンド・リンクを削除する順序は重要ではありません。

    sudo nmcli connection delete bond0-if3
    

    出力例:

    Connection 'bond0-if3' (5751ef04-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
    
    sudo nmcli connection delete bond0-if2
    

    出力例:

    Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
    
    sudo nmcli connection delete bond0-if1
    

    出力例:

    Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully deleted.
    
  2. コマンド sudo nmcli deviceを使用して、デバイスが切断されていることを確認します。

    sudo nmcli device
    

    出力例:

    DEVICE  TYPE      STATE         CONNECTION  
    ens3    ethernet  connected     System ens3 
    bond0   bond      connected     Bondconn1   
    ens5    ethernet  disconnected  --          
    ens6    ethernet  disconnected  --          
    ens7    ethernet  disconnected  --          
    lo      loopback  unmanaged     -- 
    

ボンド・インタフェースの削除

ボンド・インタフェースを削除する前に、sudo nmcli connection downコマンドを使用してdown状態への接続を設定します。

  1. ボンド インターフェイスをトランジションします。

    sudo nmcli connection down "Bondconn1"
    

    出力例:

    Connection 'Bondconn1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/86)
    
  2. コマンドip addrを使用して、結合インタフェースが削除されたことを確認します。

    ip addr
    

    出力は、結合インタフェースがリストされなくなったことを示しています。

  3. ボンド・インタフェースを削除するには、コマンドsudo nmcli connection deleteを結合インタフェース名とともに使用します。

    sudo nmcli connection delete "Bondconn1"
    

    出力例:

    Connection 'Bondconn1' (a3d42efc-52ba-474a-9eea-67a4342420df) successfully deleted.
    
  4. コマンドsudo nmcli connectionを使用して検証します。

    sudo nmcli connection
    

    出力例:

    NAME         UUID                                  TYPE      DEVICE 
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3
    

    出力には、接続はens3のみです。

  5. ボンド構成ファイルを表示します。

    cat /proc/net/bonding/bond0
    
    cat: /proc/net/bonding/bond0: No such file or directory
    

    ノート:ボンド・インタフェースを削除すると、その構成ファイルも削除されます。

追加情報

他の関連リソースを参照してください。

その他の学習リソース

他のラボをdocs.oracle.com/learnで探すか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品のドキュメントは、Oracle Help Centerを参照してください。