ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

Windows Server 2016 サーバのSCSI TRIMおよびマップ解除機能を無効に設定

Windows Server 2012 R2、Windows Server 2016は、デフォルトで仮想ディスクの全体サイズに相当するSCSI TRIMおよびUnmapコマンドを発行します。

 

この動作は、[ クイックフォーマットを実行する]オプションがオンになっている場合でも同じで、これにより、フォーマットプロセスが大幅に遅くなるという情報がありました。

 

これを調査したのは、仮想化基盤でストレージ上の稼働ディスクサイズが最適化されない事象があった為です。基本的にあんまり意識していないかもしれませんが、仮想サーバ上の仮想ディスク内のデータを削除すると、仮想基盤上での管理上でもディスク利用率が下がっていることがありますが、環境によっては、仮想サーバ上でデータを削除しても、仮想ディスクのサイズが減らないこともあります。

 

SSDではこのtrimは無効にしないほうがいいそうです。基本的に敢えて無効にすることはないと思いますが。

 

ちなみに、サーバのSCSI TRIMおよびマップ解除機能を無効にすることができます。

 

サーバでWindowsコマンドラインを使用して、次のコマンドを発行します。

fsutil behavior set DisableDeleteNotify 1

 

この機能を再度有効にするには、次のコマンドを使用します。

fsutil behavior set DisableDeleteNotify 0

 

現在の設定を確認するには、次のコマンドを使用します。

fsutil behavior query DisableDeleteNotify

 

DisableDeleteNotify=0 -「トリムとマップ解除」機能がオン(有効)であることを示します
DisableDeleteNotify=1 -「トリムとマップ解除」機能がオン(無効)であることを示します