Windows Server のソフトウェアによる記憶域とは

完了

ソフトウェアによる記憶域は、Azure Stack HCI の基本構成要素の 1 つです。 ただし、Hyper-V やフェールオーバー クラスタリングとは異なり、ソフトウェアによる記憶域は個別のサーバーの役割でも機能でもありません。 そうではなく、相互に頻繁に補完するさまざまなテクノロジで構成されています。 これらのテクノロジを組み合わせて、ゲスト クラスタリングや HCI などのさまざまな記憶域仮想化シナリオを実装することができます。 このようなテクノロジとしては、記憶域スペース、クラスターの共有ボリューム (CSV)、サーバー メッセージ ブロック (SMB)、SMB マルチチャネル、SMB ダイレクト、Scale Out ファイル サーバー (SOFS)、記憶域スペース ダイレクト (S2D)、記憶域レプリカなどがあります。 概念実証環境で Azure Stack HCI を使用するには、これらのテクノロジのほとんどを利用します。

Note

これは包括的なリストではありませんが、Azure Stack HCI でのソフトウェアによる記憶域のコア機能について基本的に理解するには十分です。

ソフトウェアによる記憶域とは

ソフトウェアによる記憶域では、記憶域の仮想化を使用して、記憶域の管理と、基になる物理ハードウェアからのプレゼンテーションが分離されます。 このアプローチの主な利点の 1 つは、記憶域リソースのプロビジョニングとアクセスが簡略化されることです。

ソフトウェアによる記憶域を使用する理由

ソフトウェアによる記憶域を使用すると、仮想化されたワークロードを実装するとき、サードパーティ ベンダーの仕様に従って、論理ユニット番号 (LUN) と記憶域ネットワーク (SAN) スイッチを構成する必要はなくなります。 代わりに、基になるハードウェアに関係なく、同じ一貫した方法で記憶域を管理することができます。 さらに、独自のコストの高いテクノロジを、柔軟で経済的なハードウェアベースのソリューションに置き換えることもできます。 専用の SAN を利用して高可用性で高パフォーマンスの記憶域を実現するのではなく、リモート ファイル共有プロトコルと高帯域幅で低遅延のネットワークで拡張機能を使用することにより、ローカル ディスクを使用できます。

記憶域スペースは、クラスター化されていないシナリオでのソフトウェアによる記憶域の最もシンプルな例です。

記憶域スペース

記憶域スペースは、Microsoft によって Azure Stack HCI、Windows Server、Windows 10 に組み込まれている記憶域仮想化機能です。 記憶域スペース機能は、次の 2 つのコンポーネントで構成されています。

  • 記憶域プールは、1 つのエンティティとして管理できる論理ディスクに集約された物理ディスクの集まりです。 記憶域プールには、任意の種類とサイズの物理ディスクを含めることができます。
  • 記憶域スペースは、記憶域プールの空き領域から作成できる仮想ディスクです。 仮想ディスクは、SAN 上の LUN に相当します。

記憶域スペースを使用する理由

記憶域スペースを使用する最も一般的な理由としては、次のようなものがあります。

  • ミラーリングやパリティなど、記憶域の回復性レベルの引き上げ。 仮想ディスクの回復性は、Redundant Array of Independent Disks (RAID) テクノロジに似ています。
  • ストレージ層を使用することによる記憶域のパフォーマンスの向上。 ストレージ層を使用すると、記憶域スペースでのさまざまなディスクの種類の使用を最適化できます。 たとえば、高速でも容量の小さいソリッドステート ドライブ (SSD) と、低速でも大容量のハード ディスクを組み合わせて使用できます。 このようなディスクの組み合わせを使用すると、頻繁にアクセスされるデータが記憶域スペースによって自動的に高速ディスクに移動されます。 その後、アクセス頻度の低いデータは低速ディスクに移動されます。
  • ライトバック キャッシュを使用することによるストレージのパフォーマンスの向上。 ライトバック キャッシュの目的は、記憶域スペース内のディスクへのデータの書き込みを最適化することです。 ライトバック キャッシュは、ストレージ層で動作します。 記憶域スペースが実行されているサーバーによって、ディスク書き込みアクティビティのピークが検出されると、より速いディスクへのデータの書き込みが自動的に開始されます。
  • 仮想プロビジョニングを使用することによる記憶域の効率の向上。 仮想プロビジョニングを使用すると、必要に応じて記憶域をすぐに割り当てることができます。 従来の固定的な記憶域割り当て方法では、記憶域容量の大きな部分が事前に割り当てられていても未使用のままになる可能性があります。 仮想プロビジョニングでは、トリミングと呼ばれる処理を使用して、不要になった記憶域を再利用することにより、使用可能な記憶域が最適化されます。

クラスター化されたシナリオでのソフトウェアによる記憶域の最もシンプルな例は、クラスターの共有ボリューム (CSV) です。

クラスター共有ボリューム

CSV はクラスター化されたファイル システムであり、フェールオーバー クラスターの複数のノードで、同じ記憶域ボリュームのセットの読み取りと書き込みを同時に実行できるようになります。 CSV ボリュームは、各クラスター ノードの C:\ClusterStorage\ ディレクトリ内のサブディレクトリにマップされます。 このマッピングにより、複数のクラスター ノードが同じファイル システム パスを通して同じコンテンツにアクセスできるようになります。 ノードごとに特定のボリューム上の個々のファイルに対する読み取りと書き込みを個別に行うことができますが、1 つのクラスター ノードはそのボリュームの CSV 所有者 (または "コーディネーター") という特別な役割を果たします。 個々のボリュームを特定の所有者に割り当てることができます。 ただし、CSV の所有権はフェールオーバー クラスターによりクラスター ノード間に自動的に分散されます。

The correlation between the storage pool, CSVs, and C:\ClusterStorage\ file system directories. CSVs correspond to individual volumes, which are part of the same storage pool.

ある CSV ボリュームでファイル システム メタデータの変更が行われると、所有者により、その変更が実装され、オーケストレーションが管理されて、そのボリュームにアクセスできるすべてのクラスター ノードでそれらが同期されます。 そのような変更には、ファイルの作成または削除が含まれます。 ただし、CSV ボリュームで開かれているファイルへの標準の書き込み操作と読み取り操作は、メタデータに影響しません。 実質的には、基になる記憶域に直接接続できる各クラスター ノードは、そのボリュームの CSV 所有者に依存することなく、個別にそれらを実行できます。

CSV を使用する理由

CSV の最も一般的な用途は次のとおりです。

  • クラスター化された Hyper-V VM。
  • SMB 3.x 経由でアクセス可能なアプリケーション データをホストするスケールアウト ファイル共有。

サーバー メッセージ ブロック 3.x

SMB プロトコルはネットワーク ファイル共有プロトコルであり、TCP/IP トランスポート プロトコルを使用する従来のイーサネット ネットワーク経由でのファイルへのアクセスが提供されます。 SMB は、ソフトウェアによる記憶域テクノロジのコア コンポーネントの 1 つとして機能します。 SMB バージョン 3.0 は、Microsoft によって Windows Server 2012 で導入され、以降のリリースで段階的に改善されています。

SMB を使用する理由

SMB の最も一般的な用途は次のとおりです。

  • VM ディスク ファイル用の記憶域 (Hyper-V over SMB)。 Hyper-V では、SMB 3.x プロトコルを使用して、構成、VM ディスク ファイル、チェックポイントなどの VM ファイルをファイル共有に格納できます。 これらの VM ファイルは、スタンドアロン ファイル サーバーと、Hyper-V と共にクラスター用の共有ファイル記憶域を使用するクラスター化されたファイル サーバーの両方に使用できます。
  • Microsoft SQL Server over SMB。 SQL Server は、SMB を使用するファイル共有にユーザーのデータベース ファイルを格納できます。
  • エンド ユーザー データの従来型ストレージ。 SMB 3.x プロトコルにより、従来のインフォメーション ワーカーのワークロードがサポートされます。

SMB 3.x では、SMB マルチチャネルと SMB ダイレクトがサポートされています。

SMB マルチチャネル

SMB マルチチャネルは SMB 3.x プロトコルの実装の一部であり、Windows Server が実行されているデバイスまたはファイル サーバーとして動作する Azure Stack HCI クラスター ノードの、ネットワーク パフォーマンスと可用性が大幅に向上します。 SMB マルチチャネルを使用すると、そのようなサーバーで複数のネットワーク接続を利用して、次の機能を提供できます。

  • 高スループット。 ファイル サーバーで、複数の接続を使用して、より多くのデータを同時に転送できます。 SMB マルチチャネルは、複数の高速ネットワーク アダプターを備えたサーバーを使用するときに便利です。
  • 自動構成。 SMB マルチチャネルにより、使用可能な複数のネットワーク パスが自動的に検出され、必要に応じて接続が動的に追加されます。
  • ネットワーク フォールト トレランス。 SMB 3.x サーバーへのネットワーク パスの 1 つで問題が発生したために既存の接続が終了された場合、 SMB 3.x クライアントには、別のものに自動的にフェールオーバーする機能が組み込まれています。

SMB ダイレクト

SMB ダイレクトにより、リモート直接メモリ アクセス (RDMA) ネットワーク アダプターの使用が SMB トラフィック用に最適化され、低遅延で低 CPU 使用率のまま、最高速度で機能できるようになります。 SMB ダイレクトは、Hyper-V や Microsoft SQL Server などのワークロードがリモート SMB 3.x ファイル サーバーを利用してローカル記憶域をエミュレートするシナリオに適しています。 SMB ダイレクトは、現在サポートされているすべてのバージョンの Windows Server と Azure Stack HCI において使用でき、既定で有効になります。

SMB マルチチャネルにより、SMB ダイレクトを有効にするために必要なネットワーク アダプターの RDMA 機能が検出されます。 インターフェイスごとに 2 つの RDMA 接続が自動的に作成されます。 適切な構成が識別された場合、SMB クライアントにより自動的に複数のネットワーク接続が検出されて、使用されます。

SMB 3.x テクノロジと CSV は、SOFS の基礎として機能します。

スケールアウト ファイル サーバー

SOFS は、CSV ベースのフェールオーバー クラスタリング機能です。 ファイル サービス サーバーの役割をクラスターの役割として構成するときに、"のファイル サーバー" として、または "アプリケーション データ用のスケールアウト ファイル サーバー" として設定できます。 前者のオプションを使用すると、いずれかのクラスター ノードを介してアクセス可能な高可用性の共有フォルダーが実装されます。 そのノードで障害が発生した場合、別のノードによって役割とそのリソースの所有権が取得されて、共有フォルダーの可用性が維持されます。 ただし、クライアントは常に 1 つのノードを介してそれらにアクセスします。 SOFS によって実装される別のアプローチでは、共有フォルダーが CSV ベースのボリュームに存在します。

SOFS を使用する理由

SOFS には次のようなメリットがあります。

  • スケーリングの向上。 クライアントから共有フォルダーへのアクセスは複数のノードを介して行われるため、アクセス要求の量が増えた場合は、SOFS に別のノードを追加できます。
  • 使用率の負荷分散。 すべてのフェールオーバー クラスター ノードで、1 つ以上の SOFS を対象とするクライアントの読み取り要求と書き込み要求を受け付けて処理できます。 それらの帯域幅とプロセッサ能力を組み合わせることにより、単一のノードより高い使用率を実現できます。 SOFS を使用すると、すべてのクラスター ノード全体で対応できる数のクライアントをサポートできるため、1 つのクラスター ノードがボトルネックになることはなくなります。
  • 無停止でのメンテナンス、更新、ノード障害への対応。 ディスク破損の問題の修正、メンテナンスの実行、更新、フェールオーバー クラスター ノードの再起動により、SOFS の可用性が影響を受けることはありません。 また、SOFS には、ノードの障害によってトリガーされる透過的なフェールオーバーも用意されています。

SOFS を使用して、ゲスト クラスタリングを実装することもできます。

ゲスト クラスタ リング

物理サーバーのフェールオーバー クラスタリングと同じように、ゲストのフェールオーバー クラスタリングを構成します。ただし、クラスター ノードは VM です。 このシナリオでは、2 つ以上の VM を作成し、ゲスト オペレーティング システム内でフェールオーバー クラスタリングを実装します。 その後は、アプリケーションまたはサービスで、VM 間の高可用性を利用できます。 1 つのホストに VM を配置することもできますが、運用環境のシナリオでは、フェールオーバー クラスタリングが有効な Hyper-V ホスト コンピューターを個別に使用する必要があります。 ホストと VM の両方のレベルでフェールオーバー クラスタリングを実装した後、VM またはホスト ノードで障害が発生したかどうかに関係なく、リソースを再起動することができます。

クラスター化された VM からファイバー チャネルまたはインターネット SCSI (iSCSI) を使用して接続できる共有記憶域を、Hyper-V VM で使用できます。 または、共有仮想ハード ディスク機能を使用して、クラスター化された Hyper-V ホスト上に共有記憶域を構成した後、クラスター化された VM に共有ディスクをアタッチすることもできます。

共有仮想ハード ディスクは、次のシナリオで使用できます。

  • Hyper-V ホスト クラスター上の CSV。 このシナリオでは、共有仮想ハード ディスク ファイルを含むすべての仮想マシン ファイルが、クラスター化された VM 用の共有記憶域として構成されている CSV に格納されます。
  • 別の記憶域クラスター上の SOFS。 このシナリオでは、共有仮想ハード ディスク ファイルの場所として、SMB ファイル ベースの記憶域を使用します。

どちらのシナリオでも、記憶域スペース ダイレクトを使用して記憶域を実装できます。

記憶域スペース ダイレクト

記憶域スペース ダイレクトは、記憶域スペースの進化を表します。 各記憶域スペース ダイレクト クラスター ノードのローカル ディスクを使用することにより、記憶域スペース、フェールオーバー クラスタリング、CSV、および SMB 3.x を利用して、仮想化された高可用性のクラスター化された記憶域が適用されます。 VM や SQL Server データベースなど、可用性の高いワークロードをホストするのに適しています。 記憶域スペース ダイレクトにより、フェールオーバー クラスタリングのシナリオにおいて、複数のクラスター ノードに記憶装置をアタッチする必要がなくなります。

The architecture of a typical Storage Spaces Direct implementation, including the storage pool, software storage bus, cluster, Storage Spaces, CSV, and Hyper-V VMs.

この方法でローカル ディスクを使用するには、ノード間に高帯域幅で低遅延のネットワークが必要です。 この要件を満たすには、ハイエンドの RDMA ネットワーク アダプターと組み合わせて、冗長なネットワーク接続を配置する必要があります。 このアーキテクチャにより、SMB 3.x、SMB ダイレクト、SMB マルチチャネルなどのテクノロジを利用して、CPU 効率が高く高速で低遅延の記憶域アクセスを実現できます。

記憶域スペース ダイレクトの Hyper-V ワークロード モデル

記憶域スペース ダイレクトを使用した Hyper-V ワークロードには、2 つの配置モデルがあります。

  • 非集約。 非集約モデルの場合は、Hyper-V ホスト (コンピューティング) は記憶域スペース ダイレクト ホスト (記憶域) とは別のクラスターにあります。 SOFS を利用して記憶域クラスターにファイルを格納するように、Hyper-V VM を構成します。これにより、Hyper-V クラスター (コンピューティング) と S2D ベースのクラスター (記憶域) を個別にスケーリングできます。
  • ハイパーコンバージド。 ハイパーコンバージド モデルの場合は、クラスター ノードが Hyper-V ホスト (コンピューティング) と記憶域スペース ダイレクト ホスト (記憶域) の両方として動作します。 このデプロイ モデルでは、コンピューティングと記憶域が同じクラスター ノードのセットに併置されます。 クラスターをスケールアップするには、ノードの数を増やす必要があります。

Note

Azure Stack HCI はハイパーコンバージド モデルの例であり、SOFS は使用されません。

Hyper-V のワークロードの回復性を高めるのに、記憶域レプリカを使用できます。

記憶域レプリカ

記憶域レプリカを使用すると、物理的に異なる場所にあるサーバーまたはクラスターの間で、記憶域に依存しないブロック レベルのレプリケーションを同期的または非同期的に行うことができます。

記憶域レプリカを使用する理由

記憶域レプリカを使用すると、2 つの異なる物理サイトにまたがる拡張フェールオーバー クラスターを作成し、すべてのノードを同期状態に維持することができます。同期レプリケーションを使用すると、相互に比較的近くにあるサイト間でボリュームがレプリケートされます。 レプリケーションはクラッシュ整合であり、フェールオーバーの間にファイル システム レベルでのデータ損失をゼロにするのに役立ちます。 非同期レプリケーションを使用すると、ネットワーク ラウンドトリップ待機時間が 5 ミリ秒 (ms) を超える長い距離でレプリケーションを実行できますが、データが失われる可能性があります。 データ損失の程度は、ソースとターゲットのボリューム間のレプリケーションの遅延によって異なります。

Note

Azure Stack HCI ストレッチ クラスターでは、記憶域レプリカが使用されます。

自分の知識をチェックする

1.

Windows Server 2019 フェールオーバー クラスターの各ノードのローカル ディスクを使用して、仮想化されて高可用性のクラスター化された記憶域が実装される、ソフトウェアによる記憶域の機能はどれですか?

2.

記憶域スペース ダイレクトの非集約配置モデルに必要な Windows Server フェールオーバー クラスターの最低限の数はいくつですか?