smb bandwidth limit

まいど。
image

最近はR2検証に向けて数年ぶりに環境全部作りなおしているので、検証がまったく進んでおりません(´・ω・`)

Windows Server 2012 R2から簡単なPowerShellコマンドレットを利用して、SMBの帯域制限ができるようになりました。
細かく設定できるわけでは無くカテゴリ単位で設定することになります。
「Default」は全てのSMB通信、その他「VirtualMachine」と「LiveMigration」は名前の通りです。

  1. Smb Bandwidth Limitの有効化
    • PowerShellの場
      Add-WindowsFeature FS-SMBBW”または”Install-WindowsFeature FS-SMBBW
      image
    • GUIの場
      役割と機能の追加ウィザードで機能の所にある「Smb Bandwidth Limit」にチェック
      ScreenClip
  2. 追加されるコマンドレット
    設定用GUIは用意されていないため、PowerShellコマンドレットにて設定します、試しに
    Get-Command *SMBband* |Out-GridView”を実行してみると、下画像のように3個のコマンドレットが追加されている事が分かります。
    image
  3. 各コマンドレットのパラメータ
    • Set-SmbBandwidthLimit
      指定したトラフィックカテゴリの帯域上限値を設定する。
      -BytesPerSecond:帯域の上限値
       1048576以上 KBやMBという形式でも指定可能
       ※bpsでは無くbyte/sです
      -Category:制限するカテゴリ
      例:Set-SmbBandwidthLimit -BytesPerSecond 10MB -Category Default
    • Remove-SmbBandwidthLimit
      指定したトラフィックカテゴリの帯域上限値を削除する
      トラフィックカテゴリを指定しないと全ての設定が削除されます。
    • Get-SmbBandwidthLimit
      現在設定されている帯域上限値を取得する

では実際に設定して確認してみましょう(・ω・)
今回は最初ということでトラフィックカテゴリ「default」のシンプルなファイルサーバー同士の制限を設定してみます。(意訳:まだIB Hyper-Vクラスタの設定が終わってないorz)
※コマンドレットを実行する場合、管理者で実行する必要があります。

環境概要的な何か
表のGbEではなく裏のInfinibandを利用してコピーしています
image

  1. まずは何も設定されていない状態
    コマンドレットで確認
    ScreenClip
    帯域使用率
    image
  2. 10MB/sに制限した状態でコピー開始
    Set-SmbBandwidthLimit -BytesPerSecond 10MB -Category Default”で設定し”Get-SmbBandwidthLimit”で確認
    image
    帯域使用率
    image
  3. 途中から100MB/sへ制限変更
    Set-SmbBandwidthLimit -BytesPerSecond 100MB -Category Default”で設定し”Get-SmbBandwidthLimit”で確認
    image
    帯域使用率
    image
  4. 最後に制限削除
    Remove-SmbBandwidthLimit”で設定を削除し”Get-SmbBandwidthLimit”で確認
    image
    帯域使用率
    image

このような感じで、設定後即時反映されるようになっています。

また、この機能をインストールすると、カテゴリごとのインスタンスに対応したパフォーマンスカウンタの項目も追加されます。
image

 

以上ヾ(‘ω’)ノ゛

カテゴリー: Windows Server 2012 R2 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください