업무 도중 어떤 서버는 SAN을 사용하고 어떤 서버는 NAS를 사용하길래 이 둘의 차이를 알아보고 싶어 정리해보았다.
SAN(Storage Area Network)
여러 스토리지를 하나의 네트워크에 연결시켜 이 네트워크를 스토리지 전용 네트워크로 구성하는 방식이다. 스토리지 전용네트워크이므로 독립적인 고속 전용네트워크를 구성할 수 있으며 서버의 HBA(Host Bus Adapter, 스토리지 네트워크 전용 NIC같은...?)와 Fiber Cable을 연결하여 고속네트워크 구성이 가능하다.
또한 서버와 SAN의 연결을 하기위해 SAN전용 스위치도 존재한다.
- Zoning을 통해 서버와 스토리지 사이의 논리적인 접속을 정의한다(1:1, 1:N, N:N)
- HA구성시 Multipath방식 연결을 제공한다
- 서버는 LUN(Logical Unit Number)으로 스토리지를 구분하여 SAN 스토리지를 사용한다.
단점
- 고성능의 하드웨어 장비 및 솔루션을 사용하기에 구축하는데 비용이 많이든다.
- 복잡한 네트워킹과 스토리지 구성을 필요로하기 때문에 관리가 어렵다.
Zoning?
스토리지내의 블록(관리/운영/테스트)별 접근해야 하는 구역을 스토리지 스위치에서 제어할 수 있도록 구역을 나눈것, 서버는 서버의 HBA를 통해 FC, iSCSI로 스토리지와 연결하며 스토리지 스위치와 컨트롤러를 통해 부하분산 및 Multipath를 제공한다.
Multipath?
1대의 서버가 SAN의 여러 경로를 통해 스토리지에 접속할 수 있도록 구성하는 것을 의미한다. 사용하기 위해서는 리눅스 표준인 DMMF라는 Multipath드라이버를 통해 사용가능하다. /dev/sdb, /dev/sdc는 그대로이며 /dev/mapper/mpathX라는 추가 드라이버에 볼륨 구성이 필요하다.
NAS(Network Attached Storage)
NAS는 중앙 집중식 파일 서버로 여러 사용자가 Network(이더넷, Wi-Fi)를 통해 TCP/IP네트워크에서 파일을 저장하고 공유한다. 단일 스토리지 형태로 비용이 저렴하고 설정을 구성하기 간편하다.
- 스토리지 시스템을 네트워크에 연결하여 공유하는 방식
- 여러대의 클라이언트가 네트워크를 통해 액세스하는 방식
- 다른 SW플랫폼의 Storage Pool을 중앙공유 가능, 확장성이 높으며 관리가 용이함
단점
- 일반 네트워크를 사용하기 때문에 네트워크 프로토콜에 따른 프로세스과부화, 스토리지 I/O트래픽에 따른 네트워크 대역폭이 감소할 수 있다.
NAS볼륨은 사용자에게 Network Mount Volume으로 나타나기에 정보를 공유할 때 용이하게 사용된다. 즉, 다수의 사용자가 공동으로 작업하는 파일의 경우 NAS가 적합할 수 있다!!
VMware솔루션을 통해 클러스터 구성시 vMotion이 필요한 경우 VM정보가 담긴 VMDK파일을 옮겨야하기에 NAS를 사용하는 것 같기도 하다.