다음 문서에서는 Windows, VMware 및 Linux의 NIC 팀에 대한 정보를 제공합니다.
네트워크 어댑터 팀 구성은 처리량을 늘리거나 중복성을 제공하기 위해 여러 네트워크 연결을 결합하는 다양한 방법을 설명하는 데 사용되는 용어입니다. NIC(Network Interface Card) 팀 및 LOM(LAN on Motherboard) 팀 조직에 네트워크 신뢰성과 처리량을 빠르고 쉽게 향상시킬 수 있는 비용 효율적인 방법을 제공할 수 있습니다.
NIC(네트워크 인터페이스 카드) 팀은 서버에 고가용성 및 내결함성을 제공하는 한 가지 방법입니다.
다음은 각각 하나의 업링크 연결과 하나의 다운링크 연결이 있는 2개의 NIC가 있는 웹 서버의 예입니다.
두 네트워크 카드 중 하나에 오류가 발생했거나 연결이 끊어졌지만 클라이언트의 컴퓨터 연결은 연결된 상태로 유지됩니다.
그림 1: 2개의 NIC 티밍 네트워크 카드에 장애가 발생해도 인터넷 연결은 유지됩니다.
네트워크 팀의 네 가지 기본 유형은 다음과 같습니다.
SLB(Smart Load Balancing) 및 페일오버: 이 유형의 팀은 모든 기본 어댑터에서 네트워크 트래픽의 균형을 조정합니다. 기본 어댑터에 오류가 발생해도 남아 있는 기본 어댑터는 계속 로드를 분산합니다. 모든 기본 어댑터에 오류가 발생해도 트래픽은 스탠바이 어댑터를 사용하여 중단 없이 계속 흐릅니다. 주 어댑터가 다시 온라인 상태가 되면 해당 어댑터를 통해 트래픽 흐름이 다시 시작됩니다.
SLB(자동 대체 비활성화 포함): 이 유형의 팀은 위와 같이 작동하지만 다시 온라인 상태가 되면 트래픽이 기본 어댑터로 자동으로 되돌아가지 않습니다.
IEEE 802.3ad 동적 링크 집선: LACP(Link Aggregation Control Protocol) 또는 IEEE 802.1ax라고도 합니다. 이 유형의 팀에서는 여러 물리적 링크를 하나의 논리적 링크로 묶어 처리량을 높일 수 있습니다. 이 링크의 유효 대역폭은 물리적 링크의 합계입니다. 이 유형의 팀에서는 연결의 다른 쪽 끝에 있는 전원이 LACP를 지원해야 합니다. 팀이 제대로 작동하려면 스위치를 올바르게 구성해야 합니다.
일반 트렁킹: 정적 링크 집선이라고도 하는 이 유형의 팀은 IEEE 802.3ad/802.1ax와 동일한 유형의 번들링 기능을 제공하지만 LACP를 사용하지 않습니다. 이 스위치는 LACP를 지원할 필요가 없지만 이 유형의 팀이 작동하려면 적절히 구성되어야 합니다.
NIC 팀을 생성하려면 다음을 수행합니다.
서버 관리자에서 Local Server를 클릭합니다.
속성 창에서 NIC Teaming을 찾은 다음 오른쪽에 있는 Disabled 링크를 클릭합니다. NIC 팀 구성 대화 상자가 열립니다.
NIC 팀 구성 대화 상자
그림 2: Windows NIC 팀 구성 대화 상자
어댑터 및 인터페이스에서 NIC 팀에 추가하려고 하는 네트워크 어댑터를 선택합니다.
작업을 클릭한 다음 새 팀에 추가를 클릭합니다.
그림 3: Windows 어댑터 및 인터페이스가 새 팀에 추가됩니다.
새 팀 대화 상자가 열리고 네트워크 어댑터와 팀 구성원이 표시됩니다. 팀 이름에 새 NIC 팀 이름을 입력합니다.
그림 4: Windows - 어댑터를 선택하여 NIC를 생성하고 팀 이름을 생성합니다.
필요한 경우 추가 속성을 확장하고 티밍 모드, 로드 밸런싱 모드 및 대기 어댑터에 대한 값을 선택합니다. 일반적으로 성능이 가장 높은 로드 밸런싱 모드는 동적입니다.
그림 5: Windows NIC 팀 추가 속성
VLAN 번호를 구성하거나 NIC 팀에 할당하려면 기본 팀 인터페이스 오른쪽에 있는 링크를 클릭합니다. 새 팀 인터페이스 대화 상자가 열립니다.
그림 6 : Windows 기본 VLAN 구성원 자격
VLAN 멤버십을 구성하려면 Specific VLAN을 클릭합니다. 대화 상자의 첫 번째 섹션에 VLAN 정보를 입력합니다.
그림 7 : Windows 관련 VLAN 멤버십
OK를 클릭합니다.
Hyper-V 호스트에서 NIC 팀을 설정해야 하는 경우 Microsoft 문서 호스트 컴퓨터에서 새 NIC 팀 만들기를 참조하십시오
PowerShell 지침
PowerShell을 사용하여 네트워크 팀 생성
상승된 PowerShell 프롬프트를 엽니다. Windows® 10 작업 표시줄 검색에서 PowerShell을 입력합니다. W 및 S 키를 눌러 검색을 엽니다.
이제 맨 위에 Windows PowerShell 의 결과가 표시됩니다. Windows PowerShell을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택합니다.
그림 8: Windows 시작 메뉴 PowerShell 관리자 권한으로 실행
사용자 계정 컨트롤 프롬프트가 나타나면 예를 클릭합니다.
다음 명령을 입력합니다. new-NetLBFOTeam [TEAMNAME] "[NIC1]", "[NIC2]"
Enter 키를 누릅니다.
그림 8: PowerShell 명령
예제
new-NetLBFOTeam NIC-Team "NIC1" , "NIC2"
제어판 > 네트워크 및 인터넷 > 네트워크 연결로 이동하여 네트워크 연결을 엽니다.
VMware vSphere
NIC 팀은 물리적 네트워크와 가상 네트워크 간에 많은 트래픽을 공유할 수 있습니다. 일부 또는 모든 구성원 간에 하드웨어 오류 또는 네트워크 중단 시 수동 장애 조치(failover)를 제공합니다.
오른쪽 상단의 ESXi 버전을 선택하여 VMware에서 NIC 팀 구성을 구성하는 방법에 대한 자세한 단계는 VMware KB를 참조하십시오.
vSphere 표준 스위치 또는 표준 포트 그룹에서 NIC 티밍, 페일오버 및 로드 밸런싱을 구성합니다.
참조: ESXi 및 ESX에서 NIC 팀(1004088)
Linux에서는 관리자가 채널 본딩 인터페이스라고 하는 특수 네트워크 인터페이스와 Bonding Kernel 모듈을 사용하여 여러 네트워크 인터페이스를 단일 채널로 바인드할 수 있습니다. 채널 본딩을 사용하면 둘 이상의 네트워크 인터페이스가 하나로 작동하여 대역폭을 늘리는 동시에 중복성을 제공할 수 있습니다. 경고: 네트워크 스위치 없이 직접 케이블 연결을 사용하면 본딩이 지원되지 않습니다. 여기에 설명된 페일오버 메커니즘은 네트워크 스위치가 없으면 예상대로 작동하지 않습니다.
active-backup, balance-TLB 및 balance-alb 모드에는 스위치의 특정 구성이 필요하지 않습니다. 다른 본딩 모드에서는 링크를 통합하도록 스위치를 구성해야 합니다. 예를 들어, Cisco 스위치는 모드 0, 2 및 3에서 EtherChannel이 필요하지만 모드 4 LACP에서 EtherChannel은 필수입니다. 스위치와 함께 제공된 설명서와 kernel-doc 패키지의 bonding.txt 파일을 참조하십시오.
본딩 커널 모듈이 설치되어 있는지 확인합니다.
Red Hat Enterprise Linux 6에서는 본딩 모듈이 기본적으로 로드되지 않습니다. 다음 명령을 루트로 실행하여 모듈을 로드할 수 있습니다.
~]# modprobe --first-time bonding
모듈이 실행 중이 아니며 이제 로드되었음을 나타내는 시각적 출력이 없습니다. 이 활성화는 시스템을 다시 시작해도 지속되지 않습니다. 영구 모듈 로드에 대한 설명은 31.7절. "영구 모듈 로드"를 참조하십시오. BONDING_OPTS 지시문을 사용하여 올바른 구성 파일이 제공되면 필요에 따라 본딩 모듈이 로드되므로 별도로 로드할 필요가 없습니다. 모듈 정보를 표시하려면 다음 명령을 실행합니다.
~]$ modinfo bonding
커널 모듈 작업에서 모듈 로드 및 언로드에 대한 정보를 참조하십시오. 채널 본딩 인터페이스
생성 채널 본딩 인터페이스를 생성하려면 에서 파일을 생성합니다. /etc/sysconfig/network-scripts/
디렉토리 ifcfg-bondN에서 N을 인터페이스의 번호(예: 0)로 바꿉니다.
파일의 내용은 이더넷 인터페이스와 같이 결합되는 모든 인터페이스 유형과 동일할 수 있습니다. 유일한 차이점은 디바이스 지시문이 N을 인터페이스 번호로 대체하는 bondN이라는 것입니다. NetworkManager가 이 디바이스를 구성하지 못하도록 NM_CONTROLLED 지시문을 추가할 수 있습니다.
ifcfg-bond0 인터페이스 구성 파일의 예
다음은 채널 본딩 인터페이스 구성 파일의 예입니다.
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no BONDING_OPTS="bonding parameters separated by spaces"
본드의 MAC 주소는 네트워크에 추가할 첫 번째 인터페이스에서 가져옵니다. 필요한 경우 HWADDR 지시문을 사용하여 지정할 수도 있습니다. NetworkManager가 이 인터페이스를 제어하도록 하려면 NM_CONTROLLED=no 지시문을 제거하거나 yes로 설정하고 TYPE=Bond 및 BONDING_MASTER=yes를 추가합니다.
채널 본딩 인터페이스가 작성된 후 MASTER 및 SLAVE 지시문을 구성 파일에 추가하여 함께 바인드할 네트워크 인터페이스를 구성해야 합니다. 각 채널 연결 인터페이스의 구성 파일은 거의 동일할 수 있습니다.
ifcfg-ethX 접합 인터페이스 구성 파일의 예
두 개의 이더넷 인터페이스가 연결된 채널인 경우 eth0 및 eth1은 모두 다음과 같을 수 있습니다.
DEVICE=ethX BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no NM_CONTROLLED=no
인터페이스가 구성되었으면 네트워크 서비스를 재시작하여 연결을 시작합니다. 루트로 다음 명령을 실행합니다.
~]# service network restart
본드 상태를 보려면 다음 형식으로 명령을 실행하여 /proc/ 파일을 봅니다.
cat /proc/net/bonding/bondN
예:
~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: load balancing (round-robin) MII Status: down MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0
Red Hat Enterprise Linux 6에서 중요한 것은 본딩 커널 모듈에 대한 인터페이스별 매개 변수를 ifcfg-bondN 인터페이스 파일의 BONDING_OPTS="bonding parameters" 지시문에서 공백으로 구분된 목록으로 지정해야 하는 것입니다. 에서 본드와 관련된 옵션을 지정하지 마십시오. /etc/modprobe.d/bonding.conf
또는 더 이상 사용되지 않는 /etc/modprobe.conf 파일에 있습니다. max_bonds 매개 변수는 인터페이스 특정이 아니므로 필요한 경우 다음과 같이 /etc/modprobe.d/bonding.conf
다음과 같이:
options bonding max_bonds=1
그러나 BONDING_OPTS 지시문과 함께 ifcfg-bondN 파일을 사용할 때 max_bonds 매개변수를 설정하면 네트워크 스크립트가 필요에 따라 본드 인터페이스를 작성하므로 설정하면 안 됩니다.
/etc/modprobe.d/bonding.conf에 대한 변경 사항은 모듈이 다음에 로드될 때까지 적용되지 않습니다. 실행 중인 모듈을 먼저 언로드해야 합니다.
여러 본딩
생성 Red Hat Enterprise Linux 6에서는 각 본딩에 대해 BONDING_OPTS 지시문을 포함한 채널 본딩 인터페이스가 생성됩니다. 이 구성 방법은 여러 본딩 디바이스의 구성이 서로 다르도록 하기 위해 사용됩니다. 다중 채널 본딩 인터페이스를 생성하려면 다음과 같이 진행하십시오.
BONDING_OPTS 지시문을 사용하여 여러 ifcfg-bondN 파일을 생성합니다. 이 디렉티브는 필요에 따라 네트워크 스크립트가 본딩 인터페이스를 생성하도록 합니다.
결합할 기존 인터페이스 구성 파일을 생성하거나 편집하고 SLAVE 지시문을 포함합니다.
본딩할 인터페이스(슬레이브 인터페이스)를 MASTER 지시문을 통해 채널 본딩 인터페이스에 지정하십시오.
여러 ifcfg-bondN 인터페이스 구성 파일의
예 다음은 채널 연결 인터페이스 구성 파일의 예입니다.
DEVICE=bond N IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no vBONDING_OPTS="bonding parameters separated by spaces"
이 예에서는 N을 본드 인터페이스의 번호로 교체합니다. 예를 들어, 두 개의 본드를 생성하려면 두 개의 구성 파일 ifcfg-bond0 및 ifcfg-bond1을 생성합니다.
예제 ifcfg-ethX 접합 인터페이스 구성 파일에 따라 접합할 인터페이스를 생성하고 필요에 따라 MASTER=bondN 지시문을 사용하여 접합 인터페이스에 할당합니다. 예를 들어, 위의 예에서 계속하여 본드당 2개의 인터페이스가 필요한 경우, 2개의 본드에 대해 4개의 인터페이스 구성 파일을 생성하고 MASTER=bond0을 사용하여 첫 번째 2개를 할당하고 MASTER=bond1을 사용하여 다음 2개를 할당합니다.
참조: Linux 채널 본딩 인터페이스