인프라에서 저장소의 역할을 담당하는 스토리지의 개념에 대해서 정리하였습니다. 인프라 관련 도서1 및 위키피디아를 참고하여 작성하였습니다.
스토리지란?
스토리지는 디지털 데이터를 유지하는데 사용되는 컴퓨터 구성 요소와 기록 매체로 구성되어 있습니다. 일반적으로 전원이 꺼지면 데이터가 손실되는 휘발성 기술을 메모리
라고 하고, 비휘살성 기술을 스토리지
라고 부릅니다.
storage wikipedia2 참조
스토리지의 종류
DAS
DAS(Directed Attached Storage)로 서버에 직접 연결한 스토리지를 의미합니다. 가장 전통적인 방식으로 서버와 스토리지가 직접 연결되어 있어 별도의 네트워크 연결이 필요없습니다.
NAS
NAS(Network Attached Storage)는 서버와 스토리지가 각각 이더넷 케이블로 연결되어 통신합니다.
SAN
SAN(Storage Area Network)는 SAN 스위치를 통해 서버와 스토리지를 연결하여 성능이나 확장성을 보장하는 연결 방식입니다.
스토리지 성능 확장
스토리지의 가용성 및 성능 개선을 위한 방법을 소개해드리고자 합니다.
주로 RAID(Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks)3라고 불리는 기법을 사용하는데, 기본 개념은 미러링(Mirroring)과 스트라이핑(Striping)을 사용합니다.
Disk Array라고도 불립니다.
RAID
RAID 레벨은 0부터 다양한 레벨이 존재하며 목적에 맞는 레벨 선택이 필요합니다. 각 레벨마다 필요한 최소 디스크 수가 다릅니다.
RAID는 주로 미러링과 스트라이핑의 조합 및 수준에 따라 레벨이 나눠집니다.
미러링
미러링은 디스크의 데이터를 별도의 디스크에 추가 복제하는 기법을 말합니다. 단일 디스크에 장애가 발생한 경우, 데이터 복구가 가능하여 가용성 확보가 가능합니다. 실시간으로 디스크 변화를 추적하여 미러링된 디스크에 반영되며, 장애복구 목적으로도 사용됩니다.
스트라이핑
데이터 스트라이핑은 논리적으로 연속된 데이터(파일 등)을 N등분하여 각 디스크에 순차적으로 저장하는 기법을 말합니다.
단일 디스크를 사용할때보다 입출력 성능 개선이 있고, 전체 데이터 처리량을 증가시킬 수 있습니다.
- RAID 0의 경우, 패리티(오류 검출 기능) 없이 스트라이핑만 사용하여 디스크 성능 개선의 이점은 있지만, 가용성 확보는 어렵습니다.
- RAID 1의 경우, 패리티(오류 검출 기능) 없이 미러링만 사용하여 가용성 및 멀티 쓰레드 환경에서 읽기 성능 향상이 있지만, 쓰기 성능 저하가 발생할 수 있습니다.
다른 RAID 레벨의 경우에는 N개의 디스크에 스트라이핑, M개의 디스크에 데이터 미러링하여 가용성 및 성능 개선이 가능합니다.
추가적으로, 핫 스패어(Hot spare)라는 개념이 있습니다.
디스크 자체 고장이 발생한 경우, 리빌딩이라는 내부 연산을 통해 다른 디스크로 대체합니다.
데이터 복제
데이터 복제의 경우에는 스토리지의 안정성과 기능성을 증가시키기 위해 사용됩니다. 스토리지의 데이터를 내부 혹은 외부의 별도의 저장공간에 복제하여 저장하는 기법을 의미합니다. 주로 중요 데이터 백업 및 재해 복구를 위한 목적으로 활용됩니다.
스토리지 복제의 경우 크게 3가지 방식으로 가능합니다.
- 특정 시점 풀카피(full copy)
- 스토리지 변경 스냅샷(snapshot)
- 실시간 동기화
결론
서버 내의 비휘발성 데이터로 활용되는 스토리지에 대해서 설명하였습니다. 메모리에 비해 가격대비 용량이 크지만, 기업 내에 데이터에 저장하는 데이터 크기가 증가함에 따라 단일 스토리지만으로는 데이터를 저장하기 어렵습니다. 또한 서버의 데이터를 저장하는 만큼 고가용성이 요구되고 이를 지원하기 위한 기술등이 다양합니다. 스냅샷, 성능 및 설계시 고려사항 등 추가적인 설명은 추후 업데이트 예정입니다.