7.7. 채널 연결 사용


성능을 향상하려면 사용 가능한 모듈 옵션을 조정하여 가장 잘 작동하는 조합을 확인합니다. miimon 또는 arp_interval 및 arp_ ip_target 매개변수에 특히 주의하십시오. 사용 가능한 옵션 목록 및 연결된 인터페이스에 가장 적합한 옵션 목록을 신속하게 확인하는 방법은 7.7.1절. “본딩 모듈 지시문” 을 참조하십시오.

7.7.1. 본딩 모듈 지시문

BONDING_OPTS=" BONDING_OPTS=" 본딩 매개 변수 "연결 인터페이스 구성 파일의 지시문(예: ifcfg-bond 0)에 추가하기 전에 결합된 인터페이스에 가장 적합한 채널 본딩 모듈매개 변수를 테스트하는 것이 좋습니다. 본딩된 인터페이스에 대한 매개 변수는 sysfs 파일 시스템에서 파일을 조작하여 bonding 모듈을 언로드하거나 다시 로드하지 않고도 구성할 수 있습니다.
sysfs 는 커널 객체를 디렉토리, 파일 및 심볼릭 링크로 표시하는 가상 파일 시스템입니다. sysfs 는 커널 오브젝트에 대한 정보를 쿼리하는 데 사용할 수 있으며 일반 파일 시스템 명령을 사용하여 이러한 개체를 조작할 수도 있습니다. sysfs 가상 파일 시스템은 /sys/ 디렉터리에 마운트됩니다. 모든 본딩 인터페이스는 /sys/class/net/ 디렉토리에서 파일과 상호 작용하고 조작하여 동적으로 구성할 수 있습니다.
연결 인터페이스에 가장 적합한 매개 변수를 확인하려면 7.4.2절. “채널 연결 인터페이스 만들기” 의 지침에 따라 ifcfg-bond0 과 같은 채널 본딩 인터페이스 파일을 만듭니다. SLAVE=yesMASTER=bond0 지시문을 bond0 에 결합하는 각 인터페이스의 구성 파일에 삽입합니다. 이 작업을 마치면 매개 변수 테스트를 진행할 수 있습니다.
먼저 ifup 본딩 N루트로 실행하여 만든 본딩 을 엽니다.
~]# ifup bond0
ifcfg-bond0 본딩 인터페이스 파일을 올바르게 만든 경우 실행 중인 ip link의 출력에 표시된 bond0root 로 표시됩니다.
~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:e9:ce:d2 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
    link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:ff:ff
기존의 본딩이 모두 표시되지 않더라도 기존 본딩을 모두 보려면 다음을 실행합니다.
~]$ cat /sys/class/net/bonding_masters
bond0
/sys/class/net/bondN/bonding/ 디렉토리에 있는 파일을 조작하여 각 본딩을 개별적으로 구성할 수 있습니다. 먼저 구성 중인 본딩을 제거해야 합니다.
~]# ifdown bond0
예를 들어 1초 간격으로 bond0에서 MII 모니터링을 활성화하려면 root 로 실행합니다.
~]# echo 1000 > /sys/class/net/bond0/bonding/miimon
balance-alb 모드에 대해 bond0을 구성하려면 다음 중 하나를 실행합니다.
~]# echo 6 > /sys/class/net/bond0/bonding/mode
또는 모드 이름 사용:
~]# echo balance-alb > /sys/class/net/bond0/bonding/mode
문제가 있는 본딩에 대한 옵션을 구성한 후 ifup bondN 을 실행하여 테스트하고 테스트할 수 있습니다. 옵션을 변경하려면 인터페이스를 작동 중단하고, sysfs 를 사용하여 매개 변수를 수정하고, 다시 작동시킨 후 다시 테스트합니다.
본딩에 가장 적합한 매개변수 세트를 결정한 후 해당 매개변수를 공백으로 구분된 목록으로 /etc/sysconfig/network-scripts/ifcfg-bondN 파일에 구성하려는 본딩 인터페이스의 BONDING_OPTS= 지시문에 추가합니다. 본딩이 가동될 때마다(예: ONBOOT=yes 지시문이 설정된 경우 부팅 시퀀스 중 시스템에 의해) BONDING_OPTS 에 지정된 본딩 옵션이 해당 연결에 적용됩니다.
다음 목록은 보다 일반적인 채널 본딩 매개 변수 중 많은 이름과 함께 수행하는 작업에 대한 설명을 제공합니다. 자세한 내용은 modinfo bonding 출력의 각 구문에 대한 간략한 설명을 참조하거나 자세한 내용은 https://www.kernel.org/doc/Documentation/networking/bonding.txthttps://www.kernel.org/doc/Documentation/networking/bonding.txt 참조하십시오.

본딩 인터페이스 매개변수

ad_select=value
사용할 802.3ad 집계 선택 논리를 지정합니다. 가능한 값은 다음과 같습니다.
  • stable 또는 0 - 기본 설정. 활성 집계 대역폭은 가장 큰 집계 대역폭에 의해 선택됩니다. 활성 집계기의 재선택은 활성 집계기의 모든 포트가 다운되거나 활성 수집기에 포트가 없는 경우에만 수행됩니다.
  • bandwidth 또는 1 - 활성 집계가 가장 큰 집계 대역폭에 의해 선택됩니다. 다음과 같은 경우 재선택이 수행됩니다.
    • 본딩에 포트가 추가되거나 제거됩니다.
    • 포트의 링크 상태가 변경됩니다.
    • 모든 포트의 802.3ad 연결 상태가 변경됩니다.
    • 본드의 관리 상태가 up으로 변경됩니다.
  • count 또는 2 - 활성 집계기는 가장 많은 포트 수에 의해 선택됩니다. 위의 대역폭 설정에 설명된 대로 재선택이 수행됩니다.
대역폭개수 선택 정책에서는 활성 집계의 부분 장애가 발생할 때 802.3ad 집계에 대한 장애 조치(failover)를 허용합니다. 이를 통해 대역폭 또는 포트 수에서 항상 가용성이 가장 높은 가용성을 유지하는 데 도움이 됩니다.
arp_interval=time_in_milliseconds
ARP 모니터링이 발생하는 빈도를 밀리초 단위로 지정합니다.
중요
arp_interval 및 arp_ ip_target 매개 변수가 지정되거나 miimon 매개 변수가 지정되어야 합니다. 이렇게 하지 않으면 링크가 실패하는 경우 네트워크 성능이 저하될 수 있습니다.
mode=0 또는 mode =2 (두 로드 밸런싱 모드)에서 이 설정을 사용하는 경우 NIC 간에 패킷을 균등하게 분산하도록 네트워크 스위치를 구성해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 https://www.kernel.org/doc/Documentation/networking/bonding.txthttps://www.kernel.org/doc/Documentation/networking/bonding.txt을 참조하십시오.
이 값은 기본적으로 0 로 설정되어 있어 이를 비활성화합니다.
arp_ip_target=ip_address[,ip_address_2,…ip_address_16]
arp_interval 매개 변수가 활성화될 때 ARP 요청의 대상 IP 주소를 지정합니다. 최대 16개의 IP 주소를 쉼표로 구분된 목록으로 지정할 수 있습니다.
arp_validate=value
ARP 프로브의 소스/배포를 검증합니다. 기본값은 none 입니다. 기타 유효한 값은 active, backupall 입니다.
downdelay=time_in_milliseconds
링크를 비활성화하기 전에 링크 실패 후 대기하는 시간(밀리초)을 지정합니다. 값은 miimon 매개 변수에 지정된 값의 배수여야 합니다. 이 값은 기본적으로 0 로 설정되어 있어 이를 비활성화합니다.
fail_over_mac=value
active-backup 모드가 모든 포트를 할당 시점(기존 동작)에서 동일한 MAC 주소로 설정하거나, 활성화된 경우 선택한 정책에 따라 본딩의 MAC 주소를 특별한 처리하도록 지정합니다. 가능한 값은 다음과 같습니다.
  • none 또는 0 - 기본 설정. 이 설정은 fail_over_mac 를 비활성화하고 본딩을 통해 active-backup 본딩의 모든 포트를 할당 시점에서 동일한 MAC 주소로 설정합니다.
  • active 또는 1 - 활성 fail_over_mac 정책은 본딩의 MAC 주소가 항상 현재 활성 포트의 MAC 주소임을 나타냅니다. 포트의 MAC 주소는 변경되지 않습니다. 대신 장애 조치 중에 본딩의 MAC 주소가 변경됩니다.
    이 정책은 MAC 주소를 변경할 수 없는 장치 또는 자체 소스 MAC로 들어오는 브로드캐스트를 거부하는 장치에 유용합니다( ARP 모니터를 방해함). 이 정책의 단점은 들어오는 트래픽 스누핑을 전환하여 ARP 표를 업데이트하는 일반적인 방법과 달리 네트워크의 모든 장치를 무료 ARP로 업데이트해야 한다는 것입니다. 무료 ARP가 손실되면 통신이 중단될 수 있습니다.
    이 정책이 MII 모니터와 함께 사용되는 경우 실제로 전송 및 수신되기 전에 링크를 요청하는 장치는 특히 무료 ARP 손실에 취약하며 적절한 updelay 설정이 필요할 수 있습니다.
  • follow 또는 2 - 다음 fail_over_mac 정책으로 인해 본딩의 MAC 주소가 정상적으로 선택됩니다(일반적으로 본딩에 추가된 첫 번째 포트의 MAC 주소). 그러나 백업 역할에 있는 동안 두 번째 및 후속 포트는 이 MAC 주소로 설정되지 않습니다. 포트는 장애 조치 시 본딩의 MAC 주소로 프로그래밍됩니다(이전의 활성 포트는 새로 활성 포트의 MAC 주소를 수신합니다).
    이 정책은 여러 포트가 동일한 MAC 주소로 프로그래밍되는 경우 혼동되거나 성능 저하가 발생하는 다중 포트 장치에 유용합니다.
lacp_rate=value
802.3ad 모드에서 링크 파트너가 LACPDU 패킷을 전송해야 하는 속도를 지정합니다. 가능한 값은 다음과 같습니다.
  • slow 또는 0 - 기본 설정. 이는 파트너가 30초마다 LACPDU를 전송하도록 지정합니다.
  • fast 또는 1 - 파트너가 1초마다 LACPDU를 전송하도록 지정합니다.
miimon=time_in_milliseconds
MII 링크 모니터링이 발생하는 빈도(밀리초)를 지정합니다. MII가 NIC가 활성 상태인지 확인하는 데 사용되므로 고가용성이 필요한 경우 유용합니다. 특정 NIC의 드라이버가 MII 툴을 지원하는지 확인하려면 root로 다음 명령을 입력합니다.
~]# ethtool interface_name | grep "Link detected:"
이 명령에서 interface_name 을 본딩 인터페이스가 아닌 enp1s0 과 같은 장치 인터페이스 이름으로 바꿉니다. MII가 지원되는 경우 명령은 다음을 반환합니다.
Link detected: yes
고가용성을 위해 결합된 인터페이스를 사용하는 경우 각 NIC의 모듈은 MII를 지원해야 합니다. 값을 0 (기본값)로 설정하면 이 기능이 꺼집니다. 이 설정을 구성할 때 이 매개변수의 시작 지점은 100 입니다.
중요
arp_interval 및 arp_ ip_target 매개 변수가 지정되거나 miimon 매개 변수가 지정되어야 합니다. 이렇게 하지 않으면 링크가 실패하는 경우 네트워크 성능이 저하될 수 있습니다.
mode=value
본딩 정책을 지정할 수 있습니다. 값은 다음 중 하나일 수 있습니다.
  • balance-rr 또는 0 - 내결함성 및 로드 밸런싱을 위한 라운드 로빈 정책을 설정합니다. 전송은 첫 번째로 사용 가능한 결합된 포트 인터페이스에서 수신 및 순차적으로 전송됩니다.
  • active-backup 또는 1 - 내결함성을 위한 active-backup 정책을 설정합니다. 첫 번째 사용 가능한 결합된 포트 인터페이스를 통해 전송이 수신되고 전송됩니다. 다른 본딩된 포트 인터페이스는 활성 본딩 포트 인터페이스가 실패한 경우에만 사용됩니다.
  • balance-xor 또는 2 - 전송은 선택한 해시 정책을 기반으로 합니다. 기본값은 소스 및 대상 MAC 주소의 XOR에 포트 인터페이스 수를 곱한 해시를 파생하는 것입니다. 이 모드에서는 특정 피어를 향하는 트래픽이 항상 동일한 인터페이스를 통해 전송됩니다. 대상이 결정되기 때문에 이 방법은 동일한 링크 또는 로컬 네트워크에 있는 피어로의 트래픽에 가장 적합합니다. 트래픽이 단일 라우터를 통과해야 하는 경우 이 트래픽 분산 모드는 차선책이 됩니다.
  • broadcast 또는 3 - 내결함성에 대한 브로드캐스트 정책을 설정합니다. 모든 전송은 모든 포트 인터페이스에서 전송됩니다.
  • 802.3ad 또는 4 - IEEE 802.3ad 동적 링크 집계 정책을 설정합니다. 동일한 속도 및 이중화된 설정을 공유하는 집계 그룹을 생성합니다. 활성 수집기의 모든 포트에서 전송 및 수신됩니다. 802.3ad 호환 가능한 스위치 필요.
  • balance-tlb 또는 5 - 내결함성 및 로드 밸런싱을 위해 Transmit Load Balancing(TLB) 정책을 설정합니다. 발신 트래픽은 각 포트 인터페이스의 현재 부하에 따라 배포됩니다. 현재 포트에서 들어오는 트래픽을 수신합니다. 수신 포트가 실패하면 다른 포트가 실패한 포트의 MAC 주소를 넘겨받습니다. 이 모드는 커널 본딩 모듈에 알려진 로컬 주소에만 적합하므로 가상 시스템과 브리지 뒤에 사용할 수 없습니다.
  • balance-alb 또는 6 - 내결함성 및 로드 밸런싱을 위한 적응형 로드 밸런싱(ALB) 정책을 설정합니다. IPv4 트래픽에 대한 전송 및 부하 분산 수신을 포함합니다. ARP 협상을 통해 부하 분산을 달성합니다. 이 모드는 커널 본딩 모듈에 알려진 로컬 주소에만 적합하므로 가상 시스템과 브리지 뒤에 사용할 수 없습니다.
업스트림 스위치의 필수 설정에 대한 자세한 내용은 7.6절. “연결 모드 및 스위치의 필수 설정 개요” 을 참조하십시오.
primary=interface_name
기본 장치의 인터페이스 이름(예: enp1s0 )을 지정합니다. 기본 장치는 사용할 본딩 인터페이스 중 첫 번째이며 실패하는 경우가 아니면 문제가 되지 않습니다. 이 설정은 본딩 인터페이스에서 하나의 NIC가 더 빠르기 때문에 더 큰 부하를 처리할 수 있을 때 특히 유용합니다.
이 설정은 연결 인터페이스가 active-backup 모드에 있는 경우에만 유효합니다. 자세한 내용은 https://www.kernel.org/doc/Documentation/networking/bonding.txt https://www.kernel.org/doc/Documentation/networking/bonding.txt을 참조하십시오.
primary_reselect=value
기본 포트에 대한 재선택 정책을 지정합니다. 이는 활성 포트가 실패하거나 기본 포트의 복구가 발생할 때 기본 포트가 활성 포트가 되도록 선택하는 방법에 영향을 미칩니다. 이 매개변수는 기본 포트와 기타 포트 간 플립을 방지하도록 설계되었습니다. 가능한 값은 다음과 같습니다.
  • always 또는 0 (기본값) - 백업될 때마다 기본 포트가 활성 포트가 됩니다.
  • better 또는 1 - 백업 시 기본 포트가 활성 포트가 됩니다. 기본 포트의 속도와 duplex가 현재 활성 포트의 속도 및 중복보다 더 나은 경우
  • failure 또는 2 - 현재 활성 포트가 실패하고 기본 포트가 작동 중인 경우에만 기본 포트가 활성화됩니다.
primary_reselect 설정은 다음 두 가지 경우 무시됩니다.
  • 활성 포트가 없으면 복구할 첫 번째 포트가 활성 포트가 됩니다.
  • 처음에 본딩에 할당되면 기본 포트는 항상 활성 포트가 됩니다.
primary_reselect 정책을 sysfs 로 변경하면 새 정책에 따라 최상의 활성 포트가 즉시 선택됩니다. 상황에 따라 활성 포트가 변경될 수도 있고 변경되지 않을 수 있습니다.
resend_igmp=range
장애 조치(failover) 이벤트 이후에 발행할 IGMP 멤버십 보고서 수를 지정합니다. 하나의 멤버십 보고서는 장애 조치(failover) 직후 발행되며 이후의 패킷은 각 200ms 간격으로 전송됩니다.
유효한 범위는 0 에서 255 입니다. 기본값은 1 입니다. 값이 0 이면 장애 조치(failover) 이벤트에 대한 응답으로 IGMP 멤버십 보고서가 발행되지 않습니다.
이 옵션은 연결 모드 balance-rr (mode 0), active-backup (mode 1), balance-tlb (mode 5) 및 balance-alb (mode 6))에 유용하며, 이 경우 장애 조치를 통해 IGMP 트래픽을 한 포트에서 다른 포트로 전환할 수 있습니다. 따라서 새로운 IGMP 보고서를 발행하여 스위치가 새로 선택한 포트로 들어오는 IGMP 트래픽을 전달하도록 해야 합니다.
updelay=time_in_milliseconds
링크를 활성화하기 전에 대기하는 시간(밀리초)을 지정합니다. 값은 miimon 매개 변수에 지정된 값의 배수여야 합니다. 이 값은 기본적으로 0 로 설정되어 있어 이를 비활성화합니다.
use_carrier=number
miimon 이 MII/ETHTOOL ioctls 또는 netif_carrier_ok() 를 사용하여 링크 상태를 확인해야 하는지 여부를 지정합니다. netif_carrier_ok() 기능은 장치 드라이버를 사용하여 netif_carrier_on/off 를 사용하여 상태를 유지 관리합니다. 대부분의 장치 드라이버는 이 기능을 지원합니다.
MII/ETHTOOL ioctls 툴은 커널 내에서 더 이상 사용되지 않는 호출 시퀀스를 사용합니다. 그러나 장치 드라이버에서 netif_carrier_on/off 를 지원하지 않는 경우 이는 여전히 구성할 수 있습니다.
유효한 값은 다음과 같습니다.
  • 1 - 기본 설정. netif_carrier_ok() 의 사용을 활성화합니다.
  • 0 - MII/ETHTOOL ioctls 사용을 활성화합니다.
참고
본딩 인터페이스가 링크를 사용할 수 없을 때 작동한다고 주장하는 경우 네트워크 장치 드라이버가 netif_carrier_on/off 를 지원하지 않을 수 있습니다.
xmit_hash_policy=value
balance-xor802.3ad 모드에서 포트 선택에 사용되는 전송 해시 정책을 선택합니다. 가능한 값은 다음과 같습니다.
  • 0 또는 layer2 - 기본 설정. 이 매개 변수는 하드웨어 MAC 주소의 XOR을 사용하여 해시를 생성합니다. 사용되는 공식은 다음과 같습니다.
    (source_MAC_address XOR destination_MAC) MODULO slave_count
    이 알고리즘은 모든 트래픽을 동일한 포트에 특정 네트워크 피어에 배치하며 802.3ad 준수입니다.
  • 1 또는 layer3+4 - 상위 계층 프로토콜 정보(사용 가능한 경우)를 사용하여 해시를 생성합니다. 이렇게 하면 단일 연결이 여러 포트에 걸쳐 있지 않지만 특정 네트워크 피어에 대한 트래픽이 여러 포트에 걸쳐 있을 수 있습니다.
    사용된 TCP 및 UDP 패킷의 공식은 다음과 같습니다.
    ((source_port XOR dest_port) XOR
      ((source_IP XOR dest_IP) AND 0xffff)
        MODULO slave_count
    조각화된 TCP 또는 UDP 패킷 및 기타 모든 IP 프로토콜 트래픽의 경우 소스 및 대상 포트 정보가 생략됩니다. 비IP 트래픽의 경우 수식은 layer2 전송 해시 정책과 동일합니다.
    이 정책은 특정 스위치의 동작을 모방하려고 합니다. 특히 Cisco는 PFC2로 전환하고 일부 중추적 및 IBM 제품을 사용합니다.
    이 정책에서 사용하는 알고리즘은 802.3ad와 호환되지 않습니다.
  • 2 또는 layer2+3 - layer2 및 layer3 프로토콜 정보를 조합하여 해시를 생성합니다.
    하드웨어 MAC 주소 및 IP 주소의 XOR을 사용하여 해시를 생성합니다. 공식은 다음과 같습니다.
    (((source_IP XOR dest_IP) AND 0xffff) XOR
      ( source_MAC XOR destination_MAC ))
        MODULO slave_count
    이 알고리즘은 모든 트래픽을 동일한 포트에 특정 네트워크 피어에 배치합니다. 비IP 트래픽의 경우 수식은 layer2 전송 해시 정책과 동일합니다.
    이 정책은 특히 대부분의 대상에 도달하기 위해 계층3 게이트웨이 장치가 필요한 환경에서 계층2보다 더 균형 있는 트래픽 배포를 제공하기 위한 것입니다.
    이 알고리즘은 802.3ad와 호환됩니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.