별의 공부 블로그 🧑🏻‍💻
728x90
728x170

리눅스 클러스터링(Linux Clustering)

 

- 클러스터(Cluster) : 컴퓨터 데이터 통신분야에서 단말 제어 장치와 그에 접속된 복수 단말의 총칭

- 서버 분야에서의 클러스터는 여러 대의 컴퓨터를 연결하여 하나의 컴퓨터를 사용하는 것처럼 구성된 시스템을 의미함.

- 리눅스 클러스터는 사용 목적에 따라 크게 3가지로 구분

 

① 고계산용 클러스터(HPC: High Performance Computing Cluster)
고성능의 계산 능력을 제공하기 위한 슈퍼컴퓨터 구성에 주로 사용

 

② 부하분산 클러스터(LVS: Linux Virtual Server Cluster)
HA 와 함께 구성하여 웹 서버를 비롯한 서버 분야에서 주로 사용

 

③ 고가용성 클러스터(HA: High Availability Cluster)
LVS 와 함께 구성하여 웹 서버를 비롯한 서버 분야에서 주로 사용

 

(1) 고계산용 클러스터(HPC: High Performance Computing Cluster)

- 고성능의 계산 능력을 제공하기 위한 목적으로 제작

- 주로 과학계산용으로 활용되고, 슈퍼컴퓨터가 HPC 클러스터로 구성되어 제작됨.

- 다른 말로 베어울프(Beowulf) 클러스터 라고 불림.

- 1994년 NASA 산하연구소인 CESDIS(Center of Excellence in Space Data and Information Sciences) 에서 슈퍼컴퓨터인 Cray의 임대 기간 종료에 대비하기 위해 병렬처리용 슈퍼컴퓨터의 개발을 시작하는 프로젝트에서 탄생함.
- 프로젝트 이름을 베어울프라 하여 개발을 시작하였고, 그 결과물로 채널본딩(Channel Bonding)한 16노드(Node) 병렬 컴퓨터 를 만들어냄.
- 이 병렬 컴퓨터는 슈퍼 컴퓨터와 비교하여 결코 성능이 뒤지지 않는다는 것을 보여 주었고, 이후 이러한 머신들을 베어울프류 컴퓨터 라 부르게 됨.
- 최근에 CPU, Motherboard, Disk 등 하드웨어의 성능 개선, 저렴한 가격과 개발도구인 GNU C Compiler, 관련 프로그램 툴, PVM(Parallel Virtual Machine) 및 MPI(Message Passing Interface) 같은 메시지 패싱 라이브러리들이 등장하면서 더욱 더 높은 성능을 내고 있음.

 

                      [Switch/Hub]
                             │
      ┌────┬──┴───┬─────┐
   node1      node2            node3       node4
      └────┴──────┴─────┘ 

     [하나의 작업을 4개의 노드를 이동하여 수행]

 

(2) 부하분산 클러스터(LVS: Linux Virtual Server Cluster)

- 보통 LVS(Linux Virtual Server)라고 부름.

- 대규모의 서비스를 제공하기 위한 목적으로 사용되는 클러스터 기법

- 이용자가 많은 웹 서비스 등에 활용가치가 높음.

- 보통 여러 대의 리얼 서버(Real Server)에 부하를 분산해 주는 로드 밸런서(Load Balancer)를 두고 운영하는 방법

 

          [User] ─────> [Load Balancer] 
                                           │
         ┌───────┬───┴────┬────────┐
         ↓                    ↓                       ↓                       ↓
        Real                 Real                    Real                    Real 
       Server               Server                 Server                 Server

 

(3) 고가용성 클러스터(HA: High Availability Cluster)

- 지속적인 서비스 제공을 목적으로 하는 클러스터

- 부하분산 클러스터(LVS)와 연동하여 많이 사용됨.

- 부하분산 클러스터에서 로드 밸런서에 오류가 발생하여 동작을 하지 않는다면 리얼 서버가 정상적인 작동을 하더라도 서비스를 제공하지 못하게 됨.

- 이러한 문제점을 해결하기 위해 하나의 Primary Node가 부하분산의 처리를 수행하고, 다른 하나의 Backup Node(또는 Secondary Node)가 Pimary Node의 상태를 체크하고 있다가 이상이 발생하면 서비스를 이어 받도록 구성하는 방법

 

    [User]
    │ └─────────────────────┐
    │                                                                         │
    ↓                           이상 유무 체크                           ↓
[ Primary ] ───────────────────> [ Backup ] 
[  Node   ] ───────────────────> [  Node  ]
                             Primary Node 이상시 
                              서비스를 이어 받음  

 


 

내용 출처 : 리눅스마스터 1급 정복하기(정성재, 배유미 공저, 북스홀릭)

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖