개요
네트워크 연결 스토리지(Network-Attached Storage, NAS)는 네트워크로 연결된 기기가 저장된 데이터에 더 쉽게 액세스할 수 있는 파일 수준 스토리지 아키텍처입니다. NAS는 스토리지 영역 네트워크(Storage Area Network, SAN), 그리고 직접 연결 스토리지(Direct-Attached Storage, DAS)와 더불어 3대 주요 스토리지 아키텍처 중 하나입니다. NAS는 빌트인 보안, 관리, 내결함성 기능을 통해 네트워크에 스토리지용 단일 액세스 포인트를 제공합니다.
NAS는 스토리지가 기본적으로 컨테이너나 컨테이너 그룹에 노출되는 설정인 컨테이너 지원 스토리지 옵션으로 설정할 수 있습니다. 컨테이너는 매우 유연하여 애플리케이션과 스토리지를 믿을 수 없을 정도로 확장하여 제공할 수 있습니다.
NAS는 어떤 방식으로 작동할까요?
하드웨어
사전 구성된 스토리지 소프트웨어가 전용 하드웨어에 설치됩니다. NAS 박스, NAS 유닛, NAS 서버, NAS 헤드 등 여러 이름으로 불리는 이 하드웨어는 기본적으로는 스토리지 디스크 또는 드라이브, 프로세스, RAM(random-access memory)으로 구성된 서버입니다.
소프트웨어
NAS와 범용 서버 스토리지의 주된 차이점은 소프트웨어에 있습니다. NAS 소프트웨어는 주로 하드웨어에 탑재되는 경량화 운영 체제(OS)에 배포됩니다. 범용 서버에는 완전한 OS가 실행되어 1초마다 수천 개의 요청을 주고받는(그중 일부는 스토리지와 관련될 수 있음) 반면 NAS 박스는 단 2가지 유형의 요청, 즉 데이터 스토리지와 파일 공유만 주고받습니다.
프로토콜
NAS 박스는 기기 간에 데이터를 전송하는 표준 방식인 데이터 전송 프로토콜을 통해 형식이 지정됩니다. 모든 것에 연결되고 요청을 라우팅하는 중앙 서버인 스위치를 통해 클라이언트가 데이터 전송 프로토콜에 액세스할 수 있습니다. 데이터 전송 프로토콜을 사용하면 다른 컴퓨터의 파일에 마치 사용자 자신의 파일처럼 액세스할 수 있습니다.
네트워크는 여러 데이터 전송 프로토콜을 실행할 수 있으나 대부분의 네트워크에 기본적인 데이터 전송 프로토콜은 인터넷 프로토콜(Internet Protocol, IP)과 전송 제어 프로토콜(Transmission Control Protocol, TCP) 등 2가지입니다. TCP는 데이터가 IP를 통해 전송되기 전에 패킷으로 결합합니다. TCP 패킷을 압축된 zip 파일로, 그리고 IP를 이메일 주소로 생각해 보세요. 만약 여러분의 할머니 할아버지가 소셜 미디어를 사용하지 않고 여러분의 개인 클라우드에 대한 액세스 권한도 가지고 있지 않다면 휴가 중에 찍은 사진을 이메일로 보내드려야겠죠. 이때 사진을 한 장씩 보내기보다는 zip 파일로 묶어 보내면 좋을 것입니다. 이와 비슷한 방식으로 TCP는 파일이 IP를 통해 네트워크로 전송되기 전에 패킷으로 결합합니다.
프로토콜을 통해 전송되는 파일은 다음과 같은 형식으로 지정될 수 있습니다.
- 네트워크 파일 시스템(Network File Systems, NFS): 이 프로토콜은 Linux 및 UNIX 시스템에서 정기적으로 사용됩니다. 벤더에 구애받지 않는 프로토콜인 NFS는 모든 하드웨어, OS 또는 네트워크 아키텍처에서 작동합니다.
- 서버 메시지 블록(Server Message Blocks, SMB): SMB를 사용하는 대부분의 시스템이 Microsoft Windows에서 실행되며, 이 경우 SMB를 'Microsoft Windows 네트워크'라고 합니다. SMB는 공통 인터넷 파일 공유(Common Internet File Sharing, CIFS) 프로토콜에서 개발되기 때문에 CIFS/SMB 프로토콜이라고도 합니다.
- Apple 파일링 프로토콜(Apple Filing Protocol, AFP): macOS를 실행하는 Apple 기기의 상용 프로토콜입니다.
Red Hat 리소스
SSD 캐싱
NAS 기기는 SSD(솔리드 스테이트 드라이브, Solid State Drive)를 사용하여 자주 액세스하는 데이터를 저장해 NAS 시스템의 성능을 개선할 수 있습니다.
읽기 캐싱에서 자주 액세스하는 데이터(핫 데이터)는 SSD 캐시에 저장되므로 더 빠른 읽기 액세스가 가능합니다. 사용자가 데이터를 요청하면 시스템은 먼저 SSD 캐시를 확인합니다. 발견된 데이터는 SSD에서 제공됩니다. 이것이 HDD(하드 디스크 드라이브, Hard Disk Drive)에 액세스하는 것보다 더 빠릅니다.
쓰기 캐싱의 경우 데이터가 HDD에 작성되기 전에 SSD 캐시에 먼저 저장됩니다. 따라서 더 빠른 SSD에 데이터가 신속하게 저장되므로 운영이 가속화됩니다. 이후 데이터는 배경에 있는 HDD로 전송됩니다.
SSD 캐싱은 읽기와 쓰기 캐싱을 결합하여 SSD 캐시를 읽기 및 쓰기 작업을 가속화하는 데 사용하고 전체 성능을 균형 있게 개선할 수 있습니다.
NAS 기기의 보안 기능
NAS 기기는 다양한 보안 기능을 사용하여 사용자, 데이터, 네트워크 전반에서 안전한 액세스를 유지합니다.
NAS 기기를 사용하는 관리자는 각 사용자 또는 그룹의 액세스 권한을 지정하여 사용자와 그룹을 관리할 수 있습니다. 또한 LDAP 또는 Microsoft Active Directory(AD)와의 통합을 통해 사용자 인증 및 권한을 중앙에서 관리할 수 있고, 2단계 인증(2FA)으로 사용자에게 NAS에 액세스하기 전에 2가지 형태의 인증을 제공할 것을 요구하여 보안을 강화합니다.
데이터를 보호하기 위해 NAS 기기는 스토리지의 데이터를 암호화하고 SSL/TLS와 같은 프로토콜을 사용하여 전송 중인 데이터를 암호화할 수 있습니다. 암호화는 특정 볼륨 또는 공유 폴더를 대상으로 실행되어 보안을 강화할 수 있습니다.
네트워크 보안의 유지를 위해 탑재된 방화벽을 통해 IP 주소별로 NAS에 대한 액세스를 제한할 수 있고 관리자는 트래픽을 허용 또는 거부하는 룰을 만들 수 있습니다. VPN 서비스는 암호화된 연결을 통해 NAS에 대한 원격 액세스를 보호할 수 있습니다. 또한 IP 차단과 지역 차단 기능이 있어 로그인 시도가 몇 차례 실패한 후에는 IP 주소를 자동으로 차단하거나 지리적 위치를 기반으로 액세스를 제한할 수 있습니다.
NAS의 장점
- 용량 스케일 아웃: NAS의 스토리지 용량을 늘리기가 하드 디스크를 추가하는 것만큼 쉽습니다. 기존 서버를 업그레이드하거나 대체할 필요가 없으며, 네트워크를 셧다운하지 않아도 새 스토리지를 사용할 수 있습니다.
- 성능: NAS는 파일 제공에 특화되어 있으므로 네트워크로 연결된 다른 기기가 파일을 제공할 필요가 없습니다. 그리고 NAS는 특정 활용 사례(예: 빅데이터 또는 멀티미디어 스토리지)에 맞게 조정되므로 클라이언트가 더 나은 성능을 기대할 수 있습니다.
- 쉬운 설정: NAS 아키텍처는 간소화된 스크립트를 통해 또는 간소화된 운영 체제와 함께 사전 설치된 어플라이언스로 제공되는 경우가 많아 설정하고 시스템을 관리하는 데 소요되는 시간이 크게 단축됩니다.
- 접근성: 네트워크로 연결된 모든 기기에는 NAS에 대한 액세스 권한이 있습니다.
- 내결함성: NAS는 데이터 무결성을 보장하기 위해 복제된 디스크, 복수 배열 독립 디스크(Redundant Array of Independent Disks, RAID) 또는 이레이저 코딩을 지원할 수 있는 형식으로 지정될 수 있습니다.
- 경제성: 개인 클라우드 스토리지를 만드는 데 사용되는 NAS 기기는 서브스크립션 기반 클라우드 서비스의 경제적인 대안이 되는 경우가 많습니다.
- 파일 형식 호환성: NAS 기기는 다양한 미디어 형식을 다루고 이를 여러 기기에서 재생 가능한 형식으로 변환할 수 있습니다. 이러한 호환성은 NAS 기기를 주로 미디어 스트리밍에 사용할 경우 필수적입니다.
NAS와 클라우드 비교
NAS 자체는 클라우드가 아닙니다. 클라우드는 네트워크 전체에서 확장 가능한 리소스를 추상화, 풀링 및 공유하는 IT 환경입니다. NAS는 클라우드 환경의 중요한 일부분이 될 수 있습니다. 특히 클라우드 제공업체가 클라이언트에게 스토리지를 서비스로서의 인프라(IaaS) 계약의 일부로 제공하는 경우에 그렇습니다.
스토리지 유형 비교
스토리지 영역 네트워크
스토리지 영역 네트워크(SAN)는 블록 스토리지를 제공합니다. 블록 스토리지는 하드 디스크, 가상 스토리지 노드, 클라우드 스토리지 풀 등과 같은 스토리지 볼륨을 블록이라고 하는 더 작은 볼륨들로 분할합니다. 각각의 블록은 서로 다른 프로토콜들로 형식이 지정될 수 있습니다. 예를 들어 하나의 블록은 NFS로, 다른 블록은 AFP로, 그리고 나머지 블록은 SMB로 형식 지정이 가능합니다. 이는 사용자에게 더 많은 유연성을 제공하지만 임의의 분류를 통해 데이터를 함께 묶기 때문에 블록을 탐색하기가 더 어려워집니다.
직접 연결 스토리지
직접 연결 스토리지(DAS)는 단일 컴퓨터에 직접 연결된 스토리지입니다. 네트워크로 연결되지 않으므로 다른 기기에 액세스하기가 쉽지 않습니다. DAS는 NAS의 전신입니다. 각 DAS 기기는 별도로 관리되는 반면 NAS 박스는 모든 것을 관리합니다. DAS의 가장 일반적인 예가 단일 컴퓨터의 하드 드라이브입니다. 다른 컴퓨터가 해당 드라이브의 파일에 액세스하려면 원래 컴퓨터에서 물리적으로 제거되어 새 컴퓨터에 연결되어야 하거나 사용자가 두 기기 사이에 일종의 연결을 설정해야 합니다. 이때 DAS와 NAS 간의 선이 약간 불분명해집니다.
소프트웨어 정의 스토리지
소프트웨어 정의 스토리지(SDS)는 기반 하드웨어와 별개로 운영되는 스토리지 관리 소프트웨어입니다. 따라서 NAS 박스에 SDS를 설치할 수 있으므로 NAS 박스를 특정 워크로드에 맞게 조정할 수 있습니다. SDS가 설치된 스토리지 하드웨어는 클러스터링될 수 있으므로 여러 서버가 특정 목적을 위해 단일 시스템으로 작동할 수 있습니다. 예를 들어 하나의 서버 클러스터는 사용자 디렉터리와 NFS/CIFS 폴더를 보관하도록 구성할 수 있고, 다른 서버 클러스터는 사진과 멀티미디어를 보관할 수 있게 블록 스토리지용으로 구성할 수 있습니다. 일부 NAS/SDS 솔루션은 30분 이내에 1페타바이트 이상의 데이터를 통합하여 제공할 수도 있습니다.
Red Hat을 선택해야 하는 이유
Red Hat 스토리지 솔루션은 모두 오픈소스 기반으로 구축되므로 개발자 팀, 파트너 팀 및 고객 팀이 협업을 통해 과제를 해결할 수 있습니다. Red Hat® OpenShift® Data Foundation(구 Red Hat OpenShift Container Storage)은 Red Hat OpenShift Container Platform과 통합되고 이에 최적화된 소프트웨어 정의 스토리지로, 온프레미스, 퍼블릭 클라우드 등 OpenShift가 실행되는 어느 환경에서나 실행됩니다. OpenShift Data Foundation은 Red Hat Ceph® Storage에 구축되고 다음을 지원합니다.
- 데이터베이스 및 메시징을 위한 블록 스토리지
- 지속적 통합 및 데이터 집계를 위한 공유 파일 스토리지
- 보관, 백업 및 미디어 스토리지를 위한 오브젝트 스토리지
OpenShift Data Foundation은 OpenShift Container Platform을 위한 레지스트리, 로깅, 메트릭뿐 아니라 애플리케이션 스토리지도 관리합니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.