스토리지란...

SaGo_MunGcci·2022년 8월 11일
0

Computer Science

목록 보기
3/6

Definition Access

  • AWS를 사용하면서 AWS의 스토리지인 S3버킷을 사용했는데 정확이 뭔지 알고 사용해야겠다는 생각에 공부했다.

  • S3에 대해서 공부하다 보니 스토리지라는 개념을 먼저 알아야 겠다고 생각해서 같이 정리했다.



Mechanism

출처 : https://tech.gluesys.com/blog/2019/12/02/storage_1_intro.html

정리가 너무 잘되어있다.

1.데이터 스토리지

전세계 9000만명 이상 되는 넷플릭스 서비스 이용자들은 매주 10억 시간 이상 영화나 드라마를 시청한다고 한다. 넷플릭스 비디오 서비스는 세계 각지의 AWS 데이터센터를 통해 끊김 없이 스트리밍 되며, 시청자들의 취향 정보를 빅데이터로 수집해 비디오 추천 서비스를 제공한다. 사실 이러한 서비스는 21세기를 살아가는 저희에게 당연하다고도 생각될 수 있는데, 사실 이 경지에 이르기까지는 많은 기술적 발전이 요구되었다. 그 중 하나가 바로 데이터 스토리지 기술의 발전이다.

데이터 스토리지란 말 그대로 데이터(정보)를 저장하는 공간을 말한다. AWS나 구글 데이터센터에 무수히 꽂혀 있는 하드디스크에서 지금은 거의 사용되지 않는 플로피 디스크까지 모두 아울러 데이터 스토리지라고 할 수 있다.

<기업용 디스크 스토리지의 과거와 현재>

데이터 스토리지의 종류는 기술의 발전에 따라 변화해 왔고 사용하는 방식 또한 바뀌어 왔다. 초창기 서버에는 저희가 아는 RAM과 하드디스크, 즉 주 기억장치(primary storage)와 보조 기억장치(secondary storage)가 구분되어 있지 않았다. 하지만 늘어나는 용량에 맞추다 보니 공간적인 한계에 봉착했고, 그 결과 구분된 스토리지 시스템을 가진 보조 기억장치가 탄생했다. 이는 저희가 아는 직접 연결 스토리지(Direct-attached Storage, 이하 DAS) 개념의 첫 사례가 되었다. 이와 같이 서버와 스토리지를 구분함으로써 업무 효율을 위해 보다 정교하고 복잡한 아키텍처를 구성할 수 있게 되었다.

<최초의 하드디스크인 IBM 350 디스크 스토리지>

1)SAN: Storage Area Network

하드디스크의 용량 증가와 소형화가 진행되면서 공간 효율적인 서버를 구성할 수 있게 되었지만 서버의 용량 효율이 문제였다. 서버의 스토리지 용량을 추가해야 할 경우, 부족분을 채우기 위해 새 디스크를 추가하거나 여유 공간이 있는 다른 서버에서 디스크를 물리적으로 빼서 추가해야 했습니다. 이러한 불편함을 해소하기 위해 스토리지 영역 네트워크(Storage Area Network, 이하 SAN)가 고안되었다.

개요
SAN 방식은 여러 스토리지를 하나의 네트워크에 연결시키고, 이 네트워크에 서버를 연결해 스토리지에 접속한다는 개념이다. 네트워크에 묶인 스토리지들은 가상으로 중앙화된 논리 볼륨(logical volume)을 형성하고, 필요에 따라 각 서버에 공간을 논리적으로 할당할 수 있다. 사용자는 LUN(Logical Unit Number)이라는 고유 번호를 통해 가상으로 할당된 디스크 드라이브에 연결된다.

<SAN 환경 기본 개념도>

구성
SAN 환경을 구성하기 위해서는 SAN 스위치라는 기기를 필요로 하게 된다. SAN 스위치는 위에서 설명 드렸던 개념을 구현하기 위해 스토리지와 서버를 중계하는 역할을 한다. SAN 방식에서는 위 그림과 같이 각 서버와 스토리지를 광 케이블로 SAN 스위치와 연결해 데이터를 주고 받는다.

SAN의 주요 스토리지 프로토콜1은 다음과 같습니다:

iSCSI (Internet Small Computer Systems Interface)
파이버 채널 (Fibre Channel)
iSER (iSCSI Extensions for RDMA)

블록 스토리지

SAN 환경에서는 파일을 저장하는 방식으로 블록 스토리지(block storage)라는 개념을 사용한다. 블록 스토리지는 데이터를 블록이라는 일정한 크기의 조각으로 나누어 저장하는 것을 말한다. 각 블록들은 저장된 위치(특정 스토리지 시스템의 특정 디스크)에 대한 주소를 가지고 있어 서버의 요청에 따라 블록들을 재구성해 하나의 데이터로 서버에 전달된다.

2)NAS: Network Attached Storage

사무실의 업무 환경이 종이에서 전자문서로 넘어가기 시작하면서 업무 문서나 자료들을 동시에 공유하고 수정하는 일이 많아졌다. 이처럼 스토리지에 접속하는 사용자가 증가하고 공유가 필요한 자료가 많아지면서 보다 쉽고 편리하게 데이터를 공유할 방법이 필요한데 이러한 배경 속에서 SAN과 함께 등장한 것이 바로 네트워크 결합 스토리지(Network-attached Storage, 이하 NAS)이다.

개요
NAS도 마찬가지로 네트워크를 통해 서버나 클라이언트가 스토리지와 연결하지만 SAN과는 다르게 이더넷을 통해 연결하는 방식을 취한다. 또한 스토리지를 SAN 스위치와 연결하지 않고 이더넷 케이블을 사용해 네트워크에 연결한다. 단적인 예로, 인터넷 공유기에 NAS를 연결하면 같은 이더넷 네트워크에 연결된 PC로 NAS에 접근할 수 있다. 이처럼 범용적인 네트워크를 사용하는 관계로 설치나 유지 관리가 쉽지만, 같은 이더넷에 연결된 장비들과 네트워크 자원을 공유하기 때문에 대역폭에 한계가 있을 수 있다.

<NAS 기본 개념도>

구성
NAS는 자체적으로 파일4 서비스를 제공하며, 대표적으로 NFS나 CIFS와 같은 스토리지 프로토콜을 사용한다. NAS의 주요 스토리지 프로토콜은 다음과 같다:

NFS (Network File System)
SMB/CIFS (Server Message Block/Common Internet File System)
FTP (File Transfer Protocol)
HTTP (Hypertext Transfer Protocol)
AFP (Apple Filing Protocol)

파일 시스템

NAS의 경우 블록보다 상위 개념인 파일(file)을 저장 단위로 하고 있다. 파일은 폴더에 저장되며 하나의 폴더에 여러 하위 폴더가 겹겹이 존재하는 계층적(hierarchical) 구조를 가지고 있다. 쉽게 생각해서 윈도우의 파일 탐색기를 떠올리면 된다. 각 파일은 이름과 파일에 대한 정보를 나타내는 메타데이터를 가지며, 이 메타데이터를 활용해 어느 폴더의 하위 디렉토리에 파일이 있는지 알 수 있다.

NAS는 스토리지 시스템이 포함된 어플라이언스 형태와 스토리지 시스템이 포함 안 된 ‘게이트웨이’ 형태 두 가지 방식으로 구성될 수 있다. 게이트웨이의 경우, 스토리지 부분을 SAN과 연결해서 블록 서비스와 함께 CIFS나 NFS와 같은 파일 서비스를 제공할 수 있다.

SAN과 NAS의 용도

이와 같이 SAN과 NAS는 각각의 장단점이 있으며 그 쓰임새 또한 다양하다. 아래와 같이 각각의 용도를 소개해 보고자 한다.

SAN

  • 데이터베이스8: 온라인 금융 거래와 같이 빠른 속도를 요구하고 지연에 민감하며 대규모 데이터베이스를 다루는 환경에 적합하다.

  • 가상화 환경: 가상 머신과 호스트간 빠른 입출력 속도를 제공해야 하는 대규모 가상화 구축 환경에 적합하다.

  • 영상 편집: 후반 작업과 같은 영상 편집 작업에 있어서 빠른 전송 속도와 낮은 지연은 필수 불가결이다. 이 때문에 워크스테이션을 DAS로 직접 연결해 사용하는 경우도 있지만 효율성을 위해 고성능 SAN을 사용한다.

NAS

  • 파일 공유: NAS의 주 용도이며, 데이터를 중앙화하고 스토리지 공간을 효율적으로 활용하는데 적합합니다. 개인용부터 중소기업, 대기업 사무실까지 광범위하게 활용된다.

  • 가상화 환경: 고성능 NAS의 경우 소규모 가상화 환경을 운영하거나 가상 데스크톱 환경9을 구축하는데 적합한 성능과 기능을 가지고 있다.

  • 아카이브10: 스토리지 공간을 필요에 따라 확장할 수 있는 스케일 아웃 NAS의 경우 단순히 데이터를 묵혀 두는 방식의 아카이브가 아닌, 필요에 따라 종종 접근이 가능한 아카이브로서 적합하다.

유니파이드 스토리지?

유니파이드 스토리지(멀티 프로토콜 스토리지라고도 한다)는 블록과 파일 프로토콜을 모두 지원해 말 그대로 SAN과 NAS를 합한 스토리지를 말한다. 하나의 유니파이드 스토리지 시스템은 파일 프로토콜인 CIFS와 NFS를 지원함과 동시에 iSCSI와 파이버 채널을 포함한 블록 수준의 프로토콜도 지원한다.

유니파이드 스토리지의 장점은 스토리지 시스템을 도입할 때 비용과 수고를 아낄 수 있다는 점이다. SAN이나 NAS를 따로 구매해 구축하는 것보다 멀티 프로토콜 환경을 지원하는 유니파이드 스토리지로 스토리지 시스템을 구축하는 편이 비용 효율적이기 때문에 두 방식의 스토리지 인프라를 필요로 하는 중견급 기업으로부터 수요가 많다. 다만 파일 입출력이 블록 입출력 성능에 영향을 끼치는 경우가 있기 때문에 고속 데이터 처리가 주 용도인 블록 스토리지로서의 성능을 제대로 발휘하기에는 한계가 있다.



Retrospection

  • 스프링 개발 공부는 끝이 없는 것 같다.


profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글