검수요청.png검수요청.png

컴퓨터 클러스터

위키원
ab9405 (토론 | 기여)님의 2019년 8월 9일 (금) 15:34 판
이동: 둘러보기, 검색

클러스터는 같은 속성을 가진 대상을 여러 개 모아서 하나의 대상으로 한 것 이라는 의미이고, 운영 체제, 컴퓨터의 하드웨어, 통계 데이터 등 여러 분야에서 사용된다.

개요

컴퓨터 클러스터는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합을 의미한다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결된다. 서버로 사용되는 노드에는 각각의 운영 체제가 실행되는데, 컴퓨터 클러스터는 저렴한 마이크로프로세서와 고속의 네트워크, 그리고 고성능 분산 컴퓨팅용 소프트웨어들의 조합으로 태어났다. 클러스터는 일반적으로 단일 컴퓨터보다 더 뛰어난 성능과 안정성으로 비슷한 성능과 안정성을 제공하는 단일 컴퓨터보다 훨씬 더 효율적이다. [1]

등장 배경

특징

종류

클러스터의 분류를 정의하는 방법은 매우 다양하다. 일반적으로는 클러스터의 활용 목적에 따라 분류한다. 이에따르면

  • 고계산용 클러스터(HPC)
  • 부하분산 클러스터(LVS)
  • 고가용성 클러스터(HA)

고계산용 클러스터(HPC)

HPC 클러스터는 고성능의 계산 능력을 제공하기 위한 목적으로 제작된다. 주로 과학 계산용으로 활용도가 높으며 HPC 클러스터를 구성하는 모든 컴퓨터들은 네트워크에 연결되어 있어서 상호간 통신이 가능하므로 다수의 프로세서가 협동적으로 문제를 푸는 환경을 제공하게 되는데 이 기반을 활용하여 문제를 병렬로 푸는 것은 전적으로 프로그램 수준에서 이루어 진다. 따라서 클러스터 구축만 아니라 프로그램 병렬화가 같이 이루어져야 한다.

부하분산 클러스터(LVS)

대규모의 서비스를 제공하기 위한 목적으로 제작되며 주로 웹서비스등에 활용가치가 높다. 이러한 방식은 인터넷 이용자로 하여금 하나의 컴퓨터 즉 로드밸런서로부터 서비스를 제공받는 것으로 여겨지게 한다. 그러나 실제 서비스 제공은 로드밸런서에 연결되어 있는 서비스 노드들에 의하여 이루어진다. LVS 클러스터 또한 만약 정적인 데이터만을 서비스하는 웹클러스터라면 각 서버들은 Load Balancer 와의 통신도 가능해도 된다. 또는 그 중간적인 형태 또한 가능하다. 즉 클러스터의 위상에 있어서는 다양한 형태로의 변형이 가능하다. LVS 클러스터의 웹요청 처리과정은 1. 로드밸런서에게 인터넷으로부터 웹요청이 들어온다. 2. 로드밸런서는 정해진 알고리즘에 따라 서비스를 수행할 server를 선택하고 웹요청을 forwarding 한다. 3. forwarding된 웹요청은 선택된 server에게 전달된다. 4.웹요청을 받은 서버는 이에 대한 응답을 로드밸런서에게 전달한다. 5.로드밸런서는 받은 데이터를 웹요청을 한 컴퓨터에게로 재 전송한다. 부하분산용 클러스터중에서도 이러한 방식을 NAT 라고 한다. 장점은 server가 어떤 OS 이던 상관이 없다는 것이다. 그리고 IP Tunneling 방식은 웹요청이 들어오면 요청패킷을 캡슐화 하여 클러스터내의 노드들에게 전송해준다. 이것은 응답이 로드밸런서를 거쳐 나가지 않아 하나의 로드밸런서가 매우 많은 server를 거느릴수가 있다. 그러나 클러스터 내의 server들이 캡슐화된 패킷을 해석해야만 가능하므로 현재는 리눅스에서만 가능하다. 마지막으로 DR 방식은 클러스터의 확장성을 높이기 위하여 IP NAT 방식과 IP Tunneling 방식의 장점만을 가져온 방식이다. 즉 서비스 요청이 들어오면 패킷을 최소한으로 빨리 가공하여 리얼서버에게 보내면 리얼서버는 다른 루트를 통하여 응답을 보낸다. 라우터가 요청패킷에 MAC 어드레스를 추가하여 유일한 리얼서버를 결정할 수 있게 해준다. 이것을 위해 모든 노드들이 단일 세그먼트에 존재하여야 한다.

고가용성 클러스터(HA)

지속적인 서비스 제공을 목적으로 제작되었으며 주로 미션 크리티컬한 업무에 이용된다. 만약 로드밸런서가 고장났을때 클러스터는 전체가 무용지물이 될 것이다. 또한 서버들 중 server2가 고장난다면 일부 사용자는 원하는 데이터를 제공받지 못할 것이다. 이러한 문제점을 극복하기 위하여 구성된 것이 고가용성 클러스터이다. 로그밸런서의 고장에 대처하기 위해 현재 사용되고 있는 방법은 heart beat와 fake를 이용하는 방법이다. heart beat 는 로드밸런서와 하나의 백업서버간 주기적으로 통신을 하여 이상유무를 체크한다. 로드밸런서의 고장이 발견되면 fake 라는 프로그램은 로드밸런서가 점유하고있는 IP 를 백업서버로 이주시켜 계속 서비스를 수행시켜준다. 또한 server2의 고장은 로드밸런서에 의하여 주기적으로 잠시되고 고장 발생시 웹요청을 server2로 포워딩 하지 않음으로써 서비스를 지속적으로 수행하게 된다.

그외의 분류

1. 노드의 소유권에 따라

  • Dedicated Clusters
  • Nondedicated Clusters

2. 노드의 하드웨어에 따라

  • Clusters of PCs or Piles of PCs
  • Cluster of Workstations
  • Clusters of SMPs

3. 노드의 운영시스템에 따라

  • Linux Cluster
  • Solaris Clusters
  • NT Clusters
  • AIX Cluster
  • Digital VMS Clusters
  • HP-UX Clusters
  • Microsoft Wolfpack Clusters

4. 노드의 구성에 따라

  • Homogeneous Clusters
  • Heterogeneous Clusters

[2]

활용

각주

  1. 컴퓨터_클러스터〉, 《위키백과》
  2. 〈[ttps://blog.pages.kr/108 리눅스를 이용한 클러스터링 구축법]〉, 《날으는물고기》

같이 보기


  검수요청.png검수요청.png 이 컴퓨터 클러스터 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.