주:

Network Manager CLI를 사용하여 네트워크 본드 생성

소개

네트워크 연결은 시스템의 여러 물리적 네트워크 인터페이스를 단일 논리적 그룹 인터페이스로 그룹화하고 네트워크 스위치에 연결됩니다. 연결은 본드 그룹의 링크가 실패할 경우 연결을 유지 관리하여 중복성을 통해 연결 가용성을 높일 수 있습니다. 또한 물리적 네트워크 인터페이스의 통합은 연결의 인터페이스 간 트래픽을 로드 밸런싱하여 더 높은 처리량을 제공합니다. 이 실습에서는 NMCLI 유틸리티를 사용하여 여러 물리적 인터페이스로 네트워크 본드 인터페이스를 생성하고, 본드 모드를 변경하고, 본드 인터페이스를 삭제하는 과정을 안내합니다.

목표

이 실습에서는 다음 내용을 배웁니다.

주: 이 자습서의 절차는 Oracle Engineering의 권장 사항을 따릅니다.

필요 조건

본드 인터페이스 생성

이 랩 환경에 사용되는 인스턴스는 4개의 네트워크 인터페이스가 제공되는 Oracle Linux 8 클라우드 인스턴스입니다. 이러한 네트워크 인터페이스 3개를 사용하여 본드 인터페이스를 만듭니다. 모든 인터페이스는 동일한 가상 클라우드 네트워크 전용 서브넷에 있습니다.

주: 자습서 끝에 있는 추가 정보 섹션의 링크를 따라 연결되는 방법을 보여 주는 무료 비디오를 볼 수 있습니다.

  1. Oracle Linux Lab Basics의 지침에 따라 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 설정과 같은 출력에서 정보를 찾고 사용된 본드 모드를 확인합니다.

Bond 모드 변경

본드 모드는 본드 인터페이스가 해당 링크를 통해 트래픽을 분산하는 방법과 로드 균형 조정 및 장치 페일오버의 동작을 변경하여 본드 그룹에서 하나 이상의 링크 실패를 처리하는 방법을 설명합니다.

  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                              --
    

    본드 인터페이스와 네 개의 네트워크 장치가 나열됩니다. ens5, ens6, ens7 장치가 '연결 해제됨'으로 나열됩니다. 이러한 장치는 본드 인터페이스에 대한 인터페이스 링크로 사용할 수 있습니다.

  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 인터페이스를 본드 인터페이스 그룹의 두번째 링크로 추가합니다.

    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                              --
    

    이제 두 링크가 본드 인터페이스와 연관됩니다.

연결 인터페이스에 대한 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. ipv4.addresses 명령 옵션을 사용하여 '192.168.1.10/24'의 IP 주소 및 서브넷 마스크를 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. 본드 구성 정보를 봅니다.

    본드, 해당 상태, 본드 그룹의 링크 인터페이스 및 해당 상태에 대한 정보를 표시합니다.

    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를 참조하십시오.