여러 인터페이스를 묶어 하나의 본딩(bonding)된 채널(channel)로 만들 수 있다.
1G 네트웍크 인터페이스 4개를 묶어 4G의 대역폭을 확보할 수 있고, 묶여진 네트워크 인터페이스, 케이블, 스위치등의 장애에 대비할 수 있다.
네트웍크 본딩은 어더넷 본딩(Ethernet bonding), 포트 트렁킹(port trunking), 채널 티밍(channel teaming), NIC 티밍(teaming), 링크통합(link aggregation) 등의 용어로 다양한 네트워크 장비 및 운영체제에서 제공한다.
대부분 대역폭을 확장하기 위함 보다는 장애 대비용으로 많이 사용된다.
두개의 스위치 중 하나는 Active 다른 하나는 Standby 로 이중화 하였을 경우, CentOS에서는
본딩 설정을 하게되고 본딩의 여러 모드 중에서 active-backup(mode :1)을 사용하여 본딩을 구성한다.
만약 Active Switch와 연결된 NIC가 eth0 이고, Standby Switch와 연결된 NIC가 eth1 이라면 eth0을 primary로 지정해야 원활한 통신이 된다.
1. 본딩 모드(bonding mode)
본딩 모드는 본딩으로 묶여질 여러 slave 인터페이스들을 효율적으로 묶기 위한 여러가지 방법들이라고 보면 된다. 여러 상황에 따라 효율적인 방법을 선택하겠지만 일반적으로 Round-robin 모드와 Active backup 모드를 사용하며 네트워크 스위치가 802.3ad를 제공하고 스위치를 컨트롤 가능한 경우 802.3ad를 사용한다.
- mode 0 (balance-rr) - Round-robin --> 기본값
- mode 1 (active-backup) - Active backup --> 빈번히 사용된
- mode 2 (balace-xor) - XOR --> 해시방석
- mode 3 (broadcast) - Broadcast
- mode 4 (802.3ad) - 802.3ad --> 스위치 802.3ad 요구
- mode 5 (balancd-tlb) - Adaptive transmit load balancing
- mode 6 (balancd-alb) - Adaptive load balancing
Round-robin (0 또는 balance-rr)
Round-robin 정책은 장애 대비와 트래픽 분산을 위해 설정한다. 데이터 송/수신은 살아있는 Slave 인터페이스를 통해 분산되어 순차적으로 발송된다. 이모드는 이중화된 스위치 구성에서는 잘 작동되지 않기 때문에 단일 스위치의 여러 포트에 Slave 인터페이스들을 연결해야 한다.
Active-backup (1 또는 active-backup)
Active-backup 정책은 가장 많이 사용되며 장애 대비를 위해 설정한다. 여러개의 Slave 인테페이스로 구성할 수 있지만, 구성된 여러개의 Slave 인터페이스 중 오직 하나의 Slave 인터페이스만 전송에 사용된다. 즉 4개의 Slave 인터페이스를 사용하더라도 오직 1개의 Slave 인터페이스만 사용된다는 것이다.
Slave 를 많이 둔다고 성능이 향상되는 것은 아니다. 이 모드는 스위치의 어떠한 설정을 하지 않아도 된다. 이 모드는 추가 설정으로 주가 되는 디바이스를 설정할 수 있다. Active 스위치와 Standby 스위치로 구성했을 때 유용하다. 이 모드는 infiniBand를 본딩할 수 있는 유일한 모드이다.
기타 모드 생략...
2. 본딩 설정(TUI 환경)
이미 설정된 네트워크 디바이스 설정 삭제
먼저 본딩에서 슬레이브(slaver)로 사용하여 묶을 네트워크 디바이스가 다른 용도로 사용되거나 통신을 휘해 설정되었다면 본딩 굿어 후에 문제가 될 수 있다. 다음과 같이 nmcli 명령으로 확인하고 연결된 것이 있는지 확인한다.
[root@vm-colt357 ~]# nmcli connection
이름 UUID 유형 장치
eth1 0ef567f5-53e6-4fd2-b417-18be0f2d2ed3 802-3-ethernet eth1
eth0 0ef567f5-53e6-4fd2-b417-18be0f2d2ed3 802-3-ethernet eth0
만약 위와 같이 eth0, eth1에 해나 설정이 있다면, 다음과 같이 삭제한다.
[root@vm-colt357 ~]# nmcli connection delete eth0
[root@vm-colt357 ~]# nmcli connection delete eth1
콘솔화면에 nmtui를 인력한다 --> Edit a connection을 선택한다 --> 우측에 <Add>를 선택한다 -
-> 화면에서 Bond를 선택한다 --> Profile name(연결이름)을 bone0로 한다. 고전적으로 본딩을 하게되면 bond0를 기본으로 하였다. 만약 2개의 본딩을 구성한다면 두 번째 이름은 bond1이 된다.(이름은 자유롭게 할수 있다.) Device 이름은 GUI에서는 자동으로 정해지지만, nmtui는 임력해 주어야 한다. 동일하게 입력한다. --> 다음으로 <Add>를 선택하여 본딩에 사용될 네트워크 인터페이스(Slave)를 추가한다. --> 연결 종류를 선택한다. 이더넷 또는 인피니밴드를 선택할 수 있다. 이더넷을 선택한다. 이더넷 추가 화면이 나타나며, Profile name(연결이름)을 eth0 (디바이스 이름)으로 한다. 물론 이 또한 다른 이름으로 할 수 있으나 설정 후에는 /etc/sysconfig/network-scripts/ifcfg-이름 형태로 저장되기 때문에 혼란스러울 수 있다. 장치명과 동일한 이름으로 연결 이름을 입력한다. 다음으로 Device에 eth0을 입력한다. --> OK를 선택한다. --> 동일한 방법으로 eth1에 대해 이더넷 설정을 한다. --> 설정이 완료되면 Slaves에 2개의 장치가 추가 되어 있을 것이다. --> 다음으로 Mode를 선택한다. 기본은 라운드 Round-robin인데 앞에서 소개한 여러 모두 중에 Active backup으로 설정한다. 액티브 백업으로 선택하면 Primary 인터페이스를 입력하는 항목이 나타나는데 여기서 기본을고 지정할 즉 Active 스위치에 연결될 디바이스 이름( eth0)을 입력한다. 연결 감시는 MII 로 두고 Monotioring frequency(감시주기) 는 네트웍크 상황에 ㄸ라 다르지만 100 또는 200 으로 설정한다. 나머지는 기본으로 둔다.
--> 다음으로 IPv4 CONFIGURATION 부분에 Manual 로 변경하여 IP정보를 입력해 준다.
--> NetworkManager를 재실행 한다.
'배워서 남주자 > Linux 명령' 카테고리의 다른 글
[rpm] PRM Package 파일 정보 알아내기 (0) | 2018.03.23 |
---|---|
[Network Manager] 네트워크 설정 - Network Manager (0) | 2018.03.23 |
[네크워크 ] 네트워크 명령 (0) | 2018.03.23 |
[명령어 실행 기록] history 확인시 작업 날짜 표시하기 (0) | 2018.03.23 |
[SSL 인증서] 사설 SSL 인증서 생성 (0) | 2018.03.23 |