Date: 3월 4, 2025
노드 및 클러스터: 고가용성의 빌딩 블록
나는 “노드”와 “클러스터”라는 용어를 검토하는 데 시간을 보내고 싶었습니다. 이 블로그의 목적을 위해 나는 다음과 같이 설명할 것입니다.시오스이러한 용어와 다른 용어를 사용하고 그것들이 구체적으로 의미하는 바를 설명합니다.
이러한 용어는 분산 컴퓨팅 분야에서는 표준 용어로 간주될 수 있지만, 이 분야를 처음 접하는 사람이라면 정확히 무슨 뜻인지 궁금할 것입니다.
분산 컴퓨팅에서 노드란 무엇인가?
SIOS를 시작했을 때, 노드와 클러스터라는 용어가 일상적으로 많이 듣는 단어라는 것을 알았습니다. 저는 계속해서 ‘왜 ‘노드’라는 단어를 사용하는가’라고 스스로에게 물었습니다. 문맥상 서버를 의미하는 것처럼 들리지만, 왜 노드라고 말할까요? 설명하자면, 노드는 서버일 수 있지만 클라이언트 컴퓨터나 피어일 수도 있습니다. 본질적으로 컴퓨팅 업무를 수행하고 트래픽을 라우팅하는 데 사용되는 모든 구성 요소입니다.
~ 안에아마존 웹 서비스(AWS), 노드는 EC2 인스턴스로 구현된 가상 머신일 수 있습니다. 여기에 소프트웨어를 설치하고 실행할 수 있으며, 다른 노드에 연결하고 통신하는 데 사용할 수 있는 네트워크 인터페이스가 있을 수 있습니다. SSH를 사용하여AWS EC2인스턴스, SSH 세션을 시작하는 클라이언트 컴퓨터는 클라이언트 노드의 예이며 EC2 서버 인스턴스 노드에 연결하고 있습니다. 노드는 온프레미스의 물리적 머신 또는 가상 머신(VM)일 수 있습니다.
클러스터 이해: 노드가 함께 작동하는 방식
“클러스터”라는 용어로 넘어가겠습니다. 이 단어는 서로 붙어 있는 것들을 생각나게 할 수 있습니다. 분산 컴퓨팅 세계에서 이는 단일 노드가 처리할 수 있는 것보다 더 큰 작업을 처리할 수 있는 결합된 리소스를 형성하기 위해 서로 연결된 노드를 의미합니다. SIOS에서는 각 노드에 볼륨을 모니터링하고 문제가 감지되거나 사용자가 의도적으로 리소스를 서비스로 가져오거나 서비스에서 제거하는 경우 장애 조치 작업을 시작할 수 있는 특수 클러스터 보호 소프트웨어가 있습니다.
클러스터에서 노드를 연결하여 자동 백업을 수행할 수 있습니다. 별도의 노드에서 데이터베이스 서버를 실행하여 컴퓨팅 파워/디스크 I/O 및 데이터를 다른 작업에서 분리할 수 있습니다.
고가용성 클러스터에서 중복성의 역할
클러스터는 또한 다음을 제공할 수 있습니다.중복성한 노드가 실패해도 서비스가 계속 작동할 수 있도록 합니다. 운영의 중복성은 새로운 개념이 아닙니다. 중복성이 없는 단일 서버에서 중요한 운영을 실행하던 시절은 이제 훨씬 지나갔기를 바랍니다.
예를 들어, 블레이드 컴퓨팅 세계에서는 동일한 장치 내에서 두 개의 컴퓨팅 모듈을 실행하여 블레이드 서버 구성에서 중복성을 용이하게 합니다. 서버 펌웨어는 장애 조치/스위치오버 로직을 처리합니다. 전원 공급 장치와 랙 KVM은 비용 절감을 위해 서버 하드웨어 부하에서 공유됩니다.
시설 운영자는 추가 부하를 처리하기 위해 점진적으로 서버에 하드웨어를 추가할 수 있습니다. 이를 통해 운영자는 시스템의 크기를 조정하고 랙 제조업체의 표준화된 구성 요소를 사용하여 구매/구축할 수 있습니다. 이는 클라우드 세계의 그것보다 제한적이지만 유사한 확장 메커니즘을 제공하며, 차이점은 모든 것이 하나의 상자에 호스팅된다는 것입니다. 이와 같은 온프레미스 랙 하드웨어 또는 이와 유사한 하드웨어를 사용하여 클러스터 노드를 구성할 수 있습니다.
클라우드 기반 클러스터 대 온프레미스 클러스터
클라우드 클러스터는 기본적으로 클라우드 제공자가 소유한 공유 데이터 센터 하드웨어에서 실행되는 개별 VM이기 때문에 랙 서버 장비에 내장된 모든 중복성 속성의 이점을 얻습니다. 그러나 이를 통해 고객은 클러스터를 여러 위치에 분산하여 의도적으로 클라우드 제공자의 물리적 데이터 센터의 다른 영역에 있는 다른 물리적 건물에서 실행되는 VM에 컴퓨터 요구 사항을 로드 슬라이싱할 수 있습니다.
이는 단일 사이트 중단에 대한 엄청난 회복성을 제공합니다. 다양한 위치에 있는 서버를 활용하는 클라우드에 구현된 클러스터는 한 위치에 대한 완전한 전력 손실을 허용할 수 있습니다.
노드와 클러스터 설명
제기되는 몇 가지 질문:
- 클러스터는 노드와 동일합니까?
- 아니요, 노드는 일반적으로 컴퓨터 업무를 수행할 수 있는 하나의 구성 요소입니다. 클러스터는 2개 이상의 노드로 구성됩니다.
- 3노드 클러스터란 무엇입니까?
아.아3노드 클러스터는 각 노드 간에 통신 경로가 있는 3개 노드의 클러스터입니다. 3개 노드는 홀수 번호 구성이므로 일반적으로 노드 중 하나는 소위 ‘증인’ 노드가 되어 다른 작업을 수행하지 못할 수 있습니다. 네트워크가 부분적으로 실패하고 노드가 피어와 통신할 수 없는 경우 두 개의 주 서버 노드는 누가 제어해야 하는지 결정할 수 없습니다(이 현상을‘분할된 뇌’). 감시 노드는 서비스 중인 노드에 대한 정보를 제공하여 분할 브레인 문제를 해결하고 한 노드를 활성 모드로 전환하고 다른 노드를 대기 모드로 전환하여 노드를 다시 올바르게 제어할 수 있는 데이터를 제공합니다.
- 2노드 클러스터란 무엇입니까?
- 2노드 클러스터는 두 노드 사이에 하나 이상의 통신 경로가 있는 두 노드의 클러스터입니다. 이는 일반적으로 기본 노드에서 서비스를 실행하고 두 번째 노드를 대기 상태로 두는 데 사용됩니다.
- 클러스터는 몇 개의 노드로 구성됩니까?
- 2개 이상의 노드가 클러스터를 이룹니다.
노드 및 클러스터로 고가용성 극대화
요약하자면, 클러스터는 노드에서 형성됩니다. 노드는 네트워킹 기능이 있는 독립적인 컴퓨팅 모듈입니다. 한 구역의 다운타임을 방지하기 위해 노드를 서로 다른 물리적 위치에 두는 것의 이점을 알아두십시오.
오늘 SIOS에 연락하세요클러스터링 솔루션이 고가용성을 최적화하고 가동 중지 시간을 최소화하는 데 어떻게 도움이 될 수 있는지 알아보세요.
저자: Paul ScruttonSIOS의 수석 소프트웨어 엔지니어
허가를 받아 재생산되었습니다.시오스