Linux 컨트롤러에서 분산 클러스터 모드를 구성하는 방법

정보성 텍스트
설정 가이드
02-25-2025
19600

목차

목표

요구 사항

소개

필수 조건 및 주의 사항

설정

웹을 통해 기존 컨트롤러를 분산 클러스터 모드로 설정하기

명령어를 통한 새로 설치된 컨트롤러의 분산 클러스터 모드 설정

단일 공인 IP를 통한 NAT 간 장치 연동하는 설정 방법

분산 클러스터 모드의 고가용성

자주 묻는 질문

클러스터 노드의 IP 조정 방법

노드 추가 또는 삭제 방법

클러스터 모드에서 컨트롤러를 업그레이드하는 방법

분산 클러스터 모드가 실행되지 않을 때 문제 해결 방법

노드 상태가 Disconnected인 경우 문제 해결 방법

업그레이드 전 높은 시스템 리소스 사용량으로 인한 노드 중지 실패 문제 해결 방법

시작 명령이 동시에 실행되지 않아 노드 시작이 실패한 경우 문제 해결 방법

목표

이 문서에서는 컨트롤러 분산 노드의 개념을 설명합니다. 두 가지 배포 방법을 상세히 다룹니다. 하나는 기존 컨트롤러를 사용하여 웹 인터페이스를 통해 분산 노드를 배포하는 방법이고, 다른 하나는 컨트롤러를 새로 설치할 때 터미널 명령어를 통해 배포하는 방법입니다.

요구 사항

소개

Omada 소프트웨어 컨트롤러의 분산 클러스터 모드는 네트워크 고가용성에 대한 고객 요구를 충족시킬 수 있습니다. 이 모드에서는 여러 노드가 협력하여 Omada 장치를 관리합니다. 이러한 협력 방식은 컨트롤러가 관리할 수 있는 장치 수의 상한을 크게 늘릴 뿐만 아니라, 여러 노드의 협동 작동을 통해 전체 네트워크의 고가용성을 보장합니다. 노드 장애 발생 시 자동 로드 밸런싱이 실행되어 장애 노드의 서비스가 다른 노드에 인수됩니다. 페일오버 기간 동안 원래 장애 노드가 관리하던 사이트의 디바이스는 일시적으로 오프라인 상태가 되었다가 다른 노기에 자동 재연결됩니다. 디바이스가 "연결됨" 상태로 복귀하면 모든 서비스가 정상 작동합니다.

아래 그림과 같이, 이는 여러 노드(3개 이상의 노드)가 공동으로 Omada 장치를 관리할 수 있는 전형적인 분산 클러스터 배포 토폴로지입니다.

컨트롤러의 분산 클러스터 모드의 일반적인 토폴로지입니다.

사전 준비 사항 및 주의사항

분산 노드를 공식적으로 설정 및 배포하기 전에 다음 제안 사항과 주의 사항을 확인해야 합니다.

  • 분산 클러스터 모드에는 최소 3개의 노드가 필요합니다. 설정하기 전에 최소 3개의 컨트롤러를 배포할 준비를 하십시오.
  • 분산 클러스터 모드 설치에는 Java 17이 필요합니다. sudo apt install openjdk-17-jre-headless 명령어로 Java 17을 설치하십시오.
  • 컨트롤러 분산 클러스터 모드를 사용하려면 시스템의 핸들 수를 수정해야 합니다. "/etc/security/limits.conf"를 편집하고 다음 매개 변수를 추가한 후 파일을 저장하고 로그아웃한 다음 다시 로그인하여 변경 사항을 적용하십시오.

* soft nofile 65535

* hard nofile 65535

핸들 번호 수정 방법은 Linux 버전에 따라 다를 수 있습니다. Linux 버전에 따라 핸들 번호를 수정하십시오.

  • 각 노드의 시스템 시간이 20초 미만의 시간 차이로 일관되게 유지되도록 하십시오.
  • 모든 노드에서 JDK 및 MongoDB 버전이 일관되도록 하십시오.
  • 노드 IP는 고정 IP만 지원합니다. IP/포트를 수정해야 하는 경우 재초기화가 필요합니다. 클러스터 노드의 IP 조정 방법 문서를 참조하십시오.
  • 기존 클러스터에 가입한 노드는 새 클러스터에 가입하기 전에 기존 연결에서 분리되고 원래 클러스터에서 제거되어야 합니다.
  • 모든 노드를 동일한 네트워크 세그먼트 내에 배포하는 것이 권장됩니다.

설정

웹을 통해 기존 컨트롤러를 분산 클러스터 모드로 설정하기

1단계. 글로벌 뷰 > 설정 > 클러스터 이동하여 클러스터를 활성화합니다. 그런 다음 모드를 분산 클러스터로 선택합니다.

Select and configure the Distributed cluster mode.

2단계. 노드 추가를 클릭하여 최소 3개의 노드를 추가합니다. 해당 노드의 이름(NAME )과 노드 관리 호스트명/IP(NODE MANAGEMENT HOSTNAME/IP)를 입력합니다 . 여기서 노드 관리 호스트명/IP( )의 IP 주소와 호스트명은 서로 다른 서버에 대응해야 합니다. 장치 관리 호스트명/IP(DEVICE MANAGEMENT HOSTNAME/IP)에는 관리 장치의 IP 주소를 지정하십시오 . 이 IP 주소는 장치와의 연결 및 통신에 사용됩니다. 지정하지 않으면 기본적으로 NODE MANAGEMENT HOSTNAME/IP가 사용됩니다. 그런 다음 적용을 클릭합니다. 적용을 클릭하기 전에 구성된 모든 컨트롤러 노드가 실행 상태인지 확인하십시오. 이렇게 하면 속성 파일이 다른 노드에 자동으로 복사되어 3단계를 생략할 수 있습니다.

alt text: configure the node name and IP/Hostname

이후 컨트롤러에서 프롬프트 창과 초기화 속성 파일이 표시됩니다. 초기화 속성 파일을 다운로드하십시오. 설정이 적용되려면 컨트롤러를 재부팅해야 합니다. 장치 연결 해제 또는 기타 문제를 방지하기 위해 가능한 한 빨리 재부팅하십시오. 오프라인으로 추가된 노드는 다운 상태 노드로 간주되어 재해 복구 기능에 영향을 미칩니다. 가능한 한 빨리 초기화하십시오.

분산 클러스터 모드에서 팝업되는 알림 메시지입니다.

init 속성 파일과 init 명령에 관한 알림 메시지입니다.

다음과 같은 팝업이 표시되면 속성 파일이 다른 모든 노드에 자동으로 복사되었음을 의미합니다. 메시지 안내에 따라 4단계를 바로 진행할 수 있습니다.

팝업창의 모습입니다.

3단계. 각 노드에서 각각 속성 파일(단계 2에서 다운로드)을 교체하십시오. 속성 파일 경로는 다음과 같습니다: /opt/tplink/EAPController/data/cluster/omada_distributed_internal_mongo_cluster.properties

4단계. 각 노드에서 초기화 명령어를 각각 실행하십시오. 노드 초기화 시 모든 노드의 계정과 비밀번호를 설정해야 합니다. 노드 초기화 시 먼저 주 노드 (초기화 속성을 내보내는 노드) 를 초기화하십시오. 그렇지 않으면 초기화가 실패할 수 있습니다.

sudo omadacluster -config

/opt/tplink/EAPController/data/cluster/omada_distributed_internal_mongo_cluster.properties -nodeName init

명령창의 모습입니다.

  • Primary 노드 초기화 중 터미널 출력 예시.

Primary 노드 초기화 중 터미널 출력 예시입니다.

  • Non-Primary 노드 초기화 중 터미널 출력 예시

Non-Primary 노드 초기화 중 터미널 출력 예시입니다.
5단계. 배포가 성공적으로 완료되면 클러스터 페이지로 이동하여 확인합니다. 분산 클러스터 모드가 정상적으로 실행 중일 때, 어떤 노드를 통해서도 컨트롤러에 접근할 수 있습니다.

분산 클러스터 모드의 설치를 완료한 예시입니다.

명령어를 통한 새로 설치된 컨트롤러의분산 클러스터모드 설정

1단계. 클러스터 모드 설치선택 (설치 후 자동으로 시작되지 않음).

  • deb 파일 사용 설치

echo "omadac omadac/init-cluster-mode boolean true" | sudo debconf-set-selections

sudo dpkg -i /path/to/controller_installation_package

deb 패키지 설치 중에 컨트롤러 자동 시작을 비활성화하는 명령입니다

  • tar.gz를 사용하여 설치

압축 해제 후 셸 설치 스크립트를 통해 클러스터 모드를 배포합니다. ./install.sh init - cluster – mode를 입력하면 설치 후 시스템이 자동으로 시작되지 않으며 클러스터 설정 관련 안내 정보가 출력됩니다.

tar.gz 패키지 설치 중에 컨트롤러의 자동 시작을 비활성화하는 명령입니다.

2단계. 컨트롤러 설치를 시작하고 프롬프트에 따라 속성 파일을 편집합니다.

설정되지 않는 컨트롤러의 클러스터 모드를 설치하는 예시입니다.

각 노드의 속성 파일 /opt/tplink/EAPController/data/cluster/omada_distributed_internal_mongo_cluster.properties를 수정합니다 .

속성 파일의 예시입니다.

3단계 각 노드에서 초기화 명령어를 각각 실행합니다.

sudo omadacluster -config /opt/tplink/EAPController/data/cluster/omada_distributed_internal_mongo_cluster.properties -node <노드명> init

  • Primary 노드 초기화 중 터미널 출력 예시

Primary 노드 설치 중 터미널 출력의 예시입니다.

Non-Primary 노드 초기화 중 터미널 출력 예시

Non-Primary 노드 초기화 중 터미널 출력의 예시입니다.

4단계 배포가 성공적으로 완료된 후 컨트롤러에 로그인하여 사용자 이름과 비밀번호를 설정하면 다른 노드도 사용자 이름과 비밀번호를 동기화합니다.

그런 다음 클러스터 페이지로 이동하여 확인하십시오. 분산 클러스터 모드가 정상적으로 실행 중일 때, 어떤 노드를 통해서도 컨트롤러에 접근할 수 있습니다.

분산 클러스터 모드의 설치를 마친 예시입니다.

 

단일 공인 IP 크로스 NAT 장치 연동하는 방법 설정

단일 공인 IP 크로스-NAT 기능은 Linux 분산 모드에서 레이어 3 네트워크 간에 장치를 연동하는 데 사용됩니다. 여러 노드가 라우터 WAN 인터페이스에서 동일한 공인 IP 주소를 공유합니다. 서로 다른 포트가 NAT를 통해 각 해당 노드에 매핑되어 모든 노드가 WAN 측에서 하나의 공인 IP를 사용할 수 있게 합니다.

설정 단계

1단계. 분산 클러스터 설정을 완료한 후, 각 노드의 인터페이스에서 장치 관리 호스트명/IP, 장치 관리 포트, 장치 검색 포트장치 모니터 포트를 구성합니다.

모든 노드에서 장치 관리 호스트 이름/IP가 동일해야 합니다(모두 라우터 WAN 측 공인 IP를 사용해야 함). 구성된 포트는 이미 사용 중인 포트와 충돌하거나 중복되어서는 안 됩니다.

완료 후 적용을 클릭합니다.

참고: 기타 컨트롤러 기능에 사용하는 포트도 상기 요구사항에 따라 각 노드에 /opt/tplink/EAPController/properties/omada.properties 파일로 설정해야 합니다. 업그레이드 포트 같은 일부 포트는 각 노드의 웹 인터페이스에서 설정할 수 있습니다.

 

장치 관리 호스트 이름/IP가 동일하도록 설정합니다.

 

장치 관리, 탐색, 모니터링 포트가 동일하도록 설정합니다.

 

2단계. 팝업 메시지가 나타나면 확인을 선택하십시오.

사용 가능한 새 IP 주소가 있어야 한다는 경고 안내입니다.

 

3단계. 모든 노드에 "재부팅 필요"가 표시됩니다. tpeap restart 명령어를 사용하여 모든 노드를 동시에 재부팅하십시오.

재부팅 필요 상태를 보이는 장치의 상태입니다.

 

4단계. 재부팅 후 모든 노드에 연결됨이 표시되면 컨트롤러 측 설정이 완료된 것입니다.

연결됨 상태를 보여주는 장치의 상태입니다.

5단계. 라우터의 NAT 페이지에서 WAN 측 IP와 포트에서 LAN 측 IP와 포트로의 NAT 매핑을 구성합니다. infoUrl 도구를 사용하여 공용 네트워크에 위치한 장치에 지정된 장치 관리 호스트 이름/IP장치 검색 포트를 전달하여 클러스터에서 연동 및 관리할 수 있도록 합니다. 모든 NAT 매핑이 완료되고 정확한지 확인하십시오. 그렇지 않으면 도달 불가능한 패킷으로 인해 장치 연동 및 관리가 차단될 수 있습니다.

분산 클러스터 모드의 고가용성

분산 클러스터 모드의 고가용성 특성은 다음과 같습니다. 혼합 노드 총 수가 3~4개일 경우 혼합 멤버 1개가 연결 해제될 수 있으며, 혼합 노드 총 수가 5~6개일 경우 혼합 멤버 2개가 연결 해제될 수 있으며, 혼합 노드 총 수가 7개일 경우 혼합 멤버 3개가 연결 해제될 수 있습니다. 즉, 내결함성 혼합 노드 수는 최대 혼합 노드 수의 절반 미만입니다.

혼합 노드 수

허용된 Disconnected 혼합 노드 수

3

1

4

1

5

2

6

2

연결이 끊긴 노드 수가 허용 한도를 초과하면 전체 클러스터가 오작동합니다. 클러스터를 복구하려면 연결이 끊긴 노드를 다시 온라인 상태로 전환하여 내결함성 노드 수가 혼합 노드 최대 수의 절반 미만이 되도록 해야 합니다.

클러스터를 재시작해야 할 경우, 모든 노드가 중지된 후 전체 노드 수의 절반 이상이 동시에 시작되도록 하십시오.

FAQ

클러스터 노드의 IP 조정 방법

컨트롤러의 분산 클러스터 모드가 실행 중인 경우 노드의 IP를 수정하려면 다음 단계를 따르십시오:

(1) 수정 대상 노드 상태가 연결된 경우:

a. 지정된 노드의 네트워크 카드 IP를 수정하여 기존 IP와 IP를 동시에 바인딩합니다.

b. 임의 노드의 클러스터 인터페이스에서 해당 노드의 IP를 새 IP로 변경합니다.

c. 지정된 노드에서 sudo tpeap stop 명령어를 실행하여 노드를 중지한 후, 네트워크 카드를 새 IP만 바인딩되도록 수정합니다.

d. sudo tpeap start 명령을 실행하여 노드를 시작합니다.

(2) 수정 대상 노드의 상태가 Disconnected인 경우:

a. 지정된 노드의 네트워크 카드 IP를 수정하여 기존 IP와 새 IP를 모두 바인딩하도록 합니다.

b. 온라인 상태인 임의의 노드의 클러스터 인터페이스에서 지정된 노드의 IP를 새 IP로 변경하고 새 속성 파일을 내보냅니다.

c. 속성 파일을 수정 대상 노드로 전송합니다.

d. 지정된 노드에서 이 속성 파일을 사용하여 초기화 명령어 sudo omadacluster -config <propertiesPath> -node <nodeName> init 를 실행합니다.

노드 추가 또는 삭제 방법

(1) 노드 추가

1단계. 새 노드의 핸들 수를 조정하고 동일한 버전의 컨트롤러를 설치합니다.

2단계. 기존 노드에서 새 노드를 설정합니다. 글로벌 뷰 > 설정 > 클러스터 인터페이스로 이동하여 노드 추가를 클릭합니다. 새 노드의 이름과 IP/호스트 이름을 입력한 후 적용을 클릭합니다.

노드 추가의 예시입니다.

확인을 클릭합니다.

새 노드를 추가하면 표시되는 안내 메시지입니다.

3단계. 초기화 속성 내보내기를 클릭한 후 파일을 다운로드하여 새로 추가된 노드의 컨트롤러 경로인 /opt/tplink/EAPController/data/cluster에 복사합니다.

새 노드를 추가하면 표시되는 메시지입니다.

4단계. 새 노드의 터미널을 열고 초기화 명령어를 실행합니다.

sudo omadacluster -config

/opt/tplink/EAPController/data/cluster/omada_distributed_internal_mongo_cluster.properties -nodeName init

새 노드 추가 중에 표시되는 터미널 이미지의 예시입니다.

5단계. 노드 추가가 성공적으로 완료되면 클러스터 페이지로 이동하여 확인합니다. 분산 클러스터 모드가 정상적으로 실행 중일 때, 모든 노드를 통해 컨트롤러에 접근할 수 있습니다.

새 노드 추가를 마친 예시입니다.

(2) 노드 삭제

1단계. 삭제할 노드로 이동하여 해당 노드의 컨트롤러를 중지합니다.

2단계. 임의의 노드에서 노드 상태를 확인합니다.

노드별 상태를 확인하는 이미지입니다.3단계. 노드에 삭제 아이콘이 표시되면 삭제 버튼을 클릭한 후 적용을 클릭합니다.

노드를 삭제하는 예시입니다.

4단계. 모든 노드에서 삭제 중인 노드를 확인할 수 있습니다.

노드 삭제를 마친 예시입니다.

클러스터 모드에서 컨트롤러 업그레이드 방법

현재 Omada 클러스터는 오프라인 업그레이드를 지원합니다. Omada 클러스터를 업그레이드하기 전에 모든 노드에서 실행 중인 컨트롤러를 중지해야 합니다.

네트워크에 미치는 영향을 최소화하기 위해 가능한 한 사용량이 적은 시간에 클러스터 업그레이드를 시도하십시오.

업그레이드 후 장치 연결이 끊어지는 것을 방지하기 위해 모든 장치 펌웨어가 클러스터 배포를 지원하는지 확인하십시오.

구체적인 업그레이드 단계는 다음과 같습니다:

  1. 다음 명령을 실행하십시오. 모든 노드에서 sudo tpeap stop 명령어를 실행하여 클러스터를 중지하십시오.
  2. 모든 노드에 최신 버전 컨트롤러를 설치하십시오. 이전 버전의 설치를 참고하여 deb 또는 tar.gz를 사용하여 설치할지 선택하십시오.
  3. 먼저 모든 노드가 새 버전으로 올바르게 업그레이드되었는지 확인하십시오. 그런 다음 모든 노드의 컨트롤러를 동시에 실행하고 다음 명령을 실행하십시오. sudo tpeap start를 실행하십시오.
  4. 모든 컨트롤러에 "Started successfully"가 표시될 때까지 기다리십시오. 이후 클러스터에 정상적으로 접근할 수 있습니다.

노드 업그레이드 과정을 예시로 설명합니다:

명령 페이지의 이미지입니다.

분산 클러스터 모드가 실행되지 않을 때 문제 해결 방법

연결 해제 상태를 보여주는 이미지입니다.

클러스터 모드를 시작하지 못한 예시입니다.

  • 핸들 번호 변경이 성공적으로 이루어졌는지 확인하십시오. "ulimit -a" 명령어를 사용하여 핸들 번호가 성공적으로 변경되었는지 등록할 수 있습니다.
  • 각 노드의 매개변수(컨트롤러 버전, MongoDB 버전, 사용된 Java 버전 포함)가 일관되게 설정되었는지 확인하십시오.
  • 노드 연결이 장시간 실패할 경우, 웹을 통해 기존 컨트롤러를 분산 클러스터 모드로 설정할 때 주 노드 부터 시작하여 노드를 초기화해야 합니다.

노드 상태가 Disconnected인 경우 문제 해결 방법

노드 중 일부의 상태가 연결 해제인 경우의 예시입니다.

각 노드의 글로벌 뷰 > 설정 > 시스템 설정 > 현재 노드 시스템 시간의 시간 차이가 20초 이내인지 확인하십시오.

업그레이드 전 높은 시스템 리소스 사용량으로 인한 노드 정지 실패 해결 방법

문제 해결 명령의 이미지입니다.

  1. 다음 명령을 실행하십시오. ps -ef | grep ‘java’ 명령어를 실행하여 시스템 내 활성 Java 프로세스를 조회하십시오.
  2. 다음 명령을 실행하십시오. sudo kill -9 <PID> 명령어를 실행하여 비정상 노드의 Java 프로세스를 강제 종료합니다(<PID>는 실제 프로세스 ID로 대체).
  3. 정상적인 단계를 따라 최신 버전의 컨트롤러를 설치한 후 업그레이드를 완료하십시오.

시작 명령이 동시에 실행되지 않아 노드 시작이 실패한 경우 문제 해결 방법

다음 명령을 실행하십시오. sudo tpeap start 명령어를 다시 실행하십시오.

각 기능 및 설정에 대한 자세한 내용은 다운로드 센터에서 해당 제품 설명서를 다운로드하여 확인하십시오.

이 문서에는 기계 번역이 적용되었으며, 정확한 내용을 확인하려면 원본 영문 문서를 참고하시기 바랍니다.

이 문서를 평가해 주세요

관련 문서