[MLAG] LACP Fallback

크크몽·2일 전

MLAG

목록 보기
4/5

신규 서버를 설치할 때 이런 상황을 겪게 됩니다. 서버 NIC 두 개를 스위치의 Port-Channel에 연결했는데, 서버에 OS가 없으니 NIC Bonding도 LACP도 동작하지 않아요. 서버가 LACPDU를 보내지 못하니 스위치도 정상적인 Port-Channel을 만들지 못합니다. 그런데 서버는 PXE 부팅으로 네트워크에서 OS를 받아와야 하죠. 이 문제를 풀어주는 기능이 LACP Fallback입니다.

어떤 문제를 해결할까

OS가 정상적으로 올라온 서버라면 위 그림처럼 양쪽이 Active로 LACP를 주고받으며 Port-Channel이 만들어집니다. 하지만 신규 서버이거나 OS가 없는 서버는 Bonding이 안 되니 LACPDU를 교환하지 못해요. 스위치에 Port-Channel 구성이 되어 있으면 협상이 안 돼서 포트가 정상 동작하지 않고, 그 결과 PXE 서버에서 OS Image를 받아올 수 없습니다. 그래서 실무에서는 종종 서버팀으로부터 LACP Fallback 설정을 요청받게 돼요.

LACP Fallback이란

LACP 협상이 일정 시간 동안 실패하면, 해당 Port-Channel에 속한 포트를 개별 포트로 동작시키는 기능입니다. 그 시간은 Arista 기본값이 90초이고, timeout은 1~300초로 조정할 수 있어요. 동작 방식은 두 가지입니다.

  • static mode: 개별 포트 중 LACP priority 값이 가장 낮은 포트 하나만 살립니다.
  • individual mode: 모든 포트를 개별 포트로 살립니다.

실무에서는 보통 individual mode로 설정합니다. PXE 부팅에는 어느 NIC로 요청이 나갈지 모르니 모든 포트가 살아 있는 편이 편해요.

동작 순서

  1. 신규 서버라 아직 OS가 없어서 NIC Bonding이 안 됩니다. 네트워크 담당자에게 Fallback 설정을 요청합니다.
  2. 해당 Port-Channel에 LACP Fallback을 추가합니다(보통 individual mode).
  3. 서버가 DHCP 서버에서 IP를 받고, PXE 서버에서 OS Image를 전송받습니다.
  4. OS 설치가 끝나고 재부팅되면 Bonding이 정상적으로 동작합니다.
  5. 멤버 포트 중 하나에서 LACPDU를 수신하면, individual fallback 상태에서 정상 Port-Channel 동작으로 복귀합니다.

설정 예시

interface Ethernet7
   switchport access vlan 15
   channel-group 10 mode active

interface Ethernet8
   switchport access vlan 15
   channel-group 10 mode active

interface Port-Channel10
   switchport mode trunk
   switchport trunk allowed vlan 100,200,300
   port-channel lacp fallback individual
   port-channel lacp fallback timeout 90

이 예시는 이렇게 읽을 수 있어요.

  • Port-Channel10은 LACP가 정상 동작할 때 서비스 용도로 쓰는 Trunk입니다.
  • 각 물리 포트에 설정한 access vlan 15는 Fallback으로 개별 포트가 되었을 때 적용됩니다. 이때 포트로 들어오는 프레임을 VLAN 15로 판단하니, 서버는 이 VLAN에서 DHCP, PXE 서버와 통신하게 됩니다.
  • port-channel lacp fallback timeout은 LACPDU를 받지 못한 채로 이 시간이 지나면 Fallback으로 전환한다는 뜻이에요.

알아두면 좋은 점

  • Fallback은 설정해야 동작합니다. 기본적으로 꺼져 있고, 멤버 포트가 아니라 Port-Channel 인터페이스에 설정해요.
  • timeout 동안은 포트가 열리지 않습니다. 기본값이 90초라서, 서버가 PXE로 부팅을 시도하는 시점에 아직 Fallback 전환 전이라면 DHCP 요청이 나가지 못할 수 있어요. 필요하면 timeout 값을 조정할 수 있습니다.
  • Native VLAN으로도 비슷한 목적을 달성할 수 있습니다. Trunk 포트로 태그 없이 들어온 프레임은 Native VLAN으로 처리됩니다. OS가 없는 서버는 VLAN 태그를 모르고 태그 없는 프레임을 보내니, Native VLAN을 설치용 VLAN과 연결해서 관리망과 서비스망 트래픽을 구분하는 구성도 쓰입니다.
  • DHCP 요청은 브로드캐스트라서, DHCP 서버가 다른 대역에 있으면 L3 장비에 DHCP relay(EOS에서는 ip helper-address) 설정이 필요합니다. 신규 서버 설치가 잘 안 될 때는 Fallback과 함께 이 설정도 같이 확인해보세요.

정리

LACP Fallback은 OS가 없어 LACP가 동작하지 않는 서버를 위해, 일정 시간 협상이 실패하면 멤버 포트를 개별 포트로 동작시키는 기능입니다. 서버는 이 개별 포트로 DHCP와 PXE 서버에 접속해서 OS를 설치하고, 설치 후 LACPDU가 들어오면 Fallback이 해제되며 정상 Port-Channel로 복귀해요. Fallback 설정을 이해하고 나면 실무의 DHCP relay 설정과 Native VLAN을 쓰는 의도도 한층 잘 보입니다.

profile
주니어 엔지니어

0개의 댓글