서버 클러스터링

Kang Dong Hyun·2023년 2월 17일
0

서버 클러스터란?

클러스터(Cluster)란 네트워크를 이용하여 마치 하나의 컴퓨터처럼 동작하도록 여러 대의 컴퓨터를 연결하여 구성하는 것을 말한다. 즉 여러 대의 서버들 전체를 한 대의 서버 시스템과 같이 동작하게 하는 기술을 말한다.
클라이언트 입장에서는 특정 서버의 상태에 의존하지 않고 클러스터로 묶인 서버 그룹을 마치 하나의 서버에서 서비스를 제공하는 것으로 인식한다. 클러스터 내의 어떤 서버로 접속하든지 동일하게 처리되기 때문에 클라이언트의 요청을 클러스터 멤버에 분산하여 처리하는 것이다. 이렇게 처리함으로써 클라이언트는 여러 개의 서버를 묶은 클러스터가 마치 하나의 서버인 것처럼 보이게 된다.

확장성과 고가용성이 요구되는 웹 시스템에서는 각각의 레이어마다 고유의 클러스터링 기술을 사용하고 있다. 예를 들어 JBOSS를 사용한 웹 시스템 구축에서도 로드밸런싱페일오버를 위해서 클러스터링 기능을 사용한다. JBOSS는 자바 프로세스 단위로 클러스터링을 구성하며, 서버의 물리적인 위치에 관계없이 구성이 가능하다.

클러스터를 구성하면 한 대의 서버가 고장이 나도 다른 서버에서 처리를 계속 할 수 있어서 서비스의 신뢰성을 확보할 수 있다.

클러스터 구성은 스토리지의 소유 방법에 따라 '공유 스토리지 구성'과 '데이터 미러 구성'으로 크게 나뉜다.

공유 스토리지 구성

공유 스토리지 구성은 여러 대의 서버가 공유하는 스토리지를 마련함으로써 장애 시에 데이터의 무결성을 확보하는 방식이다. 공유 스토리지를 마련할 필요가 있지만 확장성이 높아서 대규모 시스템에서 많이 채택하고 있다.

데이터 미러 구성

데이터 미러 구성은 로컬 디스크 볼륨의 복사본을 네트워크로 보냄으로써 장애시 데이터의 무결성을 확보하는 방식이다. 대용량 데이터를 다루는 서버에는 적합하지 않지만 공유 스토리지를 필요로 하지 않기 때문에 저가로 구축할 수가 있어서 소규모 시스템에 채택하고 있다.

데이터 미러 구성은 로컬 디스크 볼륨의 복사본을 네트워크로 보냄으로써 장애시 데이터의 무결성을 확보하는 방식이다. 대용량 데이터를 다루는 서버에는 적합하지 않혼만 공유 스토리지를 필요로 지 않기 때문에 저가로 구축 할 수 있어서 소뮤교 시스템에 넘김으로써 처리를 계속한다.

profile
초보개발자의 스터디공간

0개의 댓글