Etherchannel? Bonding? Ethernet + Channel -> 이더넷 채널 - Cisco에서 개발한 기술 - 대역폭 부족이 원인 -> 이더넷 케이블 여러 개를 묶어서 하나의 인터페이스처럼 쓰자(묶인 하나의 논리적 인터페이스는 PortChannel이라고 한다) --> 나중에 업계 표준으로 발전 -> IEEE 802.3ad(LACP, Link Aggregation Control Protocol) : 이건 국제 표준 프로토콜임 Bond + ing -> 묶다, 결속하다, 부착하다, 붙이다 -> 서버 측에서 여러 개의 랜카드 하나로 묶을 수 있는 기술이 필요했음 --> 커널 개발자들이 여러 NIC를 묶어 하나의 논리적 인터페이스처럼 보이게 하는 커널 드라이버 개발함 ---> 이런 랜카드 묶음 작업을 Bonding이라고 부르기 사작했다.. (윈도우나 RedHat 계열에서는 Teamding이라고 부르기도 한다) 그러면 왜 여러 개를 하나로 묶어서 쓰냐? -> Scale-up: 네트워크 속도를 높이는 가장 단순한 방법 -> 더 빠른 장비를 쓰는거 -> 이때, 네트워크 속도가 빨라질수록, 랜카드나 네트워크 장비에게 요구되는 연산력은 기하급수적으로 늘어남 (왜냐? 많은 방향에서 들어오는 트래픽이 그만큼 더 빨리 들어올테니까) --> 고성능 장비는 비싼 반면, 1Gbps짜리 랜카드나 랜케이블은 널려있음 ---> 비싼 장비 사느니, 싼 장비 여러 개로 묶어 쓰는 게 경제적이다 ::: 경제성 -> SPoF(Single Point of Failure): 단일 장애점 -> 서버와 스위치, 회사와 회사, 국가와 국가를 잇는 망이 케이블 하나에 의존한다? -> 그거 끊어지면 전체 서비스나 네트워크가 다운됨 --> 그렇다고 물리적으로 망 하나를 더 만들자니 두 배의 돈을 써야 한다 ---> 랜카드 하나, 포트 하나, 케이블 하나가 다운되어도 서비스는 안 끊기게 하고싶다 ::: 안정성 본딩의 경우: mode가 있음(0~6, 7개) 자주 쓰이는 모드는 0 1 4 0-balance-rr : 로드밸런싱+장애조치(failover) -> 랜카드 하나씩 번갈아가며 전송(라운드로빈) 1-active-backup : 1개의 인터페이스(랜선)만 활성화(active), 나머지는 대기(standby) -> 로드밸런싱 없이 failover만 2-balance-xor : 0과 비슷하지만, 같은 목적지로 가는 트래픽은 항상 같은 인터페이스 타기 3-broadcast : 모든 패킷을 복제해 전송(완벽한 이중화를 위해) -> ! 대역폭이 낭비됨. 절대 통신 실패하면 안되는경우만 이렇게 한다 4-LACP : 표준. 속도/duplex가 같은 링크를 묶어 대역폭 확보와 failover !!!!(0과 무슨차이인지 체크해야함) 5-balance-tlb : outbound 트래픽만 분산 처리, inbound 트래픽은 active 상태인 인터페이스로만 받음 6-balance-alb : balance-alb에 인바운드 트래픽 부하분산까지 더한거임: ARP 협상을 통해 인바운드트래픽 여러 NIC으로 나누어받음(ARP로 어떻게 잘 하는거같음) 여기에 쓰이는 프로토콜은? LACP(Link Aggregation Control Protocol) -> 표준. 스위치/리눅스/라우터 다 가능. cisco 아니어도 가능 PAgP(Port Aggregation Protocol) -> Cisco 스위치 전용: 오직 '시스코' '스위치' 사이에서만 정상적으로 작동 Static Etherchannel : 프로토콜 사용하지 않고, 관리자가 포트 묶어주는 방식 : 단순하고 빠르다 ! 양쪽 장비가 잘 안 맞을 때 오류 감지가 안 된다.. 루프나 패킷 드롭 발생 가능 LACP (표준) : 표준 프로토콜 기반으로 링크 동적으로 협상 및 관리하는 것 : Mode: Active / Passive : 능동적으로 상대방에게 프레임(LACPDU)를 보내 채널 형성 시도 / 가만히 대기하다 LACPDU 수신하면 응답만 함 ! 최소한 한 쪽은 Active가 되어 있어야 채널 형성을 시도한다 * PAgP도 비슷한데, Active=Desieable, Passive:Auto로 용어가 좀 다르다. LACP 동작과정 L2SW 기준: 둘 다 세팅 끝내고 선 연결해야함 + 선 g1/0은 g1/0으로 딱딱 순서 맞춰서 연결해야함 en conf t interface range g1/0 - 3 channel-group 1 mode active no shutdown end conf t interface Port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk no shutdown end 이후 show etherchannel summary 에서 잘 묶여있나, (SU) 로 잘 활성화되어있나 보면 된다 --> 이 세팅은 Etherchannel LACP 기준임 스위치간 MODE는 어떻게 작동하나 확인 필요 PAgP는 할지말지도 정해야함 리눅스에서 랜카드 여러개 끼워서 활성화하는 것도 한 번 해봐야함 그래서 어떻게 하나? --> 네트워크 장비 - 네트워크 장비 --> 네트워크 장비 - 서버 --> 서버 - 서버 슬레이브 (Slave Interface) 개념 "여러 개의 물리/가상 네트워크 카드(NIC)를 묶어서 하나의 부하로 다루게 할 때, 그 밑에서 실무를 담당하는 개별 카드들"을 의미합니다. 구조적 역할: 우리가 평소 쓰는 ens33, ens34 같은 개별 vNIC들이 본딩의 슬레이브가 됩니다. 이 슬레이브 카드들은 상위의 가상 인터페이스인 bond0**(Master)** 밑으로 편입됩니다. 특징: 슬레이브가 되는 개별 NIC들은 각각의 고유 IP 주소를 잃어버립니다. (IP는 오직 bond0 마스터 인터페이스에만 할당됨) 외부에서 볼 때는 여러 개의 랜카드가 아니라, IP가 하나인 하나의 거대한 랜카드처럼 보입니다. 본딩 모드 (Bonding Mode) 개념 "묶인 슬레이브 랜카드들이 어떤 규칙(전략)으로 협력하여 트래픽을 처리할지 결정하는 방식"입니다. 리눅스 커널에서는 여러 가지 모드(0번~6번)를 제공하며, 목적에 따라 선택합니다. 대표적으로 가장 많이 쓰이는 두 가지 모드입니다. ① Mode 1: Active-Backup (액티브-백업) — 이중화(Fault Tolerance) 목적 작동 방식: 여러 슬레이브 중 오직 1개의 카드(Active)만 일을 하고, 나머지 카드(Backup)는 대기 상태로 있습니다. Failover (절주): 일하던 Active 카드가 고장나거나 케이블이 뽑히면, 대기하던 Backup 카드가 0.x초 만에 그 자리를 이어받아(Active로 전환) 끊김 없이 통신을 유지합니다. 장점: 물리 스위치 쪽에서 특별한 설정을 안 해도 되므로 구성이 가장 단순하고 안정적입니다. ② Mode 4: 802.3ad / LACP (Link Aggregation Control Protocol) — 속도 병합 + 이중화 목적 작동 방식: 묶인 슬레이브 카드들의 대역폭을 하나로 합쳐서(예: 1Gbps + 1Gbps = 2Gbps 효과) 동시에 데이터를 전송합니다. 장점: 트래픽을 분산 처리(Load Balancing)하여 대역폭을 극대화할 수 있고, 특정 카드가 죽어도 남은 카드로 트래픽이 우회합니다. 조건: 이 모드를 쓰려면 리눅스 서버뿐만 아니라 연결된 물리 스위치 단에서도 LACP(포트 채널) 설정이 반드시 되어 있어야 합니다. 리눅스 본딩(Bonding) 모드는 0번부터 6번까지 총 7가지가 존재