본문 바로가기
개발공부 개발새발/OS

OS ) 클러스터형 시스템

by 휴일이 2024. 12. 19.

클러스터형 시스템 Clustered Systems

둘 이상의 독자적 시스템 또는 노드들을 연결하여 구성하는 시스템.

  • 저장 장치를 공유.
  • 원거리 통신망(LAN) 이나 InfiniBand 같은 고속 상호 연결망으로 연결.

클러스터링을 사용하는 이유

높은 가용성.

  • 클러스터 내의 하나 이상의 컴퓨터 시스템이 고장나도 서비스를 계속 제공.
  • 어떻게 ?
    • 시스템에 중복 기능 추가.
      • 한 마디로 같은 기능을 하는 여러 애플리케이션을 추가.

남아 있는 하드웨어 수준이 비례해서 서비스를 계속 제공하는 기능 → 우아한 성능 저하

  • 단일 구성 요소에 오류가 발생해도 계속 작동할 수 있는 → 결함 허용 시스템
    • 장애를 감지, 진단 및 (가능한 경우)수정할 수 있는 기법 필요.

비대칭형 클러스터링

  • 다른 컴퓨터들이 응용 프로그램을 실행하는 동안 한 컴퓨터는 긴급 대기 모드 상태를 유지.
  • 서버가 고장난다면
    • 긴급 대기 모드의 호스트가 활성 서버가 됨.

대칭형 클러스터링

  • 둘 이상의 호스트들이 응용 프로그램을 실행하고 서로 감시.
  • 가용한 하드웨어를 모두 사용하니 대칭형 구성이 더 효율적
    • 실제로도 대부분 이렇게 사용하고 있는 듯...
  • 한 클러스터가 네트워크로 연결된 다수의 컴퓨터 시스템으로 구성 되므로 “고성능 계산” 환경을 제공한다.
    • 한 컴퓨터에서 앱을 병렬 수행 가능 → 월등한 계산 능력.

병렬화

프로그램을 컴퓨터 개별 코어에서 또는 클러스터의 각 컴퓨터에서 수행되는 분리된 요소로 나누는 작업.

  • 각 클러스터의 노드가 문제의 일부를 각각 나눠 해결
    • 모든 노드 결과를 결합해서 최종합 얻음.

병렬 클러스터

여러 호스트가 공유 저장장치 상의 동일한 데이터에 접근 가능

  • 특수 SW 버전과 특별한 앱 사용.
    • 예) Oracle Real Application Sluster : 병렬 클러스터에서 수행되도록 설계한 Oracle 버전.
    • 각 앱이 오라클을 완전하게 사용할 수 있고 SW 는 하나로 관리.
  • 공유 데이터 접근을 위해 시스템 간의 충돌이 발생하지 않는 것을 보장해야 함. → 분산 잠금 관리자(DLM) 이용

그럼 RDS 랑 똑같은 거 아닌가?

  • ORAS : 여러 인스턴스가 동시에 데이터를 읽고 쓰는 것.
  • RDS : 단일 인스턴스 기반이지만, Read-Replica 등을 통해 읽기-쓰기를 다르게 할 수 있음.

→ 내가 왜 헷갈렸냐? 우리 회사가 RDS 를 레플리케이션 시키지 않아서 그런듯..ㅎㅎ

스토리지 전용 네트워크 SAN

여러 호스트를 여러 저장장치에 부착.

  • 앱 데이터가 SAN 에 저장되면 클러스터 SW 는 SAN 에 연결된 임의의 호스트에서 수행되도록 배정 가능.
  • 호스트가 고장나면 다른 호스트가 그 앱을 넘겨 받음.

→ DB 클러스터에선 수십개의 호스트가 동일한 DB 를 공유하여 성능과 신뢰도 증가

728x90

'개발공부 개발새발 > OS' 카테고리의 다른 글

OS ) 멀티 프로그래밍과 멀티 태스킹  (0) 2024.12.22
OS ) 운영체제의 작동  (0) 2024.12.19
OS ) 입출력 구조  (1) 2024.12.19
OS ) 저장 장치  (0) 2024.12.18
OS ) 인터럽트  (0) 2024.12.17