웹사이트 검색

Linux 클러스터링 소개 및 장점/단점 - 1부


안녕하세요, 이번에 저는 "장애 조치 시나리오를 위한 Linux 클러스터링"이라는 제목의 일련의 가이드를 통해 Linux 클러스터링에 대한 지식을 여러분과 공유하기로 결정했습니다.

다음은 Linux의 클러스터링에 관한 4개 기사 시리즈입니다.

먼저 클러스터링이 무엇인지, 산업에서는 어떻게 활용되는지, 어떤 장점과 단점이 있는지 등을 알아야 합니다.

클러스터링이란 무엇입니까?

클러스터링은 두 개 이상의 서버를 하나의 서버처럼 작동시키기 위해 연결을 설정하는 것입니다. 클러스터링은 서버를 장애 조치 시스템, 로드 밸런싱 시스템 또는 병렬 처리 장치로 클러스터링할 수 있는 시스템 엔지니어들 사이에서 매우 인기 있는 기술입니다.

이 가이드 시리즈를 통해 장애 조치 시나리오를 위해 RedHat/CentOS에 두 개의 노드가 있는 Linux 클러스터를 생성하는 방법을 안내하고자 합니다.

이제 클러스터링이 무엇인지에 대한 기본 아이디어를 얻었으므로 장애 조치 클러스터링과 관련하여 클러스터링이 무엇을 의미하는지 알아보겠습니다. 장애 조치 클러스터는 응용 프로그램과 서비스의 고가용성을 유지하기 위해 함께 작동하는 서버 집합입니다.

예를 들어, 어느 시점에서 서버에 오류가 발생하면 다른 노드(서버)가 로드를 인계받아 최종 사용자에게 다운타임이 발생하지 않게 됩니다. 이러한 종류의 시나리오에서는 적절한 구성을 위해 최소 2 또는 3개의 서버가 필요합니다.

저는 3개의 서버를 사용하는 것을 선호합니다. 한 서버는 Red Hat 클러스터 지원 서버로 사용되고 다른 서버는 노드(백엔드 서버)로 사용됩니다. 더 나은 이해를 위해 아래 다이어그램을 살펴보겠습니다.

Cluster Server: 172.16.1.250
Hostname: clserver.test.net

node01: 172.16.1.222
Hostname: nd01server.test.net

node02: 172.16.1.223
Hostname: nd02server.test.net   

위 시나리오에서 클러스터 관리는 별도의 서버에서 수행되며 다이어그램에 표시된 대로 두 개의 노드를 처리합니다. 클러스터 관리 서버는 두 노드 모두에 지속적으로 하트비트 신호를 보내 장애가 발생하는지 확인합니다. 누군가 실패하면 다른 노드가 로드를 인계받습니다.

클러스터링 서버의 장점

  1. 클러스터링 서버는 완전히 확장 가능한 솔루션입니다. 나중에 클러스터에 리소스를 추가할 수 있습니다.
  2. 클러스터의 서버에 유지 관리가 필요한 경우 로드를 다른 서버에 넘겨주는 동안 서버를 중지하여 유지 관리를 수행할 수 있습니다.
  3. 고가용성 옵션 중에서 클러스터링은 안정적이고 구성이 쉽기 때문에 특별한 위치를 차지합니다. 서버가 추가로 서비스를 제공하는 데 문제가 있는 경우 클러스터의 다른 서버가 부하를 받을 수 있습니다.

클러스터링 서버의 단점

  1. 비용이 높습니다. 클러스터에는 좋은 하드웨어와 설계가 필요하므로 클러스터되지 않은 서버 관리 설계에 비해 비용이 많이 듭니다. 비용 효율적이지 않다는 것이 이 특정 디자인의 주요 단점입니다.
  2. 클러스터링을 구축하려면 더 많은 서버와 하드웨어가 필요하기 때문에 모니터링과 유지 관리가 어렵습니다. 따라서 인프라를 늘리십시오.

이제 이 설정을 성공적으로 구성하기 위해 어떤 종류의 패키지/설치가 필요한지 살펴보겠습니다. 다음 패키지/RPM은 rpmfind.net에서 다운로드할 수 있습니다.

  1. 리치(ricci-0.16.2-75.el6.x86_64.rpm)
  2. 루시(luci-0.26.0-63.el6.centos.x86_64.rpm)
  3. Mod_cluster(modcluster-0.16.2-29.el6.x86_64.rpm)
  4. CCS(ccs-0.16.2-75.el6_6.2.x86_64.rpm)
  5. CMAN(cman-3.0.12.1-68.el6.x86_64.rpm)
  6. Clusterlib(clusterlib-3.0.12.1-68.el6.x86_64.rpm)

각 설치가 우리에게 어떤 역할을 하는지, 그리고 그 의미를 살펴보겠습니다.

  1. Ricci는 클러스터 관리 및 구성에 사용되는 데몬입니다. 구성된 노드에 수신된 메시지를 배포/디스패치합니다.
  2. Luci는 클러스터 관리 서버에서 실행되며 다른 여러 노드와 통신하는 서버입니다. 일을 더 쉽게 할 수 있도록 웹 인터페이스를 제공합니다.
  3. Mod_cluster는 httpd 서비스를 기반으로 하는 로드 밸런서 유틸리티이며 여기서는 수신 요청을 기본 노드와 통신하는 데 사용됩니다.
  4. CCS는 ricci를 통해 원격 노드에서 클러스터 구성을 생성하고 수정하는 데 사용됩니다. 또한 클러스터 서비스를 시작하고 중지하는 데에도 사용됩니다.
  5. CMAN은 이 특정 설정을 위한 ricci 및 luci 이외의 기본 유틸리티 중 하나입니다. 이는 클러스터 관리자 역할을 하기 때문입니다. 실제로 cman은 CLUSTER MANAGER를 나타냅니다. 이는 클러스터의 노드 간에 배포되는 RedHat용 고가용성 추가 기능입니다.

기사를 읽고, 솔루션을 만들 시나리오를 이해하고, 구현을 위한 전제 조건을 설정하세요. 다가오는 기사에서 주어진 시나리오에 맞게 클러스터를 설치하고 생성하는 방법을 배우는 2부를 만나보겠습니다.

참고자료:

  1. ch-cman 문서
  2. 모드 클러스터 문서

편리한 최신 How To를 보려면 Tecmint와 연결하세요. 곧 있을 파트 02(RedHAT/CentOS의 장애 조치 시나리오를 위한 2개의 노드로 클러스터링하는 Linux 서버 – 클러스터 생성)를 계속 지켜봐 주시기 바랍니다.