現在のエンタープライズ向けストレージは高機能化が著しく、さまざまな高度な機能が実装されています。多数のHDDを格納した大きな箱だと思ってしまうのは全くの見当違いで、実体としてはむしろ、大容量のDASストレージを抱えたサーバ、と見る方がむしろ実情に近いでしょう。あるいは、組込型OSを備えたアプライアンス、と見ることも可能でしょう。
ストレージとソフトウェアの関係
かつてのストレージは単純なハードウェアであり、RAIDコントローラのファームウェア程度しかソフトウェアらしきものは見られませんでしたが、現在では機能が高度化し、その多くがソフトウェアとして実装されていることもあって、ストレージの制御用にサーバが組み込まれている、と言っても過言でない状況になっています。
現在では、追加機能を「ストレージソフトウェア」としてストレージにインストールし、実行させる形態も珍しくありません。これらのソフトウェアの実行のためにも、ストレージにはサーバと同様の高性能なプロセッサやメモリ、OSが搭載されることになります。
ストレージに組み込まれて利用されるOSは、おおよそ3種類に分けられます。ストレージ・ベンダがストレージ専用に開発した専用OS、Linuxをベースに組込みOS化したもの、そして、Microsoftが提供するWindows Storage Server 2003です。
ストレージベンダの専用OSは、最初からストレージで利用のために特化した設計が行われたもので、ストレージに必要な機能に絞った軽量なOSで、ストレージアクセスのパフォーマンスも高いものです。メリットは多いですが、専用OSを開発してメンテナンスを続けていくのは簡単なことではなく、提供できるのはストレージ専門ベンダの中でも、ある程度大規模で歴史と技術力のある一部ベンダに限られます。
一方、Linuxやオープンソースソフトウェアをベースにストレージ向けにカスタマイズしたものは、コンシューマ向けのNAS製品などでもよく利用されています。こちらは低コストで実現できることが最大の特徴となります。
Windows Storage Server 2003は、MicrosoftがWindows Serverをベースにストレージ専用OSとしてカスタマイズし、ストレージベンダ向けにOEM提供しているものです。Windowsの強みである豊富なデバイス対応やGUIによるインターフェースが活かされています。
いずれの場合も通常のサーバとは異なり、OSとして何が採用されているかはストレージ製品ごとに決まっていて、ユーザが任意にストレージOSを選択することはできません。そのため、ストレージOSの詳細についてあまり気にしすぎるのは意味がないのですが、運用管理の手法などに違いが出るため、可能であれば統一すれば、運用管理負担を軽減することができるでしょう。
ストレージソフトウェアの特徴
ネットワーク・レイヤでサーバと通信を行い、ファイル名によってアクセス先を決定するNASでは、TCP/IPプロトコル・スタック等が必要になることもあって、何らかのストレージOSが組み込まれることが多いですが、ブロック単位でのアクセスが主となるSANストレージでも、最近では高度な機能が実装される例が増えていることから、OSが搭載されることが一般的になってきています。
ストレージOSでは、搭載されている多数のHDDを効率よく並列動作させ、ネットワーク経由で送られてくるリクエストにレスポンス良く応答してデータ転送を行うことが主たる役目となります。これに加えて、現在ではレプリケーション/スナップショットの機能などがストレージ側で実装される例が増えていることから、こうした追加機能の実行もストレージOSの役目となっています。
なお、ディスク領域をブロックの形で提供するSANストレージの場合は、ファイルシステムの構築/管理はサーバ側の役割となりますが、NASの場合はストレージ自体がファイルシステムを構築/管理し、サーバとのインターフェイスはネットワークプロトコルを介して行うため、目的に応じてさまざまなファイルシステムを利用することが可能です。このファイルシステムの管理も、ストレージOSの役割となります。LinuxをベースにしたOSを搭載するNASでは、Linux用に開発された各種のファイルシステムが利用されることが一般です。一方、ストレージベンダが開発した専用OSの場合、ファイルシステムにもNASに特化した設計の専用ファイルシステムを採用している例があり、こうした点も製品の魅力につながっています。