仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

Windowsの Policy based QoS では robocopy を指定した帯域制御ができない?

皆さまお疲れ様です。

Windows Policy based QoSに関する情報共有となります。

※今回の記事は Windows Server 2012 R2 / Windows Server 2016 のワークグループ環境で事象を確認しています。

 

WindowsではGPOやローカルコンピュータポリシーで「ポリシーベースのQoS」という設定があります。

この、ポリシーベースのQoSではアプリケーションの実行ファイル(.exe)を指定して特定のアプリケーションのOutbound Trafficを KBps / MBps 単位で指定することが可能です。

 

f:id:kenta53682:20180829145333p:plain

 

はい。設定箇所は上の画像の通りですね。

この設定を使ってrobocopyの帯域を制御しようと思ったのですが、、、

 

 

なぜか上手く動きません、、、

 

f:id:kenta53682:20180829221050p:plain

f:id:kenta53682:20180829221224p:plain

 

①フルパスで指定、②アプリケーション名(robocopy.exe)で指定、③「C:\Windows\SysWOW64」側のrobocopy.exeを指定、、、

と思いつく限りの設定をしたものの、全く帯域制御がききませんでした

 

上記の画像でアプリケーションを指定せず、「すべてのアプリケーション」にすると帯域制御ができました。

 

【回避策】

回避策として、①や②が考えられると思います。①の方が設定としては綺麗なのかな、と思います。

robocopyのオプションで「/ipg」オプションを使用して、1ブロックコピーするごとに指定したミリ秒Waitする設定を入れ、帯域を抑える。

②送信元・送信先IPやポートを指定した上ですべてのアプリケーションに対して帯域制御を行う。 (但し、アプリケーションやWindowsの通信に影響しないか要確認)

 

【原因】

分かっていません。

robocopyではありませんが、下記のTechNetブログでは「xcopyやcmdがうまくいかなかった」とありますので、もしかしたらシステムファイルのQoSはかけられない内部仕様になっているのかもしれません。

【Management】ポリシーベースの QoS で遊んでみる – Junichi Anno's blog

 

robocopyQoSをかけた実績がある方はご教授頂けますと幸いです。

 

 

めちゃくちゃ細かい話で仮想化と何も関係ないのですが、使用される方はご注意下さい。