NASとSANの違いとは ― DAS・ブロックとファイル
ファイルを
NASとSANの違い
部署の資料を共有フォルダに置きたいならNAS、データベースのサーバにディスクとしてつなぎたいならSANが候補になります。NASはLANにつなぐストレージで、PCやサーバにファイル単位で読み書きさせます。SANはサーバとストレージをつなぐ専用のネットワークで、主にブロック単位の読み書きに使われます。
NASは、Network Attached Storageの頭文字です。SANは、Storage Area Networkの頭文字です。NASは装置の名前で、SANはネットワークの名前である点も違います。
DASとは、サーバに直結するストレージ
DASは、1台のサーバにケーブルで直接つなぎ、そのサーバだけが使うストレージです。Direct Attached Storageの頭文字で、サーバの中のディスクも、外付けのディスク装置もこれに当たります。ネットワークを通らないので、スイッチのようなネットワークの機器は要りません。
その代わり、ほかのサーバからは直接使えません。サーバが増えるたびにディスクもサーバごとに分かれ、空き容量を融通し合えなくなります。ストレージをネットワークにつないで共有するために生まれたのが、NASとSANです。
ブロック単位とファイル単位の違い
ディスクは、データを決まった大きさの区画に分けて記録します。この区画をブロックと呼び、大きさは512バイトや4,096バイトが一般的です。ブロックには番号が付いているだけで、どのブロックがどのファイルの一部かは、ディスク自身は知りません。
ブロックの並びをファイルとフォルダにまとめて見せるのは、OSのファイルシステムです。ブロック単位とファイル単位の違いは、ファイルシステムがサーバの側にあるか、ストレージの側にあるかです。
DASとSANでは、ファイルシステムをサーバの側で作ります。サーバは「何番のブロックを読む」と頼むので、ストレージは自分のディスクとして見えます。新しいディスクを付けたときと同じく、フォーマットもサーバが自分で行います。
NASでは、ファイルシステムはNASの中にあります。サーバやPCは「このフォルダのこのファイルを読む」と頼み、NASがそれをブロックの読み書きに直します。そのため、利用者からはネットワークの向こうにある共有フォルダとして見えます。
DAS・NAS・SANのつなぎ方の比較
3つの方式で、サーバがストレージのデータを読み書きする経路を並べると次のようになります。NASへの経路はLANを通り、SANへの経路はLANとは別のネットワークを通ります。
NASは、ふだんの通信と同じLANにつなぐので、新しいネットワークを用意しなくても使い始められます。SANは、ストレージとのやり取りだけを専用のネットワークに分けます。ストレージへの大量の読み書きが、利用者の通信と同じ回線を取り合わずに済みます。
| 観点 | DAS | NAS | SAN |
|---|---|---|---|
| つなぎ方 | サーバに | LANに | サーバと |
| 読み書きの | ブロック | ファイル | ブロック |
| サーバからの | 自分の | 共有フォルダ | 自分の |
| ファイルシステムの | サーバ | NASの | サーバ |
| 共有できる | つないだ1台だけ | LANの | SANに |
SANのストレージも、中のディスクはRAIDでまとめておくのが一般的です。RAIDは何台のディスクを1台に見せるかの話で、DAS・NAS・SANはそれをサーバにどうつなぐかの話です。
NASとSANで使うプロトコル
NASは、ファイルを読み書きするためのプロトコルで利用者とやり取りします。Linuxなどで使われるNFSと、Windowsのファイル共有で使われるSMBが代表です。どちらもTCP/IPの上で動くので、ふだんのLANの上で使えます。
| プロトコル | 使う | 読み書きの | 通る |
|---|---|---|---|
| NFS | NAS | ファイル | LAN |
| SMB | NAS | ファイル | LAN |
| iSCSI | SAN | ブロック | イーサネットと |
| Fibre Channel | SAN | ブロック | ファイバチャネル専用の |
SANでは、ディスクとやり取りするためのSCSIというコマンドを、ネットワークで運びます。ファイバチャネルは、SCSIなど複数のプロトコルを運べる高速なつなぎ方の規格で、SANで広く使われます。イーサネットとは別の専用のスイッチとケーブルで組みます。ストレージの業界団体SNIAは、この形をFibre Channel SANと呼んで区別するよう勧めています。
iSCSIは、SCSIのコマンドをTCP/IPで運ぶプロトコルです。ふつうのイーサネットのスイッチとIPのネットワークで、SANを組めます。LANと同じ種類の機器で組めますが、図のようにストレージ用のネットワークを分けておけば、利用者の通信と回線を取り合いません。SNIAの定義でも、ストレージにつなぐことを主な目的にしたイーサネットのネットワークはSANに含まれます。
NASとSANの使い分け
複数の利用者でファイルを分け合うならNAS、サーバがディスクとして使うならSANかDASが基本の見分け方です。データベースや仮想マシンのように速い読み書きが要る用途には、ブロック単位のストレージが使われることが多いです。次の図で、用途ごとに向く方式と理由を確かめられます。
- DAS-
- NAS向く
- SAN-
- DAS1台なら可
- NAS-
- SAN向く
- DAS-
- NAS-
- SAN向く
- DAS-
- NAS向く
- SAN-
- DAS向く
- NAS-
- SAN-
図の仮想マシンは、1台の物理サーバの上で動く仮想のコンピュータです。仮想マシンの仕組みは、仮想化の記事で説明しています。
費用と手間の面では、一般にSANのほうが大がかりです。ファイバチャネルのSANでは、専用のスイッチやアダプタを用意し、ネットワークをもう1つ管理するからです。NASは既存のLANにつなげる分、始めやすい方式です。
NASをバックアップの置き場にするときは、置き場所にも気を付けます。元のデータと同じ建物にあると、火災や水害で両方を失います。置き場所の分け方には、フル・差分・増分バックアップの記事で紹介した3-2-1ルールがあります。
クラウドのストレージとの対応
クラウドのストレージも、ブロックとファイルの区別をそのまま引き継いでいます。AWSでは、仮想サーバに付けるAmazon EBSがブロックストレージで、複数のサーバで共有するAmazon EFSがファイルストレージです。2つの違いは、EBSとEFSの記事で比べています。
クラウドには、ブロックとファイルのほかに、オブジェクトストレージという3つ目の種類があります。データをオブジェクトという単位で置く方式で、AWSではAmazon S3が当たります。ブロック・ファイルとの違いは、オブジェクトストレージの記事で比べています。
練習問題(全5問)
正解:LANに
NASは、
解説記事:NASと
正解:サーバに
SANは、
解説記事:ブロック単位と
正解:SCSIの
iSCSIは、
解説記事:NASと
正解:互いの
普通の
解説記事:SANで
正解:NAS
NASは
解説記事:使い分けの
選んでから「採点する」を押すと、解説つきで答え合わせができます。
参考にした資料
- SNIA Dictionary(Direct Attached Storage・Network Attached Storage・Storage Area Network・block storage・file storage・file system・Fibre Channel・iSCSIの各項目)
- Fibre Channel Industry Association: Overview
- RFC 7143: Internet Small Computer System Interface (iSCSI) Protocol (Consolidated)
- RFC 7530: Network File System (NFS) Version 4 Protocol
- Microsoft [MS-SMB2]: Server Message Block (SMB) Protocol Versions 2 and 3, Overview
- AWS: Compare block, file, object storage
- Amazon EBS User Guide: Attach an EBS volume to multiple EC2 instances using Multi-Attach