brunch

You can make anything
by writing

C.S.Lewis

by Sunny the New Aug 10. 2023

스토리지 구성 전 알아야 할 것

[연재] 스토리지 A to Z

스토리지를 구매하고 구성해야 하는 과정까지 왔다면, 이제 어떻게 구성할 것인지에 대해 고민해 보아야 합니다. 물론, 여러 가지 상황에 따라 다르게 구성해야 하지만, 기본적인 스토리지의 구조에 대해 아실 수 있다면 좀 더 정확한 스토리지 사용을 하실 수 있으실 것입니다.


[1] 네트워크 구성

네트워크에 대한 구성은 스토리지 종류 중 NAS에만 해당하는 부분입니다.


NAS를 구성하려면 일단 주 용도가 무엇인지 파악해야 합니다. 

[부록-2탄]에서 알아본 네트워크 지식에 대한 내용 중에서 우리는 네트워크가 공유기, 허브를 거쳐 각 기기에 연결된다고 했습니다. 하지만, 네트워크는 용도에 따라 여러 구성 방법을 택할 수 있는데요, 일단 NAS의 경우 완전 저가가 아닌 이상 네트워크 포트를 2개 이상을 가지고 있습니다. 이를 이용하여 여러 가지 방법으로 구성할 수 있는데요, 한번 알아보도록 하죠.


1. 일반적인 구성

[그림1] NAS의 일반 구성

위와 같이 일반적으로 구성할 경우, LAN 환경에 있는 모든 PC는 NAS에 접속할 수 있게 됩니다. NAS의 Gatway(게이트웨이)를 입력하는 부분 (설정하는 메뉴는 다르지만 모든 NAS가 Gateway 설정을 제공합니다.)를 공유기 IP (192.168.0.1)로 설정하고, DNS를 인터넷 업체 DNS로 설정한다면, NAS가 WAN (인터넷) 환경에도 접속할 수 있습니다. 또한 IP SAN과 같은 IP가 필요한 SAN 볼륨을 LAN에 연결된 서버에서 연결할 수도 있습니다.


이 방식으로 설정을 하면, 각 NAS회사에서 제공해 주는 앱들을 인터넷을 통해 받을 수도 있고, 공유기 설정에 따라 외부에서 NAS에 접속할 수도 있지요. NAS의 펌웨어 업데이트도 인터넷을 통해 간편하게 업데이트할 수 있습니다. 편의성, 공유성이 강조된 구성이라 볼 수 있습니다. 문서 공유, 백업, IP SAN 등 모든 환경에 유연하게 대처할 수 있는 가장 일반적인 구성입니다.


2. 1:1 구성

[그림2] NAS와 서버의 1:1 구성


1:1 구성은 주 용도가 한정적일 경우 사용합니다. 서버와 NAS를 1:1로 연결하여 LAN과 분리되고 특정 서버(클라이언트)에게만 저장소를 제공할 경우 사용합니다. 이 경우에는 서버가 LAN 포트를 2개 이상 보유하고 있어야 하며, 이 중에 NAS에 연결할 수 있는 여유 LAN 포트가 1개 이상 있어야 합니다. 
 
 이 구성의 장점은, 외부에서 서버를 통하지 않으면 NAS에 침투할 수 없기 때문에 
NAS가 외부 침입으로부터 보호될 수 있으며, 장애 포인트가 줄어들어 장애 진단이 빠릅니다. 또한, 연결이 단순하기 때문에 전송 손실이 줄어들어 조금 더 안정적으로 데이터 송수신이 이루어질 수 있지요. 1:1로 연결하기도 하지만, 중간에 스위치를 두어 이중화를 하기도 합니다.


3. 복합 구성

[그림3] 복합 구성


이 구성도는 조금 복잡한 구성을 가지고 있습니다. 물론 이보다 훨씬 복잡한 구성도 있지만 예시이기 때문에 다른 추가적인 장비 없이 구성된 비교적 간단(?)한 그림입니다.


“서비스 NAS”는 네트워크 포트(LAN 포트)를 3개 사용합니다. 

1번 포트는 공유기와 연결되었기 때문에, LAN 환경의 모든 사용자 및 인터넷을 할 수 있게 설정되었습니다.

2번 포트는 서버와 1:1로 연결되어 안정적인 데이터 전송을 하게 됩니다. 이 경우는 보통 IP SAN용 볼륨을 별도로 생성하여 서버에 연결하게 됩니다.

3번 포트는 “백업 NAS”와 1:1로 연결되어 서비스 NAS의 데이터를 백업 NAS로 백업합니다.


여기서 주의할 점은, NAS의 세 개의 IP가 대역이 다른 것을 볼 수 있습니다. (192.168.0.XXX / 10.10.10.XXX / 100.100.100.XXX) 
이렇듯 한 개의 장비에 두 개 이상의 네트워크를 연결해야 할 때는 다른 네트워크의 간섭을 방지하기 위해 서로 다른 IP대역대로 구성해야 합니다.



[2] 풀과 볼륨의 구성

스토리지는 보통 풀(POOL)과 볼륨(Volume)의 구성과 연결을 통해 데이터를 저장합니다. 

풀과 볼륨이 어떤 것인지 알아보겠습니다.


1. 풀(Pool)

풀은 스토리지에서 사용할 모든 용량들을 하나로 묶는 단위이며, 소규모 스토리지에서는 RAID를 구성하는 물리적인 단위로 사용하기도 합니다. 물론 엔터프라이즈급 장비에서는 Pool을 물리적으로 사용할 수 있는 공간보다 훨씬 크게 잡아 두고 차후에 디스크를 추가하거나 압축 기능 등을 사용해서 효율적으로 사용하기도 하나, 소규모 단위에서 스토리지를 관리할 경우에는 파악하기 쉬운 물리적 용량만큼의 Pool을 잡는 것을 선호합니다. 


2. 볼륨(Volume)

볼륨은 스토리지에서 사용하는 Dataset의 단위이며, 불리는 단어는 브랜드마다 다르지만 윈도우나 맥, 리눅스 등에서 여러분이 직접 마주하는 논리적 저장 단위입니다. Pool이라는 공간 내에 생성되며, 여러분에게 익숙하고 비슷한 것으로는 C드라이브, D드라이브와 비슷하다고 생각하면 됩니다. Pool 내에 한 개 또는 여러 개의 볼륨이 생성될 수 있습니다. 볼륨에는 데이터를 공유할 수 있는 File System과 서버에 직접적으로 연결되는 Bolck 형태가 있습니다.


파일 시스템(File System) 볼륨

파일 시스템은 NAS 스토리지 전용 볼륨이며, 파일 공유를 위해 SMB (네트워크 드라이브), NFS (리눅스 마운트)과 같은 공유 프로토콜이나 NAS 자체 애플리케이션을 설치할 때 필요한 볼륨 형식입니다. 사용자의 데이터뿐만 아니라 NAS의 OS 및 프로그램이 설치되는 영역이기도 하기 때문에 자신이 원하는 용량의 20% 정도 여유를 가지고 전체 용량을 계획하는 것이 좋습니다.


파일 시스템 볼륨은 윈도우, 맥, 리눅스, 기타 어떤 OS가 저장소가 필요해도 모두 연결될 수 있다는 유연성이 있어 공유 또는 서로 다른 OS 내에서 데이터 사용을 원한다면 파일 시스템 볼륨을 사용하는 NAS를 고려해야 합니다.


블록(Block) 볼륨

블록 볼륨은 클라이언트에 직접 디스크를 삽입하는 것과 같은 개념으로 사용할 수 있는 볼륨입니다.

스토리지에서는 블록 볼륨에 대한 생성/삭제/연결만 관리할 수 있으며, 파티션 포맷 형식 및 데이터 입출력은 모두 클라이언트에서 관리하게 됩니다. 파일 시스템 볼륨과 같이 유연하지 않기 때문에 여러 가지 외부 규격이 클라이언트와 일치해야 연결할 수 있습니다.



스토리지는 블록 볼륨과 클라이언트를 연결하는 방식으로 통상 세 가지를 사용합니다.


① JBOD 방식

JBOD 방식은 Just a Bunch Of Drive의 약자로, SAS 케이블을 이용해 연결합니다. JBOD은 클라이언트의 연결에 사용하기도 하지만, 스토리지의 용량을 확장하는 용도로 가장 많이 쓰이고 있습니다. 클라이언트에 연결하기에는 비효율적인 면이 있어 자주 쓰이지는 않지만,  백업 클라이언트 서비스에는 아직 많이 쓰이고 있습니다.


② SAN 방식

SAN(Storage Area Network) 방식은 가장 빠른 스토리지 연결 방식으로, FC(Fibre Channel) 규격의 단자를 통해 연결하는 방식입니다. LAN과는 독립되어 있고, 클라이언트에 FC규격에 맞는 PCI 카드나 단자가 있어야 합니다.


③ iSCSI 방식

블록볼륨을 iSCSI라는 통신 프로토콜을 이용해 사용자의 서버나 PC에서 iSCSI 초기자(윈도우/리눅스는 iscsiadm)를 활성화하는 방식입니다.

원래 블록 볼륨은 ①이나 ②와 같이 클라이언트에 직접 연결하여 사용하는 방식으로 사용해야 하나, LAN케이블을 통해 블록 볼륨을 간접적으로 연결할 수 있도록 만든 것이 iSCSI 프로토콜입니다. 외부 연결 방식은 일반적인 랜케이블 연결방식과 같고, 스토리지와 클라이언트의 운영체제에서 제공하는 iSCSI 프로그램으로 이용해서 연결할 수 있습니다. 모든 블록 타입의 볼륨과 동일하게 스토리지에서 관리할 수 없고 클라이언트에서 데이터를 관리해야 합니다. 이런 특성으로 인해 iSCSI 볼륨 또한 특별한 솔루션을 사용하지 않는 한 스토리지 내에서 데이터를 공유할 수 없습니다.



4. 스냅샷(Snapshot)

모든 스토리지에는 스냅샷 기능이 포함되어 있습니다. 스냅샷은 현재의 파일 또는 볼륨의 정보를 기록해 두어 문제가 발생하면 스냅샷을 찍은 시점으로 되돌릴 수 있는 기능입니다. 


스냅샷은 백업과는 조금 다른 기능으로, 실제 파일이나 볼륨을 외부에 백업하는 것이 아니라 스냅샷을 촬영하는 시점에서 파일들의 상태를 기록만 하고 있다가 차후 필요할 때 되돌리는 (Rollback) 역할을 합니다.

최근 랜섬웨어 (Ransomware)가 유행한 탓에 스냅샷 기능이 많이 제안되고 있으나, 컴퓨터 자체를 접근 제한시키는 랜섬웨어에게는 대응하기가 어렵습니다.

또한 스냅샷은 스토리지 또는 디스크에 장애가 발생하면 데이터를 잃을 수도 있다는 점에서, 백업과 차이점이 있습니다. 

스냅샷을 구성하기 위해서는 가급적이면 전체 필요한 용량의 10~15%의 여유 공간을 생각해야 합니다. 보존을 해야 하는 데이터의 복사본이 필요하거나, 데이터가 가득 차면 캐시 영역을 사용할 수 없게 되어 장애가 생기는 경우가 있기 때문입니다.


5. 백업 구성

백업은 기업에서 스토리지에 장애가 발생하여 데이터 소실이 될 가능성이 있을 때, 데이터를 살릴 수 있는 가장 최고의 예방책입니다.

 

직접 데이터를 주고받는 스토리지에 문제가 발생하면 백업 스토리지로 연결을 재설정하거나 백업 스토리지를 메인 스토리지로 변경하여 바로 데이터를 주고받을 수 있는 상태를 만들 수 있기도 하며, USB 외장하드 방식 백업일 경우에는 장애 시 편리하게 필요한 사용자 PC의 컴퓨터에 연결하여 자료를 얻을 수 있습니다. 메인 스토리지에서 백업 스토리지로 백업하는 것을 2단계 백업이라고 합니다.


사실, 회사 데이터 관리의 끝판왕은 백업입니다. 백업을 얼마나 잘하고 있는지가 자신의 데이터를 얼마나 지킬 수 있는지를 결정합니다.

만약 스토리지에 넣을 데이터가 아주아주 중요하다면, 백업 스토리지 구축을 고려하시는 것이 좋습니다.


긴 글 읽어주셔서 감사합니다. 다음에는 마지막 주제인 장애에 대해서 이야기해 보도록 하겠습니다.

작가의 이전글 어떤 스토리지를 선택해야 할까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari