클러스터형 시스템 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 |