CIFSを構成し、 SMB2/SMB3アクセラレーション
CIFSアクセラレーション機能は、CIFSトランスポートやDCERPCなどの関連プロトコルの拡張を含む、CIFSベース(WindowsおよびSamba)のファイル転送およびディレクトリブラウジングに対する一連のプロトコル固有のパフォーマンス拡張を提供します。
CIFSアクセラレーションには3つの部分があります。
-
TCPフロー制御アクセラレーション:これは、プロトコルバージョン(SMB1、SMB2、またはSMB3)または認証と暗号化の程度に関係なく、すべてのアクセラレーションされたCIFS接続で実行されます。
-
CIFSプロトコルアクセラレーション-これらの最適化は、CIFSコマンドの実行に必要なラウンドトリップの数を減らすことにより、CIFSのパフォーマンスを向上させます。これらの最適化は、CIFSパケット認証(「署名」)を使用しないSMB1およびSMB2 CIFS接続、または署名が使用され、アプライアンスが「セキュリティデリゲート」の役割でWindowsドメインに参加している場合に自動的に実行されます。
-
CIFS圧縮:CIFS接続は、CIFSプロトコルアクセラレーションの要件を満たすたびに自動的に圧縮されます。さらに、SMB3接続は、署名および封印されていない場合に圧縮されます。
CIFS 署名が有効になっているネットワークでは、CIFS プロトコルアクセラレーションおよび圧縮では、CIFS パケット認証(署名)を無効にするか、データセンターアプライアンスを Windows ドメインに参加させ、データセンターアプライアンスとリモートアプライアンスとの間にセキュアなピア関係を作成する必要がありますおよびCitrix SD-WAN WANOP プラグインです。
表1. SMBプロトコルバージョン別およびアプライアンスがWindowsドメインに参加しているかどうかによるCIFSアクセラレーション機能。
SMBバージョン | TCPフロー制御 | 圧縮 | プロトコルアクセラレーション |
---|---|---|---|
署名が無効 | |||
SMB 1.0 | ○ | ○ | ○ |
SMB 2.0 | ○ | ○ | ○ |
SMB 2.1 | ○ | ○ | × |
SMB 3.0 | ○ | ○ | × |
署名が有効になり、Citrix SD-WAN WANOP がドメインに参加しました ** | |||
SMB 1.0 | ○ | ○ | ○ |
SMB 2.0 | ○ | ○ | ○ |
SMB 2.1 | ○ | ○ | ○ |
SMB 3.0 | ○ | ○ | Y * |
署名が有効になり、Citrix SD-WAN WANOP がドメインに参加していません | |||
SMB 1.0 | ○ | × | × |
SMB 2.0 | ○ | × | × |
SMB 2.1 | ○ | × | × |
SMB 3.0 | ○ | × | × |
* SMB3.0サポートはリリース7.4.2で追加されました。
**Citrix SD-WAN WANOP は、SMB 1/SMB 2/SMB 3、およびネットアップサーバーでの NTLMv2 認証(Windows 7 のデフォルト)をサポートしていません。Kerberos認証を有効にすると、アクセラレーションが可能になります。
表2。クライアントおよびサーバーのオペレーティングシステムによって使用されるSMBプロトコルのバージョン。
Client/ServerOS | Windows 8、Windows 10、または Windows Server 2012 | Windows 7またはWindows Server 2008 R2 | Windows VistaまたはWindows Server 2008 | 以前のバージョンのWindows |
---|---|---|---|---|
Windows 8、Windows 10、または Windows Server 2012 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 7またはWindows Server 2008 R2 | SMB 2.1 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows VistaまたはWindows Server 2008 | SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 1.0 |
以前のバージョンのWindows | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 |
CIFSのサポートされているバージョン:
すべてのCIFS実装が、アプライアンスによって認識される要求パターンを使用するわけではありません。次の表に示すように、これらのサポートされていないバージョンは、すべてのケースでアクセラレーションを実現しません。
表3. CIFSサーバとクライアントに対するCitrix SD-WAN WANOPサポート。
製品 | サーバー | クライアント |
---|---|---|
Windows Server 2003-2012 | はい* | はい* |
Windows XP、Vista、7、8、2000 | はい* | はい* |
NetApp | はい** | - |
Hitachi | はい** | N/A |
Windows NT | はい | いいえ |
Windows ME以前 | いいえ | いいえ |
そのほか | 「注」を参照してください | 「注」を参照してください |
* SMB 3.0のサポートはリリース7.4.2で導入されました。
** リリース7.4.2では、SMB 3.0での動作はテストされていません。
注意: ほとんどのサードパーティCIFS実装は、上記のサーバーまたはクライアントの1つをエミュレートします。上記の表に示すように、エミュレーションが成功する範囲で、トラフィックは加速されるかどうかが決まります。エミュレーションの動作がCIFSアクセラレータの期待と異なる場合、CIFSアクセラレーションはその接続で終了します。
特定のCIFS実装でのCIFSアクセラレーションの動作は、テストされるまで確実に知ることはできません。
CIFSアクセラレーションのモードは次のとおりです。
-
大きなファイルの読み取りと書き込み
-
小さなファイルの読み取りと書き込み
-
ディレクトリブラウジング。
大きなファイルの読み取りと書き込み-これらのSMB1最適化は、少なくとも640KBのファイル転送用です。安全な先読みおよび後書きの手法を使用して、転送ごとに一時停止せずにデータをストリーミングします(転送は64 KB以下です)。
これらの最適化は、転送にBATCHまたはEXCLUSIVEロックがあり、「単純」である場合にのみ有効になります。ファイルのコピーは常に単純です。アプリケーションを介して開かれたファイルは、アプリケーション内での処理方法に応じて、そうである場合とそうでない場合があります。
リンクとディスクが現在の転送速度の10倍に対応するのに十分な速度である場合、CIFSアクセラレーションを使用すると10倍のスピードアップ率を簡単に得ることができます。必要に応じて50倍の高速化を実現できますが、メモリを消費するため、通常は有効になりません。10倍では不十分な場合は、Citrixの担当者にお問い合わせください。
小さなファイルの読み取りと書き込み-小さなファイルの機能強化は、データストリーミングよりもメタデータ(ディレクトリ)の最適化に重点を置いています。ネイティブCIFSは、メタデータ要求を効率的な方法で結合しません。CIFSアクセラレーションはそうです。大容量ファイルアクセラレーションと同様に、これらの最適化は安全でない限り実行されません(たとえば、CIFSクライアントにディレクトリの排他ロックが付与されていない場合は実行されません)。SMB2プロトコルを使用すると、さらに大きな改善のためにローカルでファイルメタデータがキャッシュされます。
ディレクトリブラウジング-標準のCIFSクライアントは、非常に非効率的な方法でディレクトリブラウジングを実行するため、リモートフォルダを開くために膨大な数のラウンドトリップが必要になります。CIFSアクセラレーションにより、ラウンドトリップの数が2または3に減少します。SMB2プロトコルを使用すると、ディレクトリデータがローカルにキャッシュされ、さらに改善されます。
CIFSプロトコルアクセラレーション
CIFSアクセラレーションはすべてのモデルでサポートされています。CIFSはTCPベースのプロトコルであり、フロー制御の恩恵を受けます。ただし、CIFSは、長距離ネットワークでは非常に非効率的な方法で実装されているため、操作を完了するために過剰なラウンドトリップが必要になります。プロトコルはリンク遅延に非常に敏感であるため、完全なアクセラレーションはプロトコルを認識する必要があります。
CIFSアクセラレーションは、さまざまな手法によってラウンドトリップの数を減らします。クライアントからの要求のパターンが分析され、その次のアクションが予測されます。多くの場合、予測が間違っていても安全に行動できます。これらの安全な操作は、多くの最適化の基礎です。
たとえば、SMB1クライアントは、重複しない方法で順次ファイル読み取りを発行し、64KBの読み取りが完了するのを待ってから次の読み取りを発行します。先読みを実装することにより、アプライアンスは、予想されるデータを事前にフェッチすることにより、最大10倍の加速を安全に提供できます。
追加の手法により、ディレクトリの参照と小さなファイルの操作が高速化されます。アクセラレーションは、CIFS操作だけでなく、関連するRPC操作にも適用されます。
前提条件
CIFSアクセラレーションはすべてのモデルでサポートされています。CIFSはTCPベースのプロトコルであり、フロー制御の恩恵を受けます。ただし、CIFSは、長距離ネットワークでは非常に非効率的な方法で実装されているため、操作を完了するために過剰なラウンドトリップが必要になります。プロトコルはリンク遅延に非常に敏感であるため、完全なアクセラレーションはプロトコルを認識する必要があります。
CIFSアクセラレーションは、さまざまな手法によってラウンドトリップの数を減らします。クライアントからの要求のパターンが分析され、その次のアクションが予測されます。多くの場合、予測が間違っていても安全に行動できます。これらの安全な操作は、多くの最適化の基礎です。
たとえば、SMB1クライアントは、重複しない方法で順次ファイル読み取りを発行し、64KBの読み取りが完了するのを待ってから次の読み取りを発行します。先読みを実装することにより、アプライアンスは、予想されるデータを事前にフェッチすることにより、最大10倍の加速を安全に提供できます。
追加の手法により、ディレクトリの参照と小さなファイルの操作が高速化されます。アクセラレーションは、CIFS操作だけでなく、関連するRPC操作にも適用されます。
ネットワークでCIFS署名を使用する場合、アプライアンスはドメインの信頼できるメンバーである必要があります。アプライアンスをドメインの信頼できるメンバーにするには、 「WindowsセキュリティインフラストラクチャへのCitrix SD-WAN WANOPアプライアンスの追加」を参照してください。
CIFSプロトコルアクセラレーションを構成する
CIFSアクセラレーションは、CIFS署名を使用しない接続に対してデフォルトで有効になっています。ネットワークで署名を使用している場合は、無効にするか、サーバー側のアプライアンスでWindowsドメインに参加するすることができます。
CIFS署名を無効にする
セキュリティ設定によっては、Windowsサーバーまたはドメインサーバーでセキュリティ設定を調整する必要がある場合があります。
図1:Windows Serverセキュリティオプション、Windows Server 2003およびWindows Server 2008。
Windowsファイルサーバーには、「シーリング」と「署名」の2つのセキュリティモードがあります。
シーリングはデータストリームを暗号化し、CIFSプロトコルの高速化を完全に防ぎます。
署名は、データストリームを暗号化せずに、すべてのデータパケットに認証データを追加します。これにより、WindowsセキュリティインフラストラクチャへのCitrix SD-WAN WANOPアプライアンスの追加で説明されている手順を実装していない限り、加速が防止されます。この要件が満たされると、署名が自動的に加速されます。それ以外の場合、プロトコルアクセラレーションを実行するには、署名を無効にする必要があります(まだ無効になっていない場合)。
デフォルトでは、Windowsファイルサーバーは署名を提供しますが、デフォルトで署名を必要とするドメインサーバーを除いて、署名は必要ありません。
現在署名が必要なシステムでCIFSアクセラレーションを実現するには、システムセキュリティ設定を変更してこの要件を無効にする必要があります。これは、ファイルサーバーのローカルセキュリティ設定またはグループポリシーで行うことができます。次の例は、Windows Server 2003およびWindows Server 2008の場合、ローカル設定を示しています。もちろん、グループポリシーの変更はほとんど同じです。
Citrix SD-WAN WANOP
サーバーの設定を変更してCIFSアクセラレーションを許可するには
-
システムの[ローカルセキュリティ設定]ページに移動します。
-
ドメインメンバーの設定:セキュリティで保護されたチャネルデータを(常に)デジタル暗号化または署名して無効にします。
-
Microsoftネットワーククライアントを設定します:通信に(常に)デジタル署名して無効にします。
-
Microsoftネットワークサーバーを設定します:通信に(常に)デジタル署名して無効にします。
CIFS統計を解釈する
監視:ファイルシステム (CIFS/SMB) ページには、高速化されたCIFS接続のリストが表示されます。これらの接続は、「最適化された」接続と「最適化されていない」接続に分けられます。これらの接続はすべて(フロー制御と圧縮を使用して)高速化されるため、「最適化」接続にはフロー制御と圧縮に加えてCIFS最適化があり、「非最適化」接続にはフロー制御と圧縮のみがあります。
CIFS管理の概要
-
CIFSアクセラレーションは、リンク距離が比較的短い場合でも大幅に改善されます。
-
CIFSアクセラレーションは、クライアントがファイルシステムに最初にアクセスしたときに開始されます。ファイルサーバーとクライアントが既に稼働している状態でアクセラレーションが有効になっている場合、既存のCIFS接続が完全に閉じられるまで、何分間もアクセラレーションは発生しません。CIFS接続は非常に永続的であり、アイドル状態の場合でも、接続を閉じるまでに長時間続きます。この動作はテスト中は煩わしいものですが、通常の展開ではほとんど重要ではありません。
-
Windowsでファイルシステムをマウント解除および再マウントしても、CIFS接続は閉じられません。これは、Windowsがファイルシステムを完全にマウント解除しないためです。クライアントまたはサーバーの再起動は機能します。侵襲性の低い対策として、NET USEデバイス名を使用します /DELETE Windowsコマンドラインからコマンドを実行して、ボリュームを完全にマウント解除します。Linuxでは、smbmountとumountはボリュームを完全にマウント解除します。
-
アプライアンスでCIFSの読み取りと書き込みの最適化を無効にしてから再度有効にすると、同様の問題が発生します。CIFSが有効になっている場合、既存の接続は高速化されず、監視:ファイルシステムで検出された「プロトコルエラー」の数 (CIFS/SMB) ページが一時的に増加します。
-
ファイルサーバーから最も遠いアプライアンスのみが完全な統計でCIFSアクセラレーションを報告するため、CIFS統計は混乱を招く可能性があります。他のアプライアンスは、それを通常の加速と見なします。
-
CIFSアクセラレーションは、プロキシモードではサポートされていません。
-
WindowsサーバーでCIFSアクセラレーションが実行されない場合は、サーバーのセキュリティ設定を確認してください。