출처 : http://www-903.ibm.com/kr/techinfo/pseries/tech/tech_13.html
개요 |
Etherchannel은 원래 Cisco사의 trademark로서, 일반적으로는 network interface aggregation 또는 trunking이라고도 합니다. 즉, etherchannel은 특정 hardware나 software 제품을 지칭하는 것은 아니고, Cisco에서 만든 일종의 기술 표준입니다.
이 기술을 이용하면, 2개 또는 4개의 ethernet interface를 모아서, 하나의 새로운 virtual ethernet interface를 만들어낼 수 있습니다. 이렇게 하여, 4개의 Ethernet interface에 하나의 공통 IP address를 줄 수 있으므로, bandwidth를 크게 늘릴 수 있고, network load balancing 및 high availability도 구현할 수도 있습니다. 이 기술을 사용하기 위해서는 먼저 network switch가 Etherchannel 표준을 지원하는 것이어야 하고, 또 OS에서도 Etherchannel을 지원해야 합니다. AIX 433에서는 이를 기본으로 지원합니다.
Etherchannel 방식의 종류 |
Etherchannel에는 다음과 같은 3가지 구성 방식이 있습니다.
Standard mode
외부로 나가는 traffic이 어느 interface를 이용하는지를, 목적지의 IP address를 hashing하여 그 마지막 bit에 따라 결정합니다. 가령, 마지막 bit가 0이면 첫번째 interface를 사용하고, 1이면 두번째 interface를 사용하는 식입니다. 이 방식에 따르면 외부로 나가는 packet이 어떤 순서로 어떤 interface를 이용할지 보장이 되지만, 전체적인 bandwidth에 대해 load balancing이 된다고는 보장할 수 없습니다.
Round-robin mode
글자 그대로, 각 interface마다 한 개씩의 packet을 분배해서 던져주는 방식입니다. 이 방식으로는 전체 bandwidth의 load balancing이 비교적 잘 되지만, packet이 밖으로 보내지는 순서는, 전체 channel에 대해 원래 보낸 순서와는 다소 다를 수도 있습니다. (그렇다고 뭐 문제가 꼭 있는 것은 물론 아닙니다.)
Network IP backup mode (netif_backup)
이 방식은 비교적 새로 추가된 방식입니다. AIX 433 maintenance level 8을 적용하면 이 mode가 사용가능해집니다.
이 mode에서는 한번에 하나의 adapter 만을 active하게 사용합니다. 만약 이 연결에 문제가 발생하면, channel은 자동적으로 현재 active한 ethernet과 backup 상태였던 ethernet을 swapping합니다. 즉, 이 mode에서는 load balancing 효과는 없고, availability만을 보장하게 됩니다.
그렇다면 다른 방식에 비해서 기능이 떨어지는 편인데 왜 굳이 이 mode가 사용될까요 ?
이 mode는 switch 장비가 etherchannel을 지원하지 않아도 사용이 가능하기 때문입니다. 일반 dummy hub에서 사용할 때도 구성이 가능합니다.
Etherchannel 구현 방법 |
Etherchannel의 구성은 smit menu를 이용하면 편합니다. Fast path로 "smit etherchannel" 로 직접 들어가면 다음 화면을 보실 수 있습니다.
Etherchannel Move cursor to desired item and press Enter. List All Etherchannels Add An Etherchannel Change / Show Characteristics of an Etherchannel Remove An Etherchannel |
여기서 "Add An Etherchannel" 을 선택하면 다음의 menu를 볼 수 있습니다.
Available Network Adapters | Move cursor to desired item and press F7. | | ONE OR MORE items can be selected. | | Press Enter AFTER making all selections. | | | ent0 | ent1 | ent2 | ent3 | ent4 |
이중 2개, 또는 4개를 선택하면 다음 화면을 볼 수 있습니다.
Add an Etherchannel
|
만약, 여기서 선택한 Ethernet interface가 이미 사용 중인, 즉, IP가 부여되어 있는 상태라면, 다음과 같은 error가 납니다. Interface를 Defined 상태로 만들어 두고 다시 하시기 바랍니다.
Method error (/usr/lib/methods/cfgech):
0514-001 System error:
Method error (/usr/lib/methods/chgent):
0514-062 Cannot perform the requested function because the specified device is busy.
위의 menu에서, Alternate Etherchannel address를 지정하지 않으면, 첫번째 interfce (여기서는 ent0)의 MAC address가 전체 etherchannel의 MAC address가 됩니다.
또, 마지막 세개의 항목은 mode를 netif_backup mode로 했을 때에만 사용하는 것으로, Etherchannel을 준수하지 않는 network 장비에서도 Ethernet interface에 문제가 발생했을 경우를 탐지하기 위해 기입하는 field입니다.
Internet Address to Ping : 여기에 기입된 IP 주소로 주기적으로 ping을 던지면서 자기 interface의 이상 여부를 점검합니다.
Number of Retries : ping이 성공적이지 않을 경우, 일시적인 것인지 확인하기 위해 retry하는 횟수를 정하는 곳입니다.
Retry Timeout (sec) : 각각의 retry마다 몇 초씩 timeout을 줄 지 정하는 곳입니다.
Etherchannel FAQ |
1) Gigabit ethernet으로도 etherchannel이 지원되나요 ?
A) 현재로서는 10/100 ethernet 만이 지원되고, gigabit ethernet에 대해서는 지원을 하지 않습니다. 그러나, 실제로 test해보면 gigabit에서도 잘 되는 것이 확인되었습니다. "지원하지 않는다"는 것은, 문제가 발생할 경우 IBM이 책임지지 않는다는 뜻입니다.
2) HACMP와 etherchannel을 동시에 사용할 수 있나요 ?
A) 지원하지 않습니다.
3) 10/100 ethernet을 이용해서 etherchannel을 구성했는데, network cable을 뽑으면 failover가 일어나지 않고 일부 packet이 소실됩니다. 어찌된 일인가요 ?
A) Gigabit을 이용해서 etherchannel을 구성해보면, 오히려 failover 등이 잘 일어나는데, 정작 지원된다는 10/100 ethernet에서는 network cable을 뽑아도 failover가 제대로 일어나지 않는 것을 보실 수 있을 겁니다.
이는 gigabit Ethernet device driver에는 기본적으로 "link polling"이 enable되어있는데 비해, 10/100 fast ethernet에는 그렇지 않기 때문입니다. 이로 인해, cable이 뽑혀 나가거나 끊어지는 것은 etherchannel이 고장으로 인식하지 못하고, Ethernet device 자체의 장애만 고장으로 인식하게 되는 것입니다. 원래 10/100 ethernet device driver에는 link polling 기능이 없었습니다만, 빗발치는 요구에 따라, APAR IY17437 (devices.pci.23100020.rte 4.3.3.51)을 적용하면 다음과 같이, 10/100에서도 link polling을 적용할 수 있도록 patch를 만들었습니다. 다만, link polling은 performance에 약간의 영향이 있는 관계로, default로는 link polling을 하지 않도록 되어있습니다. 따라서, 10/100에 etherchannel을 구성할 때는 반드시 "smit ethernet" menu에 들어가서 아래의 menu에서 link polling을 enable시켜야 합니다.
또는, chdev -l ent# -a poll_link=yes 로 하셔도 됩니다.
'::: OS ::: > AIX' 카테고리의 다른 글
Sugroup 을 이용한 su 액세스 제어 (0) | 2011.06.14 |
---|---|
AIX 5.3 환경에 lsof 유틸 설치하기 (0) | 2011.05.16 |
AIX - Nmon Command (0) | 2011.04.28 |
AIX - Topas Command (0) | 2011.04.28 |
서버(하나의 Building Block)에 장착된 메모리의 개당 용량 확인 (0) | 2011.04.25 |