ストレージエリアネットワーク(SAN)またはストレージネットワークとは、統合されたブロックレベルのデータストレージへのアクセスを提供するコンピュータネットワークです。SANは主に、サーバーからディスクアレイやテープライブラリなどのデータストレージデバイスにアクセスするために使用され、オペレーティングシステムからはそれらのデバイスが直接接続されたストレージとして認識されます。SANは通常、ローカルエリアネットワーク(LAN)経由ではアクセスできないストレージデバイス専用のネットワークです。
SANはブロックレベルのアクセスしか提供しませんが、SAN上に構築されたファイルシステムはファイルレベルのアクセスを提供し、共有ディスクファイルシステムとして知られています。
新しいSAN構成ではハイブリッドSAN [ 1 ]が可能になり、ローカルストレージとして認識される従来のブロックストレージだけでなく、APIを介したWebサービス用のオブジェクトストレージも可能になります。

ストレージエリアネットワーク (SAN) は、サーバーの背後にあるネットワークと呼ばれることもあります[ 2 ] : 11歴史的には、独自のデータネットワークを持つ集中型データストレージモデルから発展しました。SAN は、最も単純な形では、データストレージ専用のネットワークです。データの保存に加えて、SAN はデータの自動バックアップ、ストレージとバックアッププロセスの監視を可能にします。[ 3 ] : 16–17 SAN はハードウェアとソフトウェアの組み合わせです。[ 3 ] : 9これは、ネットワーク内のクライアントが異なる種類のデータを保存する複数のサーバーに接続できるデータ中心のメインフレームアーキテクチャから発展しました。 [ 3 ] : 11データ量の増加に伴ってストレージ容量を拡張するために、ディスクアレイまたはディスクの集合(JBOD) がサーバーに接続される直接接続ストレージ(DAS) が開発されました。このアーキテクチャでは、ストレージデバイスを追加してストレージ容量を増やすことができます。しかし、ストレージデバイスへのアクセスに使用されるサーバーは単一障害点であり、LANネットワーク帯域幅の大部分がデータのアクセス、保存、バックアップに使用されます。この単一障害点の問題を解決するために、複数のサーバーが同じストレージデバイスにアクセスできる直接接続型共有ストレージアーキテクチャが実装されました。 [ 3 ]: 16-17
DAS は最初のネットワーク ストレージ システムであり、データ ストレージ要件がそれほど高くない場所では今でも広く使用されています。そこから、LAN 内に1 つ以上の専用ファイル サーバーまたはストレージ デバイスが利用可能になるネットワーク接続ストレージ(NAS) アーキテクチャが開発されました。 [ 3 ] : 18そのため、特にバックアップのためのデータ転送は、既存の LAN を介して行われています。一度に 1 テラバイトを超えるデータが保存されると、LAN の帯域幅がボトルネックになります。[ 3 ] : 21–22そこで、LAN に専用ストレージ ネットワークが接続され、テラバイトのデータが専用の高速かつ高帯域幅のネットワークを介して転送される SAN が開発されました。SAN 内では、ストレージ デバイスが相互接続されています。バックアップなどのストレージ デバイス間のデータ転送は、サーバーの背後で行われ、透過的であるように設計されています。[ 3 ] : 22 NAS アーキテクチャでは、イーサネット上でTCPおよびIPプロトコルを使用してデータが転送されます。 SAN向けには、ファイバーチャネル、iSCSI、Infinibandなどの独自のプロトコルが開発されました。そのため、SANは多くの場合、独自のネットワーク機器とストレージ機器を備えており、それらを購入、設置、構成する必要があります。このため、SANは本質的にNASアーキテクチャよりも高価になります。[ 3 ]: 29

SANは、SANスイッチなどの独自のネットワークデバイスを備えています。SANにアクセスするには、いわゆるSANサーバーが使用され、SANサーバーはSANホストアダプタに接続されます。SAN内では、SAN対応ディスクアレイ、JBOD、テープライブラリなど、さまざまなデータストレージデバイスが相互接続される可能性があります。[ 3 ]: 32、35 ~36
SANとそのストレージデバイスへのアクセスを可能にするサーバーは、SANのホスト層を構成すると言われています。このようなサーバーにはホストアダプタが搭載されており、これはサーバーのマザーボード上のスロット(通常はPCIスロット)に取り付けられるカードで、対応するファームウェアとデバイスドライバが動作します。ホストアダプタを介して、サーバーのオペレーティングシステムはSAN内のストレージデバイスと通信できます。[ 4 ]: 26
ファイバーチャネルの展開では、ケーブルはギガビットインターフェイスコンバータ(GBIC)を介してホストアダプタに接続されます。GBICはSAN内のスイッチやストレージデバイスにも使用され、デジタルビットをファイバーチャネルケーブルで送信できる光パルスに変換します。逆に、GBICは入力された光パルスをデジタルビットに変換します。GBICの前身はギガビットリンクモジュール(GLM)と呼ばれていました。[ 4 ]: 27
ファブリック層は、SANスイッチ、ルータ、プロトコルブリッジ、ゲートウェイデバイス、ケーブルなどのSANネットワークデバイスで構成されます。SANネットワークデバイスは、SAN内、またはサーバのHBAポートなどのイニシエータとストレージデバイスのポートなどのターゲット間でデータを転送します。
SANが最初に構築されたとき、ファイバーチャネルに対応できるデバイスはハブだけでしたが、ファイバーチャネルスイッチが開発され、現在ではSANでハブを見かけることはほとんどありません。スイッチは、接続されているすべてのデバイスが同時に通信できるという点でハブよりも優れています。スイッチは、すべてのポートを相互に接続するための専用リンクを提供するからです。[ 4 ]: 34 SANが最初に構築されたとき、ファイバーチャネルは銅線ケーブル上で実装する必要がありましたが、現在ではSANではマルチモード光ファイバーケーブルが使用されています。 [ 4 ]: 40
SANは通常冗長性を備えて構築されるため、SANスイッチは冗長リンクで接続されます。SANスイッチはサーバーとストレージデバイスを接続し、通常はノンブロッキング方式で、接続されているすべてのワイヤを介して同時にデータを送信できます。[ 4 ] : 29 SANスイッチは冗長性のためにメッシュトポロジーで構成されます。単一のSANスイッチは、最小8ポートから最大32ポートまで、モジュール式拡張によって構成できます。[ 4 ] : 35いわゆるディレクタークラスのスイッチは、最大128ポートまで構成できます。[ 4 ] : 36
スイッチドSANでは、ファイバーチャネルスイッチドファブリックプロトコルFC-SW-6が使用され、SAN内のすべてのデバイスのホストバスアダプタ(HBA)にハードコードされたワールドワイドネーム(WWN)アドレスが割り当てられます。デバイスがSANに接続されると、そのWWNはSANスイッチネームサーバに登録されます。[ 4 ]: 47 WWN、またはワールドワイドポート名(WWPN)の代わりに、SANファイバーチャネルストレージデバイスベンダーは、ワールドワイドノード名(WWNN)をハードコードすることもあります。ストレージデバイスのポートのWWNは5で始まることが多く、サーバのバスアダプタのWWNは10または21で始まります。[ 4 ]: 47

シリアル化されたSCSI( Small Computer Systems Interface)プロトコルは、サーバーやSANストレージデバイスにおいて、ファイバーチャネルスイッチドファブリックプロトコルの上に構築されることが多い。イーサネット上のiSCSI(Internet Small Computer Systems Interface )プロトコルやInfinibandプロトコルもSANに実装されていることがあるが、多くの場合、ファイバーチャネルSANにブリッジ接続される。ただし、InfinibandおよびiSCSIストレージデバイス、特にディスクアレイは利用可能である。[ 4 ]: 47-48
SAN 内のさまざまなストレージ デバイスは、ストレージ レイヤーを構成すると言われています。これには、データを保存するさまざまなハードディスク デバイスや磁気テープデバイスが含まれます。SAN では、ディスク アレイはRAIDを介して結合され、多数のハードディスクが 1 つの大きなストレージ デバイスのように動作するようにします。[ 4 ] : 48すべてのストレージ デバイス、またはそのストレージ デバイス上のパーティションには、論理ユニット番号(LUN) が割り当てられています。これは SAN 内の一意の番号です。SAN 内のすべてのノード (サーバーまたは他のストレージ デバイス) は、LUN を参照することでストレージにアクセスできます。LUN により、SAN のストレージ容量をセグメント化し、アクセス制御を実装できます。たとえば、特定のサーバー、またはサーバーのグループには、LUN の形式で SAN ストレージ レイヤーの特定の部分のみへのアクセスが許可されます。ストレージ デバイスがデータの読み取りまたは書き込み要求を受け取ると、アクセス リストをチェックして、LUN で識別されるノードが、同じく LUN で識別されるストレージ領域へのアクセスを許可されているかどうかを確認します。[ 4 ] : 148–149 LUN マスキングは、サーバーのホストバスアダプタと SAN ソフトウェアがコマンドを受け入れる LUN を制限する技術です。これにより、サーバーがアクセスすべきでない LUN はマスクされます。[ 4 ] : 354特定の SAN ストレージ デバイスへのサーバー アクセスを制限するもう 1 つの方法は、SAN ネットワーク デバイスとサーバーによって強制されるファブリック ベースのアクセス コントロール、またはゾーニングです。ゾーニングでは、サーバー アクセスは特定の SAN ゾーンにあるストレージ デバイスに制限されます。[ 5 ] : 148–149 LUN マスキングは、サーバーのホスト バス アダプタと SAN ソフトウェアがコマンドを受け入れる LUN を制限する技術です。
他のプロトコルへのマッピング層を使用してネットワークを構築します。
ストレージネットワークは、 Serial Attached SCSI (SAS) およびSerial ATA (SATA) テクノロジーを使用して構築することもできます。SAS は SCSI ダイレクトアタッチストレージから発展しました。SATA はParallel ATAダイレクトアタッチストレージから発展しました。SAS デバイスと SATA デバイスは、 SAS エキスパンダを使用してネットワーク接続できます。
ストレージネットワーク業界協会(SNIA)は、SANを「コンピュータシステムとストレージ要素間のデータ転送を主な目的とするネットワーク」と定義しています。しかし、SANは通信インフラストラクチャだけでなく、ソフトウェア管理レイヤーも備えています。このソフトウェアは、データの転送と保存を可能にするために、サーバー、ストレージデバイス、およびネットワークを組織化します。SANは直接接続ストレージ(DAS)を使用しないため、SAN内のストレージデバイスはサーバーによって所有および管理されません。[ 2 ] : 11 SANを使用すると、サーバーは大容量のデータストレージにアクセスでき、このストレージ容量は他のサーバーからもアクセス可能です。[ 2 ] : 12さらに、SANソフトウェアは、サーバーの介入を最小限に抑えながら、SAN内のストレージデバイス間でデータが直接移動されることを保証する必要があります。[ 2 ] : 13
SAN管理ソフトウェアは、1台以上のサーバーとストレージデバイス上の管理クライアントにインストールされます。SAN管理ソフトウェアには、インバンド管理とアウトオブバンド管理という2つのアプローチがあります。インバンドとは、サーバーとストレージデバイス間の管理データがストレージデータと同じネットワーク上で送信されることを意味します。一方、アウトオブバンドとは、管理データが専用リンクを介して送信されることを意味します。[ 2 ]: 174 SAN管理ソフトウェアは、ストレージ層内のすべてのストレージデバイスから管理データを収集します。これには、読み取りおよび書き込みの失敗、ストレージ容量のボトルネック、ストレージデバイスの障害に関する情報が含まれます。SAN管理ソフトウェアは、シンプルネットワーク管理プロトコル(SNMP)と統合される場合があります。[ 2 ]: 176
1999年、ストレージデバイスの管理と相互運用性の提供を目的としたオープンスタンダードである共通情報モデル(CIM)が導入されました。CIMのWebベース版はWebベースエンタープライズ管理(WBEM)と呼ばれ、SANストレージデバイスのオブジェクトとプロセストランザクションを定義します。これらのプロトコルの使用には、オブジェクトと相互作用を管理するためのCIMオブジェクトマネージャ(CIMOM)が必要となり、SANストレージデバイスの一元管理が可能になります。SANの基本的なデバイス管理は、CIMオブジェクトとプロセスがディレクトリに登録されるストレージ管理インターフェース仕様(SMI-S)によっても実現できます。ソフトウェアアプリケーションとサブシステムは、このディレクトリを参照できます。 [ 2 ]: 177また、SANストレージデバイスを構成するための管理ソフトウェアアプリケーションも利用可能で、例えばゾーンやLUNの構成などが可能です。[ 2 ]: 178
最終的に、SANネットワークおよびストレージデバイスは多くのベンダーから提供されており、各SANベンダーは独自の管理および構成ソフトウェアを持っています。異なるベンダーのデバイスを含むSANの共通管理は、ベンダーが自社デバイスのアプリケーションプログラミングインターフェイス(API)を他のベンダーに公開した場合にのみ可能です。そのような場合、上位レベルのSAN管理ソフトウェアは、他のベンダーのSANデバイスを管理できます。[ 2 ]: 180
SANでは、データはブロックレベルで転送、保存、アクセスされます。そのため、SANはデータファイルの抽象化は提供せず、ブロックレベルのストレージと操作のみを提供します。サーバーのオペレーティングシステムは、SAN上の専用の非共有LUN上に独自のファイルシステムを維持し、あたかもローカルにあるかのように動作します。複数のシステムが単純にLUNを共有しようとすると、互いに干渉し合い、データがすぐに破損します。LUN内の異なるコンピュータ間でデータを共有するには、ソフトウェアが必要です。ファイルレベルのアクセスを提供するために、SANソフトウェアと連携するファイルシステムが開発されています。これらは共有ディスクファイルシステムとして知られています。
ビデオ編集システムには、非常に高いデータ転送速度と非常に低いレイテンシが求められます。メディアおよびエンターテイメント分野におけるSANは、ビデオワークフロー(取り込み、編集、再生)のデスクトップクライアントをサーバーに接続するのではなくSAN上に直接配置する構成のため、サーバーレスと呼ばれることがよくあります。データフローの制御は、分散ファイルシステムによって行われます。ノードごとの帯域幅使用制御(サービス品質(QoS)とも呼ばれる)は、ネットワーク全体で公平かつ優先順位付けされた帯域幅使用を保証するため、ビデオ編集において特に重要です。
SANストレージQoSは、デバイスにアクセスするネットワーク顧客に対して、必要なストレージパフォーマンスを計算して維持することを可能にします。SAN QoSに影響を与える要因には、次のようなものがあります。
あるいは、オーバープロビジョニングを使用して、ピーク時のネットワークトラフィック負荷を補うための追加容量を確保することもできます。ただし、ネットワーク負荷が予測できない場合、オーバープロビジョニングによって最終的にすべての帯域幅が消費され、レイテンシが大幅に増加し、SANのパフォーマンスが低下する可能性があります。
ストレージ仮想化とは、論理ストレージを物理ストレージから抽象化するプロセスです。物理ストレージリソースはストレージプールに集約され、そこから論理ストレージが作成されます。これにより、ユーザーにはデータストレージ用の論理空間が提供され、物理的な場所へのマッピングプロセスが透過的に処理されます。これはロケーション透過性と呼ばれる概念です。これは、多くの場合ベンダー独自の技術を使用して、最新のディスクアレイで実装されています。しかし、ストレージ仮想化の目標は、ネットワーク上に分散している異なるベンダーの複数のディスクアレイを単一のストレージデバイスにグループ化することです。単一のストレージデバイスは、その後統一的に管理できます。[ 8 ]