スパニング (スパニング) とは | 意味や読み方など丁寧でわかりやすい用語解説
スパニング (スパニング) の読み方
日本語表記
スパニング (スパニング)
英語表記
spanning (スパンニング)
スパニング (スパニング) の意味や用語解説
スパニングとは、複数の物理的な要素を論理的に結合し、あたかも一つの大きな要素であるかのように見せる技術の総称である。この技術は、主にストレージやネットワークの分野で利用され、それぞれ異なる目的と仕組みを持つ。システムを設計、構築、運用する上で、物理的な制約を超えてリソースを柔軟に活用するために不可欠な概念の一つと言える。スパニングの基本的な目的は、容量の拡張、管理の簡素化、あるいはシステムの安定性向上にあり、対象とする分野によってその主眼が異なる。 まず、ストレージ分野におけるスパニングについて解説する。これは、複数の物理的なハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)を連結し、オペレーティングシステム(OS)からは一つの巨大なボリューム(ドライブ)として認識させる技術を指す。この技術はJBOD(Just a Bunch of Disks)やリニアRAIDとも呼ばれる。例えば、1TBのディスクを3台用意した場合、スパニングを適用することでOS上では3TBの一つのドライブとして扱えるようになる。この技術の最大の利点は、物理ディスクの容量を無駄なく最大限に活用できることにある。特に、容量が異なる複数のディスクを組み合わせる際に有効であり、それぞれのディスク容量を単純に合算したサイズのボリュームを作成できる。データの書き込みは、最初のディスクが一杯になると次のディスクへ、というように順次行われる。これにより、物理的なディスクの数を意識することなく、大容量のデータを一元的に管理できるため、管理が簡素化されるというメリットもある。しかし、この方式には耐障害性の観点から大きな弱点が存在する。スパニングで構成されたボリュームは、構成要素である物理ディスクのうち一台でも故障すると、ボリューム全体が読み書き不能になる可能性が非常に高い。データが複数のディスクにまたがって保存されているため、一部が欠損するだけで全体の整合性が失われるからである。したがって、重要なデータを保存する場合には、別途バックアップを取得するなどの対策が必須となる。性能面では、データの読み書きが一度に一つのディスクに対してしか行われないため、ディスク単体の場合と比べて速度が向上することはない。 次に、ネットワーク分野で「スパニング」という言葉が使われる代表的な技術として、スパニングツリープロトコル(STP)がある。これは、ストレージのスパニングとは目的が大きく異なり、ネットワークの冗長性を確保しつつ、通信のループを防ぐために用いられる。物理的にループ構成を持つネットワーク、すなわち複数の経路でスイッチ同士が接続されている環境では、耐障害性が向上するという利点がある。例えば、あるスイッチ間のケーブルが断線しても、別の経路を利用して通信を継続できる。しかし、このような冗長構成は、そのままでは「ブロードキャストストーム」と呼ばれる深刻な問題を引き起こす。ブロードキャストフレーム(宛先を指定せず、同一ネットワーク上の全機器に送信されるデータ)がループ状の経路を無限に巡回し始め、ネットワーク帯域をすべて消費し、最終的にネットワーク全体の通信を麻痺させてしまうのである。スパニングツリープロトコルは、このループ問題を解決するために、物理的には接続されていても、論理的に一部のポートをブロック(通信を遮断)する。これにより、ネットワーク全体でループのない木構造(ツリー構造)を形成し、データが一方向にのみ流れるように制御するのである。この、ネットワーク全体にまたがる(spanする)一本の木(tree)を構築するという動作から、スパニングツリーと名付けられた。STPは、スイッチ間でBPDU(Bridge Protocol Data Unit)と呼ばれる制御フレームを定期的に交換し、ネットワークの中心となるルートブリッジ(親スイッチ)を決定し、各スイッチからルートブリッジへの最短経路を計算する。そして、最短経路を構成するポート以外は、予備の経路としてブロック状態にする。通常時はブロックされているポートも、現用の経路に障害が発生した際には自動的に通信可能な状態に切り替わり、通信の継続性を確保する役割を担う。このように、ネットワークにおけるスパニングは、物理的な冗長構成の利点を活かしつつ、論理的な制御によって安定した通信を実現するための重要な技術である。 以上のように、「スパニング」という用語は、文脈によって指し示す技術が異なる。ストレージ分野では主に物理リソースを連結して容量を拡張する技術を指し、ネットワーク分野では冗長化された経路からループを排除し、安定性を確保するプロトコルを指す。システムエンジニアとしては、単に言葉を覚えるだけでなく、それがどの技術領域で、どのような目的で使われているのかを正確に理解することが極めて重要である。