Windows Server 2012上のSMBマルチチャネル

SMBマルチチャネルは、SMB 3.0プロトコルの機能の1つであり、ファイルサーバーを使用する場合のネットワーク接続レベルでのパフォーマンスとフォールトトレランスを向上させるように設計されています。 この機能を使用するには、SMBクライアントとSMBサーバーがSMB 3.0をサポートしている必要があります。SMB3.0は、 Windows Server 2012およびWindows 8に実装されています

SMBマルチチャネルの利点は何ですか?


SMBマルチチャネルを使用すると、ファイルサーバーで複数のネットワーク接続を同時に使用できるため、次のことが保証されます。

SMBマルチチャネルが機能するための要件は何ですか?


SMBマルチチャネルが機能するには、2つの要件を満たす必要があります。

サポートされている構成


SMBマルチチャネルが機能するには、クライアントとサーバーが次の構成の少なくとも1つをサポートする必要があります。

画像

そのため、コンピューターにRSSをサポートしないネットワークアダプターが1つある場合、または複数のアダプターが存在するが異なる速度で動作する場合、SMBマルチチャネルは動作しません。 後者の場合、トラフィックは最速のアダプターを介して送信されます。

個々の構成に関するいくつかの説明。

RSSアダプター

SMBマルチチャネルが存在しない場合、SMBクライアントがSMBサーバーにアクセスすると、SMBセッションが開き、その中で1つのTCP / IP接続が確立されます。 この接続でのトラフィック処理は、利用可能なプロセッサコアの1つによって実行されます。 ネットワークアダプターがRSSをサポートしていない場合、原則として、すべてのネットワークトラフィックは原則としてCPU0の1つのコアによって処理されます。 ネットワークアダプタがRSSをサポートしている場合、ネットワークトラフィックの処理は利用可能なプロセッサコアに分散されます。 ただし、SMBマルチチャネルがなければ、単一のセッション内で確立される接続は1つだけであり、RSSはこの特定のセッションを一切支援できません。

SMBマルチチャネルの場合、ネットワークアダプターがRSSをサポートしている場合、SMBプロトコルは1つのセッション内で複数の接続を確立し(デフォルトではRSSインターフェースに対して4)、次にRSSはこれらの接続を介して利用可能なコアにトラフィック処理を分散します。

したがって、単一のRSSアダプターを使用する場合でも、SMBマルチチャネルを使用すると、ネットワーク操作を高速化し、利用可能な帯域幅をより効率的に使用できます。 そして何より、これは10GbEアダプターにも当てはまります。

1つの物理アダプターを備えた構成でSMBマルチチャネルが提供できないのはフォールトトレランスです。1つのアダプターに障害が発生すると、すべての接続が失われることは明らかです。

Windows Server 2012およびWindows 8では、RSSをサポートするアダプターと現在のオプションを判断する最も簡単な方法は、PowerShellコマンドレットを使用することです
Get-NetAdapterRss 

画像

NICチーミングと組み合わせた2つ以上のアダプター

NICチーミングの使用は、SMBマルチチャネルの要件ではありません。 たとえば、システムに2つのギガビットアダプタがある場合、SMBマルチチャネルはタイミングなしでそれらを使用できます。 ただし、アダプターをタイミンググループに結合すると、フォールトトレランスに関して追加の利点が得られます。 タイミングを設定しないと、SMB MultichannelはSMBトラフィックに対してのみフォールトトレランスを提供し、NICチーミングとともに、ネットワークトラフィックのフォールトトレランスを受け取ります。 同時に、タイミングの有無にかかわらず、SMB Multichannelは既存のアダプターの利用可能な帯域幅を集約します。

RDMA(リモートダイレクトメモリアクセス)をサポートする1​​つ以上のネットワークアダプター

RDMAテクノロジーは、ネットワークを介してデータを送信する際の待ち時間を短縮し、プロセッサーの負荷を軽減します。 SMBマルチチャネルは、SMBセッションごとに、RDMAインターフェイスごとに2つの接続を確立します。 複数のRDMAアダプタがある場合、フォールトトレランスも提供されます。 Windows Server 2012でNICチーミングを使用してRDMAインターフェイスをグループに結合する場合、OSはこれらのインターフェイスを非RDMAと見なすことに注意してください。 つまり、タイミングでは、RDMA機能は使用できません。 RSSと同様に、コマンドレットを使用してRDMA対応アダプターとその構成に関する情報を取得できます。
 Get-NetAdapterRdma 


同じ速度の複数のネットワークアダプター

これは、SMBマルチチャネルが機能する最も簡単な構成オプションです。 アダプタがRSSをサポートしていない場合、インターフェイスごとに1つの接続が確立されます。

次に、SMBマルチチャネルのセットアップについて説明します。

SMBマルチチャネルを構成する


テクノロジーの利点は、自動的に構成されることです。 OSがサポートされている構成のいずれかを検出した場合(上記を参照)、SMBマルチチャネルが自動的に適用されます。 ただし、次を使用してテクノロジーが有効になっていることを確認できます。
 Get-SmbClientConfiguration 
または
 Get-SmbServerConfiguration 


画像

さらに
 Get-SmbClientNetworkInterface 
RSSとRDMAが利用可能なインターフェイスで有効になっているかどうかを表示します。

画像

さまざまな種類のネットワークインターフェイス(RSSアダプターに4つ、RDMAアダプターに2つ、通常のNICに1つ)の確立された接続の数については既に述べました。 デフォルトでは、SMB Multichannelは、クライアント/サーバーのペアごとに最大8つの接続を使用します。 また、この数により、ネットワークインターフェイスごとの接続数を制限できます。 たとえば、3つのRSSアダプターがある場合、最初の接続、3番目の接続、3番目の接続で3つの接続が確立されます。

デフォルトのSMBマルチチャネル設定を使用することをお勧めします。 ただし、これらの設定は変更される場合があります。 たとえば、クライアント/サーバーのペアごとの最大接続数は次のように設定されます。

画像

最後に、何らかの理由で、たとえばテストや診断のためにSMBマルチチャネルを無効にする必要がある場合、サーバーとクライアントでそれぞれ次の2つのコマンドを使用してこれを実行できます。
 Set-SmbServerConfiguration -EnableMultiChannel $false Set-SmbClientConfiguration -EnableMultiChannel $false 

値がtrueのこれらの同じコマンドは、テクノロジーを再びオンにします。

動作中のSMBマルチチャネル


システムにサポートされている構成のいずれかがある場合、SMB Multichannelサーバーで共有フォルダーを開くと、いくつかの接続が確立されます。 これを確認するには
 Get-SmbMultichannelConnection 

2つのギガビットカードを使用する私の環境では、次のようになります。

画像

さらに、ネットワークリソースからファイルのコピーを開始すると、パフォーマンスモニターで、両方のネットワークアダプターを使用してコピーが実行されることを確認できます。

画像

アダプターの1つをオフにすると、コピー操作が中断されず、すべての負荷が残りのアダプターに転送されることがわかります。

私のWebキャスト (SMB Multichannelデモにスクロール)で、SMB Multichannelがダイナミクスでどのように機能するかを確認し、テクノロジーが無効になっているときのOSの動作を比較できます。

したがって、SMB Multichannelのおかげで、ネットワーク運用の効率と信頼性を高めることができます。 SMBスケールアウト、SMBトランスペアレントフェールオーバーなどのWindows Server 2012の他のテクノロジと組み合わせて(他の投稿で説明します)、通常のOSツールを使用して、異なるレベルで実行中のサービスの高レベルの可用性を提供できます:ディスクサブシステム、クラスターノード、ネットワークインターフェイス。

Source: https://habr.com/ru/post/J151451/


All Articles