반응형
개인적으로 스토리지 공부를 위해 정리한 내용들입니다.
함께 공부하자는 취지로 내용을 공유합니다.
얼마 전 한국감정원에서 주택청약 관련 서비스를 제공하기 위해 개설한 ‘청약홈’ 웹사이트가 오픈 첫날에 서버 과부하로 다운되었다고 합니다.
해당 기관 관계자에 의하면, 7만 명 동시접속이 가능하게 서버를 증축했음에도 예상치 못한 특정 서버 과부하가 있었다고 하는데요, 이처럼 기업 IT 인프라에 있어서 네트워크 대역폭, 스토리지, 애플리케이션의 증가율은 예측하기가 어려워 IT 관리자분들은 항상 이러한 확장성 문제와 직면하게 됩니다.
단순히 사업 확대나 사용자증가뿐만 아니라, 데이터 레이크의 형성과 빅데이터 활용의 확대로 기업의 데이터가 예상보다 빠르게 증가해 IT 관리자들은 스토리지 인프라를 확장하는 데 있어서 자사 특성에 적합하고 비용 효율이 높은 방식을 찾는 것이 불가결해졌습니다.
스토리지에 있어서 확장성이란, 시스템이 제대로 기능하기 위해 요구사항에 맞추어 용량 및 성능을 조정하는 것을 말합니다. 예를 들어, 스튜디오에서 여러 워크스테이션이 하나의 공유 스토리지를 통해 영상 편집을 진행할 시, 공유 스토리지의 최대 용량이 부족해지거나 워크스테이션의 트래픽이 과부하 되는 경우가 있습니다. 이 경우 용량 및 성능을 늘리기 위해 시스템의 확장이 필요한데, 그 방식을 스케일업과 스케일아웃으로 구분할 수 있습니다.
1. 스케일 업과 스케일 아웃의 정의
- 스케일 업(Scale-up) : 기존의 하드웨어를 보다 높은 사양으로 업그레이드하는 것을 말함
- 하나의 서버의 능력을 증강하기 때문에 수직 스케일링(vertical scaling)이라고도 함
- ex) 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드시키는 것
- 스케일 아웃(Scale-out) : 장비를 추가해서 확장하는 방식
- 기존 서버만으로 용량이나 성능의 한계가 있으면, 비슷한 사양의 서버를 연결해 추가된 분만큼 용량이 증가할 뿐만 아니라 워크로드를 분담해 성능을 높이는 병렬 컴퓨팅을 구현
- 사용자는 분산 파일 시스템이나 글로벌 네임스페이스(global namespace)를 통해 스토리지 서버 클러스터를 하나의 시스템으로써 인식
- 서버를 추가로 확장하기 때문에 수평 스케일링(horizontal scaling)이라고도 불림
2. 장단점 비교
(1) 스케일 업
- 추가적인 네트워크 연결 없이 용량을 증강할 수 있음
- 추가되는 용량이나 업그레이드 비용만 부가되기에 비용적인 증강은 스케일아웃에 비해 낮음
- 비교적 업그레이드가 쉽고, 필요 장비와 전력 소모를 어느 정도 아낄 수 있음
- 스케일업도 듀얼 컨트롤러로 고가용성(High Availability, HA) 구성이 가능해 다운타임을 줄일 수 있음
- 스케일업을 할수록 기존 하드웨어의 냉각, 공간, 전력공급 등의 문제가 발생할 수 있음
- 하드웨어 허용 범위 내에서만 확장이 가능하기 때문에 그 이상으로 업그레이드를 하고자 한다면 새로운 장비로 교체하는 방법밖에 없음
- 새 장비로 교체 시에도 데이터 전체의 마이그레이션 작업이 필요해 HA 구성이 아닌 이상 다운타임이 불가피하며, 저장된 데이터양에 따라 작업이 수개월 걸리는 경우도 있음
(2) 스케일 아웃
- 스케일아웃 아키텍처의 가장 큰 장점 중 하나는 확장의 유연성
- 스케일아웃 스토리지가 보편화 되기 전, 스케일업 스토리지 시스템을 구축한 기업들은 향후 확장 가능성에 대비해 스토리지 어레이를 필요 이상으로 사두곤 했음
- 다만 예상과는 달리 요구되는 정도가 달랐거나 확장의 필요성이 없어졌을 경우 구매해 놓은 만큼 손해가 발생함
- 현재 스케일아웃 방식으로 스토리지 시스템을 구축하는 기업은 서버를 필요한 만큼만 도입해 놓고, 장기적인 용량 증가 추이를 예측할 필요 없이 그때그때 필요한 만큼 서버를 추가해 용량과 성능을 확장(pay-as-you-grow)할 수 있게 됨
- 스케일아웃의 클러스터링이 주는 이점
- 성능 향상
- 특정 데이터를 찾고자 할 때 사일로(각 부서, 사업단위나, 브랜치별로 데이터가 일치하지 않는 증상)화된 시스템을 하나하나 찾아보기보다는 통합된 시스템에서 찾는 것이 더 쉽고 빠름
- 하나의 시스템을 전반적으로 모니터링할 수 있어 이슈를 사전에 탐지하기 쉽고, SLA 등 관리 정책을 일관적으로 정할 수 있어 요구사항에 적절히 대처할 수 있음
- 인프라의 노후화
- 기업의 수익과 직결된 신기술이 연 단위로 발표되고, 높은 IT 투자 비용이 드는 전자 금융 시스템에서 적게는 ERP까지 쓰임과 투자 비용이 다변화되는 상황에서 노후화로 인한 업그레이드 주기는 이전보다 좁혀지고 있음
- 예전에는 한 번 구축된 시스템의 교체 주기를 10년 이상으로 보고 있었지만(아직도 그런 기업이나 공공기관들이 있긴 합니다만), 최근에는 짧게 3년에서 최대 7년까지로 보는 기업이 늘고 있음
- 교체 주기가 잦아지는 만큼 ROI(Return on Investment, 투자 수익률)를 고려했을 때 스케일아웃이 스케일업에 비해 유리하다고 할 수 있음
- 스케일아웃 스토리지는 단순히 기존 서버에 새 서버를 연결해서 사용하거나 다운타임 없이 오래된 서버를 인프라에서 제거하면 되지만, 스케일업 스토리지는 기존 하드웨어의 일부를 교체하거나 전체를 바꾸어야 하기 때문
- 스케일아웃의 단점
- 무엇보다 여러 노드를 연결해 병렬 컴퓨팅 환경을 구성하고 유지하려면 아키텍처에 대한 높은 이해도가 요구됨
- 여러 노드에 워크로드를 균등하게 분산시키기 위해 로드 밸런싱(load balancing)이 필요
- 노드를 확장할수록 문제 발생의 잠재 원인 또한 추가한 만큼 늘어남
- 개별 노드에는 주로 x86 범용 서버가 사용되기 때문에 개별적인 성능이나 안정성 면에서는 하이엔드 하드웨어보다 뒤떨어짐
- 소프트웨어 가격이 스케일업에 비해 비싸고, 복수의 서버를 연결하기 때문에 케이블링이 복잡함
3. 활용
- 스케일아웃 방식이 레거시로서 취급되는 스케일업 방식보다 무조건 뛰어나다고 단언할 수는 없음
- 제공할 애플리케이션의 종류나 스토리지의 용도 등에 따라 장단점이 있을 뿐임
- 데이터베이스 워크로드 타입에 따라서 그에 적합한 확장 방식도 달라짐
- 스케일 아웃 구성이 효율적인 환경
- 빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 애플리케이션 환경 → 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문
- 단지 백업하고자 하는 데이터가 수십 TB에서 페타바이트급을 넘어선다면 스케일아웃 스토리지를 도입하는 편이 성능 면과 비용효율 면에서 더욱 뛰어남
- 복수의 노드에 부하 되는 백업 워크로드를 분산 시켜 백업속도를 높일 수 있고, 필요에 따른 유연한 확장을 할 수 있기 때문
- 중복제거(deduplication) 기능을 노드에 걸쳐서 적용할 수 있기 때문에 중복제거 효율도 더욱 높일 수 있음
- 스케입 업 구성이 효율적인 환경
- 온라인 금융거래와 같이 워크플로우 기반에 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경
- 백업용 스토리지를 구축하는 데 있어서 향후 수년간 데이터 증가 폭이 미미하거나 규모가 작은 경우 스케일업 방식으로 구축하는 편이 경제적임
- 올플래시 스토리지의 경우
- 올플래시 스토리지 컨트롤러는 SSD의 고속 입출력을 지원할 수 있게 디자인되었기 때문에 기존 컨트롤러와는 달리 병목현상이 적음
- SSD는 공간 대비 용량이 커서 하드디스크보다 용량 확장의 한계가 낮은 편이고, 올플래시 시스템의 용도상 백업이나 아카이빙 보다는 데이터베이스나 가상화 환경에 사용되기 때문에 용량 확장에 덜 구애되는 편임
- 이와 같은 플래시의 특성으로 스케일업 방식의 단점이 보완되어 올플래시 스케일아웃 스토리지에 비해 넓은 사용처를 가짐
- 다만 그 이상의 유연성이나 성능 확장이 요구되면서 병렬 입출력 처리가 필요한 환경이라면 스케일아웃 방식이 타당한 선택이라 할 수 있음
4. 정보 출처
https://tech.gluesys.com/blog/2020/02/17/storage_3_intro.html
반응형
'IT 이야기 > 공부합시다' 카테고리의 다른 글
[스토리지] 데이터 티어링(스토리지 티어링) (0) | 2023.06.16 |
---|---|
[스토리지] 중복제거 (2) | 2023.06.16 |
[스토리지] 스토리지 프로토콜 (0) | 2023.06.16 |
[스토리지] DAS, SAN, NAS (0) | 2023.06.16 |
[스토리지] LVM(Logical Volume Management) 기본 아키텍처 (0) | 2023.06.16 |
댓글