もし私に彼女が出来たら、、、
「彼女とデータ写真の共有をしたい!」
こんなことを必ず思うはず。
LINEでアルバム作って、
そのアルバム上で写真共有するのもありだが、
もしLINEのデータが消えてしまったら
自分の携帯からは、写真にアクセスできなくなってしまう。
そんなときに役立つのは、
SANだろうか?それともNASだろうか。
アナグラムになっており、
どちらも似た言葉でややこしい。
SANとNASの違いとは!?
まずは用語の整理。
ストレージのネットワーク技術や仮想化について調べていると、どちらも必ず同じタイミングで出現する。そのせいもあってか、SANもNASは同じ土俵で語られるもものと思いがちだが、実際は別物。
SAN (Storage Area Network) = ネットワーク
NAS (Network Attached Storage) = ファイルサーバ
SANは、LANやWANみたいなイメージで、
ストレージのためのネットワーク。
NASは、ストレージという英単語で終わっているが、
実態はファイルサーバのことを言う。
一般的なイメージはこんな感じ。

LANとは別のネットワークとして、SANがサーバ側にくっ付いている。もちろんSANにはサーバだけでなく、ストレージも存在する。このストレージを共有しようとする考えが「SAN」である。
ただ、ストレージプールとして共有するだけであって、実際にストレージにアクセスするときは、サーバ個々に領域が割り当てられている。つまり、共有と言っておきながら、実際にはストレージプールから割り当てられたボリューム容量が、割り当てられた特定のサーバによって占有された状態になっている。なので、データ共有は基本的にはできない。また大容量ストレージのボリュームを効率利用・管理する人が必要になるで、SANには管理者コンソールとして、その役目を持った人が存在する。
まとめるならSANは、
複数のサーバのデータを集中管理するための技術である。
サーバ個々にストレージをくっつける(DAS)よりも、
SANは効率的なストレージ管理と
コスト削減が見込めるのである。
一方で、NASはファイルを共有するための技術である。
サーバやクライアントPCと同じLANに属している。
NASはファイルサーバのことをいうので、
ストレージというよりかは一種のPCである。
汎用サーバの余分の機能を切り取り、
ファイル保存・共有のためのサーバに、
特化したものとなっている。サーバなのでOSも存在する。
もう少し技術的な違いの話をする。
FC-SANとIP-SAN
SANは、「共有ストレージにアクセスするためのストレージ用ネットワークである」ということをお話した。現在、LAN上での通信には、Ethernet・IPの技術が用いられている。パケット伝送はEthernetやIPのフォーマットに基づいて送信される。LANと同様に、SANにも通信するための技術がある。ファイバーチャネル(FC)とEthernet/IPの2種類である。
名前から察する通り、ファイバーチャネルを土台に構築されたSANは、FC-SANと呼ばれている。Ethernet/IPを活用したSANはIP-SANという。ここでは割愛するが、FC(ファイバーチャネル)にもプロトコルスタックが標準化されており、FC-SANはファイバーチャネルの規格に従って通信が行われる。詳しいことは他のサイトを見てほしいのだが、ファイバーチャネルはFC0~FC4という5層で構成されている。ちなみにFC4(最上位層)でSCSIプロトコルを使用する。
IP-SANの場合はOSI参照モデルに基づき、以下ようなプロトコルスタックのイメージになっている。

SCSI : Small Computer System Interface
ここで一つ注意したいのが、SCSIというプロトコルを使っているということである。SCSI(スカジー)は、外部記憶装置とPC本体をパラレル伝送によって接続する規格で、下位層から上位層まで定義されている。現在は使われていないが、SCSIの上位層は現在も使われている。今回はSANで登場したが、USB規格とかでも上位層でSCSIが使われている。
もともとSCSIは、下位層から上位層まで一つのセットであったため、このSCSIをTCP/IPで使うには、TCP/IPプロトコルスタック群とSCSI(上位層)の間に、iSCSI (internet SCSI)というプロトコルが必要である。デフォルトではTCP3260番ポートを使用する。IP-SANのEthernet/IPプロトコルが、FC-SANにおいては、下位層がFC(ファイバーチャネル)に置き換わり、上位層はSCSIプロトコルを用いる。iSCSIはIPネットワーク上で使われるので、FC-SANにはない。

FC-SANとIP-SANのイメージは上の画像のようになる。ちなみにIP-SANは、ファイバーチャネルをEthernetで代替するだけでなく、地理的に離れたFC-SANを延長したり、FC-SAN間をつなげてたりする際にもIP-SANの技術が用いられる。その時に使うのが、iFCP(internet Fiber Channel Protocol)などといったプロトコルである。
NASはどのように実現するのか
NASはファイルサーバというお話をした。一種のサーバなので、OSも持っている。ということはNAS自体が、ファイルシステムをもっていることになる(ファイルシステムはカーネルに実装される)。SANでは単にストレージの共有だけだったので、ストレージ自体にはファイルシステムはない。ストレージにアクセスするサーバが持つファイルシステムで、あらかじめストレージがフォーマットされる。つまりNASでは、NASが持つストレージにアクセスする側とされる側では、異なるファイルシステムをもつ。OSも異なる可能性も十分にあり得るので、異なるアーキテクチャ間でも問題なくファイル共有する仕組みが必要となる。

ファイルシステムに限ったことではなく、一般的に異なるアーキテクチャ同士の通信は、相互接続を可能にする仕組みがいる。ファイルシステムの場合は、VFS (Virtual File System) という仮想的なファイルシステムが存在する。クライアント側でも自身が所有する内部ストレージにアクセスする時でさえ、一旦VFSを通すことで、ユーザはファイルシステムの違いによる操作を意識しなくても大丈夫なようになる。ローカルファイルシステムというのが、NTFS、FAT32、ext4などといったよく耳にするファイルシステムをいう。
しかしこれらは、あくまでローカルファイルシステムで、ネットワーク越しにファイルアクセスするためのものファイルシステムではない。NASではネットワーク越しにファイルアクセスするので、それ用のファイルシステムが必要になる。実態は通信なのでファイルシステムという名のファイル共有プロトコルである。
OSによって使われるファイル共有プロトコルは少し異なるが、UNIX系ではNFS (Network File System) 、WindowsではSMB (Server Message Block)もしくはその拡張版であるCIFS (Common Internet File System)と呼ばれている。ちなみに、NFSはUDP(TCP)の2049番ポートで、SMBはTCPの445番ポートが一般的に使われる。
以上がSANとNASの違いである。
冒頭でお話しした通り、
彼女と写真共有するのは
どっちの技術を使えばいいか
伝わったでしょうか?
そうです!「NAS」ですね。
最後まで読んでいただきありがとうございました。