본문 바로가기
Network Infra 쉽게 이해하기/L4 & L7 Network 쉽게 이해하기

L4 스위치 쉽게 이해하기 #10(이중화)

by 네트워크 엔지니어 환영 2021. 3. 2.
반응형
이번 문서 'L4 스위치 쉽기 이해하기'와 '서버 부하 분산 쉽게 이해하기', 다음에 이어질 문서인 'L4/L7 로드밸런싱 쉽게 이해하기'는 L4/L7 Network Swtich인 'F5 Networks' 장비를 기준으로 설명합니다. Alteon(Radware), Brocade, Cisco, Piolink, Pumkin, Citrix의 관점에서는 다소 다를 수 있습니다.

서버, 네트워크, 데이터 베이스 등과 같은 IT 인프라(IT 서비스의 기반이 되는 정보 기술 구성 요소 집합)에서 장애는 매우 민감한 요소입니다. 다른 산업분야와는 달리 수많은 사용자의 접근이 쉽고 잦으며, 24시간 쉬지 않고 돌아가는 서비스가 대부분이기에 잠깐의 장애에도 큰 피해가 발생할 수 있습니다. 고가용성이라는 단어는 이러한 이유로 탄생했습니다.

고가용성(高可用性, HA, High Availability)이란 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고(高) 가용성이란 "가용성이 높다"는 뜻으로서, "절대 고장 나지 않음"을 의미한다.

- 출처 : 위키백과 - 

위키백과의 설명처럼 고가용성은 오랜 시간 장애 없이 시스템을 운영하는 것을 뜻합니다. 네트워크 인프라 또한 오랜 시간 장애 없이 서비스를 제공해야 하기 때문에 당연히 고가용성을 신경 써야 합니다. 다중화(이중화)도 이러한 맥락에서 나온 하나의 방법입니다.

다중화(이중화)는 시스템의 일부에 어떠한 장애가 발생했을 경우에 대비하여, 장애 발생 다음에도 시스템 전체의 기능을 계속 유지하도록 예비 장치를 평상시부터 백업으로서 배치해 운용하는 일이다.

- 출처 : 위키백과 -

즉 네트워크에서의 다중화(이중화)는 시스템의 일부를 차지하는 네트워크 장비에 어떠한 장애가 발생했을 경우를 대비해 장애 후에도 계속 기능을 제공할 수 있도록 예비 장비를 백업으로서 배치하여 운용하는 것(Active - Standby) 혹은 다수의 장비를 모두 활성화시켜 운용하는 것(Active - Active)을 의미합니다. 이 문서에서는 Active - Standby 구성에 대해 설명합니다.

<만약에 백본스위치에 장애가 발생한다면?>

만약 위의 그림에서 보는 것처럼 이 장비들이 한 대씩만 운영되는 상태에서 어느 한 장비(예를 들어 백본 스위치)에 문제가 생긴다면 통신에 심각한 문제가 발생하게 될 것은 불 보듯 뻔합니다. 이러한 상황을 막기 위해 아래 그림처럼 주요 장비를 두 대씩 운용하여 장애 상황에 대비하는 것입니다.

<네트워크 인프라 구성의 예시>

첫 번째 그림에 더해 네트워크 장비를 이중화한 그림입니다. 가장 위쪽부터 인터넷망, 외부 라우터, 방화벽, L2 스위치, IPS, 백본 스위치가 보입니다. 왼쪽의 'DMZ Zone'에는 L4 스위치도 있군요. 열거한 장비들은 내부의 사용자들과 인터넷망이 통신하기 위해서 반드시 필요한 핵심장비들입니다. 외부 인터넷 연결(외부 라우터), 내부 리소스 보호(방화벽, IPS), 내부 리소스 연결(L2 스위치, 백본 스위치)에 사용되는 장비들이죠. 예를 들어 백본 스위치 중 Active Device 역할을 하던 스위치가 다운되면 남아 있는 한 대의 스위치가 바통을 이어받아 Active Device로서의 역할을 수행합니다. 이것을 Failover라고 부릅니다.

반응형

L4 스위치의 이중화(In-line 구성의 이중화)

L4 스위치 또한 장애가 발생할 가능성이 존재하는 네트워크 장비이므로 보통의 경우 이중화 구성을 염두에 두고 구축하는 것이 대부분입니다. Active - Standby 혹은 Active- Active로 운용할 수 있으며 Active - Standby로 운용하는 사례가 더 많습니다. Active - Standby 구성이 이중화 구성과 운용에 있어 난이도가 낮아 더 선호하는 듯합니다.

<이중화된 L4 스위치>

위 그림을 보시면 이중화된 L4 스위치(Active - Standby), 이중화된 L2 스위치(Active - Active) 그리고 서버를 보실 수 있는데요. 이 그림을 좀 더 자세히 그리면 다음과 같습니다. L4 스위치가 두 대가 있고 이중화가 맺어져 있습니다. 그리고 왼쪽 L4 스위치는 'Active'의 역할을 맡고 있고 오른쪽 L4 스위치는 'Standby'의 역할을 맡고 있습니다. L4 스위치와 백본 스위치는 Virtual IP가 있으며, L4 스위치의 중간 경로인 Inter Link에는 HA VLAN이 존재합니다.

<L4 스위치 In-line 이중화의 상세 구성>

여기서 이중화를 이해하기 위해 자세히 봐야 할 3가지는 HA(High Availability) VLAN, Virtual IP 그리고 Virtual Server IP입니다. 하나하나 살펴보면서 각 단어가 갖는 의미가 무엇인지 살펴보겠습니다.

첫 번째는 HA(High Availability) VLAN입니다. HA는 처음에 언급했던 고가용성(HA, High Availability)입니다. 거기에 VLAN이 붙어있죠. 구성도에서는 HA VLAN으로 표현되어있습니다. L4 스위치는 이중화를 맺기 위해 서로의 정보를 공유하고 누가 Active 스위치로서 역할을 수행할 것인지를 정해야 하는데, 별도로 독립된 네트워크(Virtual LAN)인 HA VLAN이 그 통로 역할을 합니다. 이 통로는 별도의 VLAN과 별도의 IP를 보유하고 이중화 구성과 정보 공유만을 위해 사용하며 다른 데이터 통신이 허용되지 않습니다. 아래에서 설명할 Virutal IP, Virutal Server IP에 대한 소유권 역시 HA VLAN의 통로를 통해 공유됩니다. (HA VLAN은 특정 벤더에서 VLAN을 별도로 두고 이중화를 맺는 한 방식입니다. 일반화된 방식이 아닙니다.)

트래픽이 지나다니는 VLAN과 분리시켜 별도의 VLAN인 HA VLAN을 만들어 다른 트래픽이 접근하지 못하도록 막고 IP 또한 10.10.10.x/24이 아닌 다른 IP 대역을 사용합니다. 예를 들어 IP를 1.1.1.1/30과 1.1.1.2/30을 사용하여 서로를 목적지로 삼아 통신하고 정보를 공유하며 이중화를 구성합니다. 또한 어느 한 스위치가 설정이 변경되면 HA VLAN을 통해 'Config Sync'를 실시하고 설정을 동기화하죠. 물론 L2 스위치로 연결되는 링크를 통해서 L4 스위치의 이중화를 구성할 수 있습니다만 그 링크가 끊어질 경우, 이중화가 흔들리고 장애가 발생할 가능성이 있기 때문에 HA VLAN을 두고 이중화를 맺는 것이 매우 안전합니다.

두 번째는 Virtual IP(이하 VIP)입니다. 말그대로 가상의 IP를 뜻하죠. 이 IP는 Active/Standby 역할을 하는 L4 스위치 모두 갖고 있지만 GARP와 ARP Response, ICMP Response는 오로지 Active 스위치만이 합니다. 즉 Active 스위치만 사용하는 IP나 마찬가지라는 뜻이죠. 또한 이 IP는 L4 스위치를 위한 IP가 아닌 주변 장비를 위한 IP입니다. 이 VIP가 없다고 생각해볼까요? 

<Virtual IP가 없다면?>

VIP가 없는 상태입니다. 서버와 L4 스위치 모두 Gateway를 잡아야 하는데요. 서버는 왼쪽 L4 스위치가 Active 스위치이므로 Gateway를 10.10.10.12로 잡았습니다. 그런데 왼쪽 L4 스위치에 장애가 발생하여 Active 스위치로서의 역할이 오른쪽 L4 스위치로 넘어갔습니다. 그렇다면 서버의 Gateway를 10.10.10.13으로 바꿔야겠죠. 장애가 발생하고 나서 서버의 게이트웨이를 수동으로 바꾸기까지 걸리는 시간은 결코 짧은 시간이 아닙니다. 게다가 서버는 한 대가 아니죠. 일일이 하는 것이 매우 어렵습니다.

그래서 필요한 것이 VIP입니다. 서버의 게이트웨이를 L4 스위치 혹은 백본 스위치의 VIP로만 설정해주면 모든 것이 해결됩니다. 왼쪽 L4 스위치에 장애가 발생하여 Failover가 실시되면 오른쪽 L4 스위치가 VIP를 활성화시키고 모든 요청에 대한 응답을 할 것입니다. 그렇다면 굳이 서버에서 무언가 바꾸어줄 필요가 없게 됩니다. 그 반대의 경우도 마찬가지죠.

마지막으로 Virtual Server IP입니다. 사용자의 요청을 처리하는 Virtual Server 또한 이중화가 필요합니다. 위의 Virtual IP처럼 Virtual Server IP를 Active/Standby 스위치 모두 가지고 있지만 Active 역할의 스위치만이 서비스 요청, ARP Reqeust에 대해 응답하고 GARP를 실시합니다. 아래 그림과 같습니다.

<Virtual Server IP에 대해 응답하는 Active 스위치>

Active 스위치에 문제가 생겨 Failover가 실시되었을 때 Virtual Server IP 또한 같이 넘어가 Standby 스위치가 Active로 올라오며 자신이 Virtual Server IP를 갖고 있음을 알리는 GARP를 전송합니다. 그리고 Virtual Server IP에 대한 ARP Reqeust에 응답하며 사용자 요청을 처리합니다. 아래 그림과 같습니다.

<Failover 후 Virtual Server IP에 대해 응답하는 새로운 Activ 스위치>

추가로 제가 지금까지 이중화와 관련된 설정에 대해서만 말씀드리고 있으나 'In-line' 구성의 이중화에 대한 설명을 겸하고 있으니 In-line 구성을 떠올리면서 보시는 것이 좋습니다. 

 

One-Arm 구성에서의 이중화

이번에는 One-arm 구성에서의 이중화에 대해 살펴보도록 하겠습니다. 물리적인 모양이 달라졌을 뿐 One-arm에서의 이중화 또한 In-line과 동일합니다. 아래 그림을 보시면 L4 스위치가 HA VLAN을 통해 이중화를 구성한 것을 확인하실 수 있습니다. 백본 스위치를 거쳐서 이중화를 하는 것이 아닌 L4 스위치간 물리적인 링크를 이용하여 HA VLAN을 구성하고 서로의 정보를 공유하며 이중화 구성을 생성합니다.

<L4 스위치 One-arm 이중화의 상세 구성>

위에서 언급한 3요소인 HA VLAN, Virutal IP, Virtual Server IP 모두 One-arm 구성에서 모두 동일하게 적용됩니다. 이중화의 경우, In-line과 One-arm에서 큰 차이를 보이지 않기 때문에 위 그림을 주로 참조하면 될 듯 합니다.

이중화는 벤더마다 설정 방법과 특징에 있어 차이가 많은 것 같습니다. F5 Networks는 Fortinet Firewall, Juniper Firewall가 위 그림과 비슷한 구성을 띠며 Alteon(Radware)는 VRRP를 사용하여 이중화를 구성합니다. Alteon의 경우, Cisco에 훨씬 가깝죠. 이렇게 이중화의 구성 방법은 다양하지만 Virutal IP와 Virtual Server IP 설정 그리고 HA를 위한 VLAN 생성은 대부분 비슷합니다. 그러므로 위 3가지 요소와 역할을 잘 알고 계신다면 실무에 있어 큰 어려움은 없을 듯합니다. 

이 문서를 마지막으로 <L4 스위치 쉽게 이해하기> 시리즈가 끝났습니다. 반년 넘게 연재한 것이 끝나 홀가분합니다. 다음에는 다른 내용으로 찾아 뵙겠습니다. 감사합니다.

 

- 도움 : 아프리카TV L4/L7 Network Engineer 곽문봉 -

반응형

댓글16

  • L4배우기 2021.05.11 15:32

    L4 글 정독했습니다. 많은 도움이되었습니다.
    위의 Inline 구성에서 두가지 궁금한게 있습니다.
    1.L4 1번과 2번의 L4 VIP(상단 백본용,하단 서버용)의 경우 HA VLAN(Config sync용)이 아닌 상단 Vip는 백본스위치 L2 Link, 하단Vip는 L2스위치 L2 Link 를 통해 형성되고 Health check하는지 궁금합니다.
    2.만약 위의 경우가 맞다면 L4_1 하단 Link가 Down 시에
    L4 VIP는 Failover되지만 HA Link도 자동으로 Failover 되는지 설정을 통해서 되는지 궁금합니다.
    감사합니다
    답글

    • 1. VIP에 대한 소유권 역시 HA VLAN을 통해 공유합니다. 그말인즉슨 HA Link가 끊어지면 두 장비 모두 Active로 전환되며 VIP에 대한 소유권을 주장합니다.
      2. HA Link는 말그대로 링크일 뿐 Failover 되는 개념이 아닙니다.

  • L4배우기 2021.05.11 18:57

    답변 감사합니다. 도움되었습니다.
    답글

  • do 2021.09.23 20:56

    글을 읽다가 조금 애매한 점이 생겨 질문 드립니다.

    Virtual Server IP와 Virtual IP의 차이점은 L4스위치가 트래픽을 받는 곳의 차이인가요?

    그러니까 Virtual IP의 경우 본문 글에서 설명하신 것처럼 L4-서버간 통신을 이중화하기 위해 하나의 IP로 묶어놓은 것이고 Virtual Server IP는 백본 스위치에서 내려오는 트래픽을 한 곳에서 받기 위한 목적인 것인가요?

    만약 맞다면 하나의 L4스위치는 자신의 원래 IP(10.10.10.12) , Virtual Server IP (10.10.10.15) ,Virtual IP(10.10.10.11)로 총 3개의 IP를 들고 있는 것인가요?

    HA VLAN을 이용해서 서로 Inter Link를 맺어서 서로의 상태를 교환하는 통신을 한다고 하셨는데 이때 통신은 어떤 IP를 이용하나요?

    항상 감사드립니다.
    답글

    • Virtual Server는 로드밸런싱 용도이고 Virtual IP는 이중화 용도입니다. 이중화된 L4 스위치는 Real IP, Virtual IP, Virtual Server IP 3 종류를 들고 있습니다.

      HA VLAN을 따로 생성한 경우 HA VLAN 내에 IP를 생성하여 통신합니다.

      글을 자세히 보시면 HA VLAN이 별도의 IP를 갖고 통신한다는 부분을 보실 수 있습니다.

  • rain 2021.10.08 10:36

    안녕하세요. 좋은 글 감사합니다. 설명을 잘 해주셔서 많은 도움을 받았네요..

    글에서 안 나온 부분이지만 질문드릴 데가 없어 댓글 남깁니다.

    스위치 장비로 인라인 구성으로 Active/Standby 이중화 한다고 가정했을 때,

    1. 상단 1호기 장비 장애시 하단은 모두 2호기 장비로 동작하나요?

    2. vip가 아닌 1호기, 2호기 장비가 독립적으로 네트워크 구성이 되어 있고. 1, 2호기 장비에는 1호기 링크 다운을 대비해 weight를 달리하여 인터링크를 통해 서로의 장비로 향하는 라우팅이 있다고 가정한다면
    상단 1호기 스위치와 연결된 링크 다운 시 상단 2호기 - 하단 2호기 링크를 통해 하단 2호기 장비에 도착할텐데 그 다음 경로는 인터링크 1호기로 가는지 아니면 또 그 하단 2호기로 가는지

    2번 질문은 가정이 너무 많긴 한데... 꼭 좀 답변 부탁드립니다.

    답글

    • 댓글이 너무 많아져서 삭제했습니다. 네트워크 환경에 대한 설명이 부족해서 난감하긴하지만, l4 스위치에는 상단/하단 장비에 대한 헬스체크를 지속적으로 실시하여 상단 혹은 하단 장비 다운시 failover를 실시할 수 있는 기능이 있습니다. 그 기능을 활용하시면 될 듯 하네요.

      2번과 같은 경우는 본 적이 없어서 말씀드리기가 애매하네용

  • 잘보고있습니다 2021.12.14 12:00

    환영님 안녕하세요~! 여기저기 네트워크 관련 커뮤니티에 질문을 남겨보았는데 명쾌한 답변이 없어서.. 왠지 조언 주실 수 있을거 같아서 한번 고견을 부탁드려봅니다

    회사에서 스위치 이중화를 해야하는 상황입니다
    방화벽 - 밑에 스위치 2대 - 서버들 이렇게 구성을 하려고 합니다
    페일오버되고 무중단으로 HA만 충족되면 되는데요

    이런 상황에서 혹시 MLAG나 스택 같은 기술들을 통해서만 이중화를 할 수 있는 건가요?
    아니면 다른 방법도 있는 것인지요? (예를 들어, xxx만 지원하는 스위치 두대만 붙이고, xx 설정만 해주면 이중화가 가능하다던지)
    답글

  • 잘보고있습니다 2021.12.14 13:33

    오.. 말씀하신대로 본딩 설정으로 하려면, 굳이 고사양 스위치가 아니라 아무 스위치라도 STP 지원 되는 스위치 두대 있으면 가능한 것인가요? 그리고 스위치 두대가 같아야 가능한가요?
    답글

  • 잘보고있습니다 2021.12.14 14:31

    아 그렇군요 답변 감사드립니다~! 말씀대로하면, 서버에서 본딩 설정한 스위치 두대 중에 한대가 장애여도 나머지 한대가 동작하니까 서비스에 이상은 없나보네요
    근데 궁금한게 그러면 본딩 설정은 특별한 조건 없이 서버에서 그냥 할 수 있는 건가요?

    예를 들어 특정 랜카드가 필요하다던지 / 스위치에서도 어떤 프로토콜을 지원해야한다던지 이런 부분이 있나요?
    답글

  • 잘보고있습니다 2021.12.14 17:24

    네 답변 감사드립니다~! 많은 도움이 되었습니다~!!!
    답글

  • be 2022.05.27 17:25

    서버를 2대와 L3스위치 2대를 이용해서 선 4개로 서로 각각 연결하고 L3끼리 서로 연결해서
    같은 IP 대역으로 active / active 서버 이중화가 가능할까요?
    아니면 L4 스위치를 써야하나요?
    답글