반응형

안녕하세요.


본 포스팅은 'SAN과 NAS 관리자 가이드 (Using SANs and NAS)'를 스터디하며 정리한 내용입니다.


책에 대한 정보는 지난 포스팅 (http://harryp.tistory.com/591)을 참조해 주세요.


* 특별한 출처를 명시하지 않은 내용은 'SAN과 NAS 관리자 가이드'에 나온 내용입니다.



SAN과 NAS 관리자 가이드의 첫 번째 장 'SAN과 NAS란?' 입니다.



1. SAN (Storage Area Network) : SCSI가 발전한 형태.



1-1. SCSI (Small Computer System Interface)


SCSI는 컴퓨터에 주변 기기를 연결하기 위한 직렬 표준 인터페이스 이다.


입출력 버스를 접속하는 데에 필요한 기계적, 전기적인 요구 사항과 모든 주변 기기 장치를 중심으로 명령어 집합에 대한 규격을 말한다.




(SCSI 포트)

(출처 - 위키피디아)


* 참고 - The Linux SCSI programming HOWTO




(SCSI 아키텍처 모델 및 SCSI-3 표준. 출처 - CISCO iSCSI 백서)


SCSI 인터페이스는 다음과 같은 특징을 가지고 있다.


* 별도의 SCSI 컨트롤러 사용

 - CPU와 독립적으로 처리해 속도가 빠름

 - CPU 점유율이 낮아 안정성을 요구하는 서버에 적합


* IDE에 비해 속도가 높음, but 비쌈 -> 고속 저장장치의 인터페이스로 사용됨


* 데이지 체인 방식으로 연결

 - SCSI ID : 0~7

 - Wide SCSI ID : 8~15


* 인터페이스 변화

 - IDE (PATA) -> SATA

 - SCSI -> SAS (6Gbps -> 12Gbps)



1-1-1. 병렬 SCSI 의 제약 사항


병렬 SCSI : 구리선 기반의 병렬 SCSI 케이블에 기반을 둔 SCSI 시스템. 다음과 같은 제약 사항이 있다.


* 하나의 컴퓨터에 연결 가능한 장치 수 : 하나의 버스에 최대 16개의 장치만 접속 가능.


* 하나의 장치에 연결 가능한 컴퓨터 수 : 한 스토리지에 컴퓨팅 장치를 두 대 연결할 수는 있지만, 일반적이지 않다.


* 거리 : 케이블에 있는 개별 전도체 사이의 혼선, 외부 소스로 부터의 전기적인 간섭 때문에 케이블 길이에 제한이 있다.


* SCSI 체인에 부착되는 각 장치가 사용가능한 전체 길이를 짧게 만든다.


파이버 케이블을 사용하여 병렬 SCSI의 제약 사항들을 해결 할 수 있다.



1-1-2. 파이버 채널 프로토콜 (Fiber Channel Protocol)


FCP : SPI (SCSI Parallel Interface) 와 달리, 하나로 보내고 하나로 받는 직렬 프로토콜이다. 다음과 같은 장점이 있다.


* 하나의 컴퓨터에 연결 장치 수 : (이론 상) 1600만개 까지 접속 가능.


* 하나의 장치에 연결 가능한 컴퓨터 수 :  (이론 상) 1600만개 까지 접속 가능.


* 거리 : 하나의 파이버 케이블에 한 종류의 신호만 전송하는 단일 모드 (Single-mode) 파이버로 10km 떨어진 장치를 연결할 수 있다.


* 속도 : 다중 파이버 채널 연결을 만들 경우, 더 넓은 대역폭을 사용 가능하다.



1-2. SAN



(SAN 구성, 출처 - https://www.snia.org/education/storage_networking_primer/san/what_san)



SAN은 파이버 채널이나 iSCSI와 같은 직렬 SCSI 프로토콜을 이용해 통신하는 두 개 이상의 장치이다.


SAN에 연결된 컴퓨터 뿐만 아니라 다른 컴퓨터로도 SAN에 연결된 임의의 장치에 쉽게 액세스 할 수 있다.



1-2-1. iSCSI (Internet Small Computer System Interface)


iSCSI는 컴퓨팅 환경에서 데이터 스토리지 시설을 이어주는 IP 기반의 스토리지 네트워킹 표준이다.


iSCSI는 IP 망을 통해 SCSI 명령을 전달함으로써 인트라넷을 거쳐 데이터 전송을 쉽게 하고,


먼 거리에 걸쳐 스토리지를 관리하는데 쓰인다.


iSCSI는 근거리 통신망과 원거리 통신망, 아니면 인터넷을 통해 데이터를 전송하는 데 쓰이며,


위치에 영향을 받지 않는 데이터 보관과 복구를 사용할 수 있게 한다.


(출처 - 위키피디아)



* 참고 - CISCO iSCSI 백서


iSCSI는 TCP/IP (L3, L4)를 사용한다. 


때문에 주로 이더넷으로 연결되는 기존의 IP 기반 호스트 연결을 통해 정보를 전달할 수 있다. 


별도의 WAN 연결 없이 기존의 WAN을 사용하여 호스트가  IP를 통해 스토리지에 액세스함으로써 비용을 절약할 수 있다.




(iSCSI 클라이언트 및 iSCSI 서버의 컴포넌트, 출처 - CISCO iSCSI 백서)



1-2-3. SAN 이전의 백업과 복구


* 소형 서버 : 데이터 센터에 하나의 테이프 드라이브를 사용하여 백업.


* 중앙 집중형 백업 서버 : 백업 소프트웨어와 백업 하드웨어를 사용하여 네트워크를 통해 중앙 백업 서버에 백업.


--> 시스템이 방대해지고 주어진 네트워크의 시스템의 수가 늘어나면서 네트워크를 통해 백업하는 것이 어려워짐.


1-2-4. SAN을 사용한 백업


파이버 채널과 SAN은 다음과 같은 것들을 가능하게 한다.


* 대용량 데이터베이스 서버는 로컬 부착 테이프 드라이브로 백업할 수 있고, 그 테이프 드라이브가 로컬 부착 테이프 드라이브로 백업하면 다른 대용량 서버가 사용 할 수도 있다.


* 그 데이터베이스를 사용하는 서버의 CPU를 통해 데이터를 전달하지 않으면서 그 디스크를 백업한 다른 서버가 대용량 데이터 베이스 서버의 디스크를 볼 수 있다.


* 디스크와 테이프 드라이브가 다른 서버의 CPU를 거치지 않고 데이터를 디스크에서 테이프로 직접 전달하는 방식으로 연결된다.



2. NAS (Network Attached Storage) : SMB/CIFS와 NFS가 발전한 형태.


NAS는 SMB (Server Message Block)과 NFS (Network File System)에 근간을 두고 있다.



2-1. SMB / CIFS


2-1-1. SMB


IBM과 마이크로소프트에서 개발.


원래는 네트워크 네이밍과 브라우징 프로토콜을 의미하였으나,


마이크로소프트가 파일 공유 프로토콜의 의미로 채택해 사용하였다.


이후 이름을 CIFS (Common Internet File System) 으로 변경하였다.


2-1-2. CIFS




(CIFS 아키텍쳐, 출처 - https://technet.microsoft.com/en-us/library/cc939973.aspx)



CIFS는 단순화를 위해 설계되었다.


액세스를 제어하는 패스워드만 설정하면 간단하게 공유가 가능하다.


초기에는 성능이 좋지 않았지만 (성능 보다는 단순화에 초점이 맞춰져 있었다.) 최근 성능이 크게 향상되었다.


서버/클라이언트 모델 사용.


다음의 서비스를 제공한다.

 - 파일의 액세스, 읽기, 쓰기

 - 다른 클라이언트들과 파일 공유

 - 네트워크 고장 시 자동으로 접속 복원

 - 파일 이름에 유니코드 사용



2-2. NFS


썬 사에서 개발.


서버/클라이언트 모델 사용.


NFS를 통해 유닉스 박스는 서로 공유한다는 조건만 있으면,


다른 유닉스 박스에 있는 파일시스템을 읽고 쓸 수 있다.


NFS v3 이전 까지는 UDP만 사용하였다.

--> 재전송 처리 방식이 비효율 적이다. (여러 패킷 중 하나라도 유실 될 경우, 전체 재 전송 필요)

--> 재 전송으로 인한 네트워크 과부화



** CIFS & NFS의 문제점 **


* CIFS와 NFS를 혼용하여 사용할 수 없음.


* 유닉스와 윈도우가 혼합된 환경 사용이 필요하다.


* 성능이 좋지 못함.


--> 대안 : NAS



2-4. NAS



(NAS, 출처 - http://searchstorage.techtarget.com/definition/network-attached-storage)



NAS는 NFS, CIFS, DAFS를 통한 파일 공유를 전용으로 하는 장치이다.


NAS를 통해 위에 언급한 CIFS와 NFS의 문제점을 해결 할 수 있다.



3. SAN vs NAS


 

 SAN

 NAS

 프로토콜

 직렬 SCSI-3

 CIFS & NFS 

 공유 항목

 로우 디스크와 테이프 드라이브

 (예시 : /dev/rmt/Ocbn)

 파일시스템

 (예시 : \\filter\C\dir\)

 허용

 다른 서버가 동일한 로우 디스크나 테이프 드라이브 (일반적으로 최종 사용자에 의해 확인되지 않은)에 액세스 하는 것을 허용.

 다른 사용자가 동일한 파일시스템이나 파일에 액세스 하는 것을 허용.

 대체

 로컬 디스크와 테이프 드라이브를 SAN으로 대체하면, 수백 개의 시스템이 디스크와 테이프 드라이브를 공유 가능.

 네트워크 공유 파일시스템을 제공하는 유닉스 NFS 서버와 윈도우 CIFS 서버를 대체한다. 



3-1-1. NAS의 장점


* 많은 애플리케이션을 사용할 수 있을 정도로 빠르다.


* 다중 호스트 파일시스템 액세스를 제공한다.


* 이해하기 쉽고, 유지보수가 쉽다.


* SAN에 비해 비용이 저렴하다.


* 파일시스템의 복제가 쉬워 페일 방지가 더 쉽다.


3-1-2. NAS의 단점


* 테이프로 백업하기 어려울 수 있다.


* 이미지 레벨의 백업을 수행할 수 없다. --> 파일 단위로 백업해야 한다.


* SAN보다 상한선이 낮다. 일부 환경에서는 SAN이 유일한 옵션일 수 있다.



3-2-1. SAN의 장점


* 네트워크를 통해 로우 디바이스 처리가 가능하다.


* NAS 보다 성능이 빠를 수 있다.


* 대규모 백업과 복구가 쉽다.


3-2-2. SAN의 단점


* 가격이 비쌈.


* 이해와 관리가 복잡하다.

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1502)
Profile (2)
Park's Life (600)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (245)
생활 정보 (12)
Pokemon GO (50)