종종 이중화 얘기가 나오는데 이쪽에 익숙하지 않다고 느껴졌습니다.
잠깐 시간내서 이중화에 대해 너무 깊지 않게 정리해봤습니다.
이중화(Duplex, Duplication)란?
- 서비스가 중단되는 시간(Downtime)을 최소화 하기위해 동일한 기능을 수행하는 예비 시스템을 동시 운용
- 구축비용과 유지보수 비용이 높아지지만 Downtime을 없애거나, 줄일 수 있음
- 고가용성 유지가 목표
- 두 가지 방법
- Active/Standby
- Active/Active
이중화는 왜 필요한가?
- 기업의 비즈니스는 고 가용성이 보장되어야 함
- 한번의 장애는 기업 신용 실추, 매출 하락 등 매우 큰 영향을 미침
고가용성
- High Availability (HA)
- 서비스를 안정적인 상태로 오래 운영하는 성질
- 1년에 계획되지 않은 서비스 중지 시간이 5분 15초 이하까지 허용
- 99%, 99.9% 의 가용성
- 솔루션으로 각 시스템 간의 공유 디스크를 중심으로 집단화 가능(클러스터링)
- 동시에 다수의 클러스터링이 가능하지만 주로 2개의 서버를 연결하는 방식 사용
- 1대의 서버에서 장애가 발생할 경우, 즉시 다른 서버가 업무를 대신 수행
이중화 HA 솔루션이 갖추어야할 기본 기능
- 데이터 복제 기능
- 양쪽의 데이터는 항상 100% 동일해야하는 무결성 보장
- 이를 위해서는 Data Replication 기능이 반드시 필요
- 장애 감시 기능
- 장애가 발생하는지 감시하기 위한 소프트웨어 로직
HA 솔루션 선택 시 고려할 점
- 각 벤더 별 제품 기능 및 제품 관리 UI 비교
- 기본 기능은 동일할 것, 특화된 기능 확인
- 회사 환경과 적합한지 데모 등을 통해 직접 확인
- 제품 Vendor 사의 연혁
- 제품의 완성도는 단기간에 이루어지지 않음
- 연혁, 제품 개발 여력, 인지도 등 확인
- 파트너사의 연혁
- 파트너 사에서 컨설팅 능력 및 기술 지원 능력은 고객사에서 초기 구축 및 지원을 받을때 매우 중요한 부분
- 기술지원 체계
- 도입사례(reference)
- 각 제품의 레퍼런스 중 자신의 회사 환경과 가장 비슷한 사례에 대해 미팅하면서 구성 및 운영에 대한 부분 체크
- 가격비교
- 자사에 적합한 기능을 갖고 있는지 확인하여 후보 선정
- 회사의 예산과 최적화된 제품 선정
장애 발생
- 크게 세가지 범주의 장애
- 네트워크 장애
- OS 및 서비스 프로세스 장애
- 서버 하드웨어 장애
- 장애 감시를 위한 감시 Agent가 각 서버에 설치
- 각 Agent는 자기 자신과 상대 서버를 상호 감시(Heartbeat Check)
- 장애 발생 시 자동전환(Failover)
HA솔루션 장단점
- 장점 : 서비스 연속성 보장
- 단점 : 데이터가 실시간으로 복제되는 것
- 실수나 바이러스 등도 복제되어 감염, 전이 가능성
- 이를 위해 백업 솔루션이 추가 도입될 수 있음
- 백업과 HA는 다르다
- 백업 : 어떠한 상황에서도 원하는 데이터를 복원
- HA: 서비스 연속성을 유지
Active/Standby
- 한 대는 Active로 동작 나머지는 Standby로 동작
- 클러스터로 연결된 모든 서버는 Heartbeat로 연결된 서비스들의 상태를 주고 받음
- Active에서 장애가 발생하면 Standby에서 점수가 높은 서버에게 서비스가 이관됨
Active/Active
- 흔히 Load-Balancing(부하 분산) 모드로 불리기도함
- 더 높은 처리량(Throughput)을 가질 수 있지만 장애 발생 시, 다른 장비에부하가 커져 장애가 확대될 수 있음
- 더 스펙이 좋거나 많은 대수로 구성하는 것이 안정적
스토리지 이중화
- 스토리지 : 데이터가 최종적으로 저장되는 장치
- 네트워크 스토리지
- 여러 대의 컴퓨터가 네트워크 환경에서 공통적으로 사용하는 저장소
- 종류
- NAS(Network Attached Storage)
- SAN(Storage Area Network)
- DAS(Direct Attached Storage)
- NAS
- 네트워크 기반 공유 환경
- 일반적으로 파일 서버(저장소로) 사용
- 두 개 이상의 디스크와 기가비트 네트워크 카드를 자체적으로 가짐
- 일반적인 TCP/IP 네트워크를 사용하므로 별도의 네트워크 확장작업 필요X
- 기존에 사용하던 네트워크 환경에 연결만 하면 추가 됨
- 데이터 저장, 공유 서비스, 사용자 인증 서비스, 네트워크 환경이 중요
- NAS 이중화는 위의 4가지에 영향을 주는 장애 지점을 파악하고 모니터링 해야함
- SAN
- 공통으로 사용되는 저장소를 중앙에서 관리
- NAS는 중소규모, SAN은 대규모 환경에서 주로 구성
- Fiber Channel Switch를 사용해 하나의 스토리지 공유
- 중앙 관리를 통한 신뢰도 향상
- 여러 스토리지에서 분산된 여유 공간을 한곳에 모으는 효과
- 고성능 하드웨어와 광채널 형태의 네트워크 환경으로 구성되므로 NAS 등의 다른 네트워크 스토리지보다 빠르다
- 비싸고 설계가 복잡하다
- DAS
- 데이터 서버와 외장형 저장장치를 전용 케이블로 직접 접속하는 방법
- SCSI, IDE, Fiber Cable 등
- 전통적인 접속 방법으로 현재도 가장 많이 사용됨
- 성능 보장, 안정성 보장
- 확장성 문제, 유연성 문제
- 파일 시스템 공유 기술 없음
- 데이터 서버와 외장형 저장장치를 전용 케이블로 직접 접속하는 방법
RAID(레이드 : Redendant Array of Inexpensive Disks)
- Inexepensive or Independant
- 하드디스크를 이중화 시키는 방법
- 저장장치 가용성을 높이는 방법
- 다양한 방식 존재
종류
- RAID 0 (스트라이핑 : Striping)
- 디스크 여러개를 묶어 하나로 사용
- 분리해서 읽고 쓰기 때문에 속도가 빠름
- 단점은 하드가 하나 Fault 나면 전부 날아감
- 이를 보완한 것이 RAID 5
- RAID 1 (미러링 : Mirroring)
- 똑같은걸 두개 이상의 하드디스크에 저장
- RAID 5 (스트라이핑 + 패러티 : Striping + Parity)
- RAID 0의 단점을 보완하기 위해 복구용 정보를 저장하는 드라이브
별개로 실제 필드에서는 RAID 10 (Mirroring + Striping)을 많이 사용
'Tech > Other' 카테고리의 다른 글
JOSE(JSON Object Signing and Encryption) (4) | 2022.07.20 |
---|---|
GitHub Copilot 후기 (0) | 2021.11.26 |
vMotion(Live Migration) (0) | 2021.11.23 |
CPU는 어떻게 동작할까 (2) | 2021.08.03 |