DAS, NAS, SAN 에 대해여...

thslrtoo의 이미지

이번에 SAN(Storage Area Network)에 대해서 조사하다가
도대체 이해가 안되서 이렇게 질문드립니다.

DAS(Direct Attached Storage)는 Server 에 직접 연결되는 스토리지로
SAS 나 SATA 같은 인터페이스로 연결이 되고, NFS 나 다른 장비로 공유를 하지 않는 이상
다른 Server 에서는 접근이 불가능하다고 알고있습니다. (맞나요??)

문제는 NAS(Network Area Storage)와 SAN(Storage Area Network)이 이해가 안됩니다.
제가 알기로는 NAS는 NFS 와 비슷하게 네트워크로 스토리지를 공유하지만 NAS 자체에 OS 가 올라가는걸로 알고 있습니다.
SAN은 정확히 뭔지 모르겠지만 공유 목적으로 사용하는게 아니라고 알고 있구요.

도대체 NAS와 SAN은 뭔가요??
어디 쉽고 자세하게 설명되있는곳 없나요??ㅠ.ㅠ

익명 사용자의 이미지

인터넷 표준은 TCP/IP 인데
NAS 는 NFS 든 뭐든간에 모두 서버응용-클라이언트응용 형식이고 그 말은 TCP/IP 에 꼭 맞게 넷트웍-응용 계층 포맷안에 임베디드 되어 응용에 의해 비로소 해결된다는 소리죠.
개괄적인 흐름으로 보면
이더넷 물리계층-커널 IP 넷트웍계층-커널 TCP 전송계층-NFS를 비롯한 응용계층-커널 VFS-파일시스템-블럭디바이스드라이버....실제 읽기/쓰기
이거 당연히 부하심하고 점보프레임이 아닌 한 헤더 다 떼면 임베디드된 실제 데이타도 고속 10~100기가 환경에 안맞게 적습니다.

SAN 은
TCP/IP 와 무관합니다.
많은 문서가 iSCSI 를 예로 들며 SAN 을 설명하지만 TCP/IP 에 임베디드시킨 iSCSI 는 진정한 SAN 이 아님.
TCP/IP 와 무관하므로 인터넷 안되는 시스템끼리도 되는 것이며 명확하게 이를 구분하는 차이는
맥헤더의 ETHER TYPE 값이
NAS 는 0X0800 으로 IPV 4 이고
SAN 은 IPV4, IPV6, ARP... 등 커널계층에 알려진 값이 아닌 IEEE 등록(기관은 IANA 이지만 실제 이 값은 IEEE 에서 관리) 다른 값입니다.

이 말을 바꾸면
SAN 은 0X0800 이 아닌 순간부터 TCP/IP 루틴은 소용없으며 추가로 설치한 모듈이 없다면 패킷은 드랍되고 ICMP 프로토콜 에러가 리턴되고 끝인 반면 NAS 는 모든 무의미한,악의적인 데이타도 모두 커널 버퍼와 자원을 소비한 후 응용에서 비로소 드랍됩니다.

NAS 는 매우쉽고 전문가 아니라도 되지만
SAN 은 하드웨어에 밀착된 것이라 에러가 나면 리부팅신공으로 해결할 수 있는 성질이 아닙니다.
성능은 ... 상대가 되지 않습니다.

참 요즘은 이더넷과도 아예 무관한,PCI-E 스위칭의 SAN 스토리지도 나오므로 이더넷 물리로 한정하는 것도 약간 틀린겁니다.

추석전날 한 잔에다 스마트폰에서 쓰는거라 상태메롱 양해구해요...
예전에 블로그 한 번 쓴거라 술먹어도 안잊어버리네.

thslrtoo의 이미지

답변 감사합니다.
제가 쉽게 이해하기로는
NAS 는 File System 을 공유하는 것이고,
SAN 은 Device 를 공유한다고 이했습니다.

이 개념도 맞는건가요???

익명 사용자의 이미지

제 답변이 너무 포괄적이었나요...
사실상
이더넷물리 ▶▶ TCP/IP 넷트웍 ▶▶ TCP/IP 전송 ▶▶ TCP/IP 응용 ▶▶ 서버응용 ~ 파일시스템 및 장치 드라이버 ~ 를 서버응용이 리턴. 4,3,2,1 계층 순서로 리턴 전송..

이더넷물리 ▶▶ 커널 SAN 드러이버 호출 ...커널 넷트웍부터 전송계층 없이,즉 ETHERTYPE 가 0X0800 이라야 IP 루틴으로 진입하는데 이게 아니므로, ▶▶ SAN 드라이버는 커널 장치드라이버와 거의 같은 원리로 동작하여 해당 장치에 읽기/쓰기 후 리턴. 여기서는 이더넷으로 가정했으니 이더넷 호출로 리턴하지만 이더넷이 아닐 수도 이음.

.....
사실상 이런 설명이 가장 선명한 것일텐데요..
NAS 에서 파일시스템공유...가 주 유행형식이지만 그건 응용플밍 하기 달렸지요.
SAN 에서 장치 드라이버 호출과 유사하게 동작해 장치공유가 유행형식이지만 이 역시 드라이버 개발자 하기 나름입니다.
파일시스템,개발자,장치유형,.. 모든 각양각색의 변수에 무관하게 가장 직관적으로 불변의 차이는

*커널 넷트웍루틴으로 진입 하느냐 마느냐*

의 차이입니다.

예로 장치공유형식중에 PCI-E 에서 만든 가상화도 있죠.
제 블로그에 조잡하지만 쬐끔 더 긴 글이 있습니다만 주소는 간접광고가 되니 검색 약간 하시면...이넘이 그넘인것 같네 ㅋㅋ 하실 수 있을겝니다
그럼...

익명 사용자의 이미지

DAS : 호스트에서 스토리지 또는 디스크로 1:1 직접 연결(SCSI,iSCSI 등)

NAS(Network Attached Storage) : 네트워크에 연결된 스토리지
여러대의 호스트가 Network Interface(Ethernet, Gigabit Ethernet, FCoE 등)를 통해 NAS스토리지로 N:1 연결 가능
※Gigabit Switch 필요할수 있음

NAS는 일반적으로 NFS, CIFS등으로 파일시스템을 공유함(공유파일시스템 형식이므로 이기종 플랫폼 가능)
N/W기반이기 때문에 IP통신을 함

SAN(Storage Area Netork) : 스토리지를 위한 네트워크
여러대의 호스트가 HBA(Host Bus Adapter, 일반적으로 F/C Interface)를 통해 스토리지로 N:1 연결 가능
※ SAN Switch 필요할 수 있음

SAN은 Raw Device와 파일시스템을 공유할 수 있음(Raw Device)
단 파일시스템 공유는 CFS 또는 SAN F/S등의 별도 solution을 사용해야 하며, 동일한 파일시스템을 사용할 수 있는 플랫폼끼리만
공유 가능

성능은 TCP/IP 오버헤드가 없는 SAN이 더 빠름

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.