この連載では、SAN(Storage Area Network)やNAS(Network Attached Storage)などのいわゆる「ストレージネットワーク」を中心に、データセンターを構成するサーバや外部記憶装置(ストレージ)、さらにはネットワークの最新の市場動向や関連技術を5回にわたって解説する。第3回となる今回は「ストレージネットワークの概要」をテーマに、ストレージネットワークを構成するうえで現在使用されている具体的な要素技術を解説する。
ブロックアクセスとファイルアクセス
今回はストレージネットワークで今日使用されているプロトコルなどの技術を紹介するが、前提知識としてまず知っておいてほしいのが、「ファイルアクセス」と「ブロックアクセス」という概念である。ここでは、私たちがファイルサーバにデータを保存(格納)して、それがディスク/テープに格納されるという状況を想定して、この両者を説明していこう(図1)。
ファイルを単位としたデータアクセス
私たちはデータにアクセスする際、データを“ファイル”という形で認識している。ファイルはアプリケーションと密接に結びついており、私たちが使用するアプリケーションに応じたファイル形式が存在する。普段使用しているファイル形式として代表的なものといえば、「Microsoft Word」のファイル(拡張子は「.doc」)、「Microsoft Excel」のファイル(拡張子は「.xls」)などであろう。
ファイルは実体としては“データの塊”にすぎないが、それを私たち人間(そしてアプリケーション)にとって認識しやすいように、いわば“仮想化”しているわけである。クライアントPCからNASなどのファイルサーバにデータを保存する場合など、ファイルを単位としたデータアクセスをネットワーク経由で行う際には、CIFS(Common Internet File System)やNFS(Network File System)といったネットワークプロトコルが使用される。
第1回でも紹介したが、これらはTCP(もしくはUDP)/IP上で動作する一種のアプリケーションであり、イーサネット(Ethernet)など通常のLAN(Local Area Network)を通信媒体(メディア)として使用できる。このようにファイルを前提としたデータアクセスの方式を、ここでは「ファイルアクセス」と呼ぶ。ファイルには「更新日時」や「アクセス権」など、さまざまな「属性情報」を付与することができる。これらの属性を利用してファイル管理をより柔軟、かつ効果的に行うことも可能であり、このような管理ネットワークを総称して「File Area Network(FAN)」などと呼ぶ場合もある。
ブロックアクセスは高速
一方、コンピュータとストレージの間では多くの場合、SCSIコマンドを用いてデータの送受信を行っている。ここではデータをある大きさに区切って、それを送受信の単位としている。これを“ブロック”と呼び、ブロックを前提にしたデータのやり取りの形態をここでは「ブロックアクセス」と呼ぶ。
NASがファイルアクセスを前提としているのに対して、SANはブロックアクセス、言い換えるとその上位でSCSIプロトコル(コマンド)を送受信するネットワークの総称である。ブロックアクセスの場合、ファイルのように細かく属性情報を付与することは困難だが、ブロックアクセスのデータ転送は一般に、ファイルアクセスに比べて高速である。したがって、高速・大容量のデータをやり取りする場合には、ブロックアクセスのプロトコルを使用するのが一般的である。
上記の通り、ファイルアクセスとブロックアクセスには多くの違いが存在する(図2)。ファイルアクセスとブロックアクセスは一長一短とも言えるため、用途にあわせて使い分けるのが賢い選択と言えるだろう。