Windows Server 2012でのSMB透過フェールオーバー

以前の投稿で、SMB 3.0プロトコルの一部であるSMBマルチチャネルテクノロジーについて説明しました。 SMB 3.0の機能に関する議論を続け、今日はSMB透過的フェールオーバーに焦点を当てます。 名前が示すように、このテクノロジーの本質は、現在のノードのハードウェアまたはソフトウェアに障害が発生した場合に、SMBアプリケーションをフェールオーバークラスターの別のノードに透過的に切り替えることです。 SMB 3.0はWindows Server 2012およびWindows 8に実装されているため、以下のすべてはこれらのOSにのみ適用されます。



ブロックストレージの代わりにファイルストレージを使用する



Windows Server 2012のSMBおよびファイルサービスの変更により、SQL ServerデータベースやHyper-V仮想ハードドライブなどのサーバーアプリケーションデータをファイルサーバー上の共有フォルダー(ファイルボール)に配置できるようになりました。 このようなサーバーアプリケーションは、データが信頼性が高くアクセスしやすいストレージに格納されていることを前提としています。 したがって、フェイルセーフファイルクラスターを構築する、つまり、フェールオーバークラスタリングを使用して作成されたクラスターにファイルサーバーの役割を展開することにより、ファイルアクセスを使用するさまざまなサーバーアプリケーションで使用できる、汎用性の高い汎用リソースを取得できます。



ブロックストレージの代わりにファイルストレージを使用する機能には、いくつかの利点があります。



SMB透過フェールオーバーの使用とは何ですか?



Windows Server 2012ファイルクラスターでは、継続的な可用性の兆候を持つパブリックフォルダーを作成できます。 デフォルトでは、クラスター上のボールはこのタイプで作成されます。 そして、そのようなボールだけに接続する場合、SMBトランスペアレントフェイルオーバーが適用され、テクノロジーは2つのシナリオに適用できます。



どちらのシナリオでも、クラスター上の共有フォルダーに保存されているファイルへのアプリケーションアクセスを失うことなく 、別のクラスターノードに切り替えます。

さらに、SMBトランスペアレントフェールオーバーと組み合わせて別のSMB 3.0テクノロジー、つまりSMBスケールアウト(これは可能ですが、必須ではありません)を使用すると、ファイルクラスターはアクティブ/アクティブモードで動作し、フォールトトレランスに加えて、すべてのノード間で負荷分散を提供しますクラスター。



SMB透過フェールオーバーが機能するための要件は何ですか?



SMB透過フェールオーバーを使用するには、次の要件を満たす必要があります。



次に、透過的なフェイルオーバーが技術的にどのように実装され、このテクノロジーがどのように構成されているかを見ていきます。



SMBトランスペアレントフェールオーバーはどのように機能しますか?



Windows Server 2008 R2などのファイルクラスターでのフェールオーバーの主な問題は、別のノードに切り替えると、アプリケーションが使用するファイルとフォルダーへのアクセスを失うことでした。 クラスタボールで開かれたドキュメントまたはプレゼンテーションについて話している場合、ファイルを再度開くことで問題はすぐに解決されました。 しかし、明らかに、SQL Serverなどのサーバーアプリケーションの場合、この問題の解決策はほとんど受け入れられません。 アプリケーションは、コード内でこのような状況を処理する必要があります。または、アプリケーションを再接続するには管理者の介入が必要です。 実際、フェイルオーバーはアプリケーションには見えないままでした。



SMB 3.0では、SMBクライアントとSMBサーバーの実装に、監視コンポーネント、監視サービス、およびキーフィルタの再開という新しいコンポーネントが登場しました。



画像



SMBクライアントは、共有フォルダーに接続するときに、このフォルダーに連続可用性フラグが設定されているかどうかを判断します。 その場合、フォルダーはクラスター上にあり、透過的なフェールオーバーを使用できます。 SMBクライアントは、アプリケーションに代わってファイルを開き、一意のキー(レジュームキー)を提供し、SMBサーバーからファイル記述子(永続的なファイルハンドル)に関する情報を要求します。 Resume Key Filterを使用して、SMBサーバーはクライアントに必要な情報を受け取り、提供します。 この時点から、再開キーは実際にファイルの状態に関する情報を保存し、ファイルの操作がライトスルーモードで適用され、キャッシュがファイルの変更に影響を与えないようにします。



クラスター内の別のノードへの計画的および計画外の切り替えの場合、SMBクライアントは、新しいノードのSMBサーバーに再開キーを提供します。 受信した情報のおかげで、Resume Key Filterを介したSMBサーバーは、障害が発生する前のファイルの一貫した状態を提供します。 SMBクライアント上のアプリケーションは、このプロセスに一切関与せず、エラーメッセージを受信せず、入出力操作にわずかな遅延しか発生しません。 これにより、フェイルオーバーの透過性が確保されます。



WitnessクライアントとWitnessサービスは、予期しない障害が発生した場合に別のクラスターノードへの切り替えを加速するのに役立ちます。 クラスターノードに初めて接続するとき、SMBクライアントと同じコンピューターで実行されているWitnessクライアントは、接続されたノードで実行されているWitnessサービスからクラスターノードのリストを受け取ります。 次に、監視クライアントは別の代替クラスターノードを選択し、そのノード上の監視サービスに要求を送信します。 障害が発生するとすぐに、フェールオーバークラスタリングサービスはWitnessサービスに代替ノードを通知し、代替ノードはメッセージをWitnessクライアントに送信し、そのメッセージをSMBクライアントに送信します。 通知を受信するとすぐに、SMBクライアントは代替クラスターノードへの再接続を開始します。 このアプローチにより、TCPタイムアウトを待つ必要がなくなり、障害後のファイル接続の復元が大幅に高速化されます。



SMB透過フェールオーバーの構成



まず、フェールオーバークラスターを作成し、各ノードにファイルサーバーの役割を展開する必要があります。 これらの手順については詳しく説明しませんが、Windows Server 2012で基本的な変更は行われていません。



クラスターが作成されたと仮定すると、そのクラスターでフォールトトレラントファイルサーバーの役割を上げる必要があります。 マスターを起動します...



画像



適切な役割を選択します。



画像



これは、Windows Serverの以前のバージョンからの変更の始まりです。 ご覧のとおり、標準のファイルサーバーに加えて、スケールアウトファイルサーバーを展開できるようになりました。 後者の場合、アクティブ/アクティブモードで説明したファイルクラスターを取得します。 彼についてのより詳細な議論は、将来の投稿の一つにあります。 このバージョンでは、デフォルトのオプションである「一般的な使用のためのファイルサーバー」のままにします。



画像



ファイルサーバーへの後続のアクセス用にアクセスポイントの名前を設定し、IPアドレスを指定します。



画像



サーバー用のディスクを選択し、



画像



もう一度設定を確認してください。



画像



ファイルクラスタの役割が正常に作成されたことを確認します。



画像



次のステップは、クラスター上に1つ以上の共有フォルダーを作成し、継続的な可用性の兆候を見せることです。 このためには、ファイル共有の追加アイテムが必要です。



画像



そして、このウィンドウのSMB共有-アプリケーションの中点です。



画像



正しいサーバーが選択されていることと、



画像



ボールの名前とパス(ローカルまたはネットワーク)を設定し、



画像



次のステップで、ボールの継続的な可用性の必要な兆候がインストールされていることをもう一度確信します。



画像



必要に応じて、アクセス許可を構成します。



画像



すべてが適切な場合は、[作成]ボタンをクリックします



画像



設定に関しては、それだけです。 作成されたVM共有フォルダーに接続し、コマンドを実行する場合:



Get-SmbOpenFile | Select *
      
      





この接続を処理するクラスターのノードでは、次のようなものが表示されます



画像



ContinuouslyAvailableパラメーターがTrueに設定されていることに注意してください。



別のクラスターノードへのスケジュールされた切り替えを行うには、次のコマンドを使用する必要があります。



 Move-ClusterGroup –Name ft-fs-01 –Node ws2012-srv04
      
      





Nameパラメーターはクラスターリソース(つまり、クラスターファイルサーバー)の名前を示し、 Nodeはクラスターリソースの切り替え先のクラスターノードの名前です。

計画外の障害の発生を確認する方が良い方法-あなたが決める。 :)



そのため、SMB透過的フェールオーバーテクノロジは、計画された操作または予期しない障害が発生した場合に、フェールオーバークラスターの別のノードに切り替えるアプリケーションに対して透過的です。 SMBマルチチャネルと組み合わせて、ストレージ、通信チャネル、ネットワークアダプタのレベルでフォールトトレランスを実現します。 SMBスケールアウトを使用すると、クラスターノード間で負荷を分散でき、クラスターに含まれるサーバーの能力をより効率的に使用できます。 SMB 3.0の機能を正しく組み合わせることにより、サーバーインフラストラクチャに必要なレベルの信頼性とパフォーマンスを実現できます。



All Articles