回答:
- ストレージ:VDIイメージの使用時に、SATAおよびIDEのTRIMおよびSCSIのUNMAPを介して未使用のイメージブロックを破棄するサポートを実装しました
http://www.fb-developers.info/blog/2012/virtualbox-v4-2-is-coming/
VHDXは、Windows Server 2012で導入された新しい仮想ハードディスク形式であり、最大64テラバイトの復元力のある高性能仮想ディスクを作成できます。VHDX形式には、次のパフォーマンス上の利点もあります。
- ...
- データの表現の効率。これにより、ファイルサイズが小さくなり、基礎となる物理ストレージデバイスが未使用のスペースを再利用できます。(トリムには、パススルーまたはSCSIディスクとトリム互換ハードウェアが必要です。)
https://msdn.microsoft.com/en-us/library/windows/hardware/dn567657(v=vs.85).aspx
ユースケース
SSDにマウントされたコンシューマー仮想ハードディスク(VHD):
VHDは、最初は「クリーンな」未使用のメディアにマウントされます。VHDが使用されると、VHDはファイルなどのストレージメディアの一部を消費します。ストレージメディアのファイルを削除する場合、VHD全体がSSDに1つのファイルとして保存されるため、これらのファイルはSSDから削除されません。Hyper-V環境は、VHD環境でdelete-fileが発生したときに削除されるすべての領域に対してFile TRIMを呼び出します。File_TRIMはSSDに変換されるため、SSDのパフォーマンスを最適化できます。シンプロビジョニングされたSANにマウントされたコンシューマーVHD:
VHDは最初、シンプロビジョニング環境の1つの最小スラブにマウントされます。ファイルがVHDに保存されると、VHDのストレージフットプリントは複数のスラブで増加します。VHDでファイルが削除されると、Hyper-VはFile_TRIMを基にシンプロビジョニングされたSANを呼び出します。TRIMがSLABの粒度よりも大きい場合、SANはSLABを削除できるため、そのSAN上のVHDのフットプリントを削減できます。VHDがWindows 8ベースのサーバーに常駐している場合、Storage OptimizerはTRIMを送信して、マウントされたVHD内からVHDのスラブフットプリントを削減します。
https://msdn.microsoft.com/en-us/library/hh848053(v=vs.85).aspx
VMWare Workstation Proドキュメントセンターのホストシステムのディスクドライブ要件-ソリッドステートドライブにも記載されています。
ホストマシンに物理ソリッドステートドライブ(SSD)がある場合、ホストはSSD上で実行されているゲストオペレーティングシステムに通知します。
これにより、ゲストオペレーティングシステムは動作を最適化できます。仮想マシンがSSDを認識してこの情報を使用する方法は、ゲストオペレーティングシステムと仮想ディスクのディスクタイプ(SCSI、SATA、またはIDE)によって異なります。
- Windows 8、Windows 10、Ubuntu、およびRed Hat Enterprise Linux仮想マシンでは、すべてのドライブタイプが仮想ディスクをSSDドライブとして報告できます。
- Windows 7仮想マシンでは、IDEおよびSATA仮想ディスクのみがSSDとして仮想ディスクを報告できます。SCSI仮想ディスクは、仮想マシンのシステムドライブとして使用される場合はSSDとしてのみ、仮想マシン内のデータドライブとして使用される場合は機械式ドライブとして報告されます。
- Mac仮想マシンでは、SATA仮想ディスクのみがSSDとして報告されます。IDEおよびSCSI仮想ディスクは、メカニカルドライブとして報告されます。
仮想マシンのオペレーティングシステムを使用して、仮想マシンが仮想ディスクとしてSSDを使用していることを確認します。
Q. VMwareは、vSphere 6.0のゲストOSから直接UNMAPをサポートしていますか。
はい。vSphere 6.0では、スペースを再利用するためにゲストOSから直接UNMAPを発行することがサポートされています。
Q. UNMAPを実行するために必要な前提条件は何ですか?
満たさなければならない前提条件がいくつかあります。これらは:
- VMDKはシンプロビジョニングする必要があります
- 仮想マシンのハードウェアバージョンは11(ESXi 6.0)でなければなりません
- 詳細設定EnableBlockDeleteは1に設定する必要があります
- ゲストOSはディスクをシンとして識別できる必要があります(Windows 2012 [2015年10月30日更新]はこれを実現するためにB2モードページを使用します)
Q.再利用はUNMAPでのみ機能しますか?TRIMはどうですか?
これは「依存する」答えです。TRIMは、基盤となるデバイスがSSD – Solid State Diskの場合にのみ使用されます。私が理解していることから、TRIMはI / OスタックでUNMAPに変換されます。ただし、TRIMがUNMAPに変換される問題がいくつかあります。UNMAPはVMFSの特定のブロック境界で機能しますが、TRIMにはそのような制限はありません。そのため、UNMAPに変換された特定のTRIMは、ブロックアライメントの問題により失敗する場合があります。
http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/
http://www.codyhosterman.com/2015/04/direct-guest-os-unmap-in-vsphere-6-0/
TRIMサポートには、基礎となるハードウェアの詳細な知識が必要です。定義上、仮想マシン(VMゲスト)は仮想ハードウェアで実行されるため、仮想マシン(VMゲスト)は、それらが存在するハードドライブまたはSSDの詳細を認識しません。
そのため、VMホストオペレーティングシステムがTRIMを理解している場合、その上で実行されているすべてのVMゲストにとってこれで十分です。
一部のVMホストは、物理ドライブを「パススルー」し、VMゲストのオペレーティングシステムに直接マウントできます。正確な実装によっては、ゲストがSSDのTRIM機能をサポートできる可能性が理論的にあります。ほとんどの場合と同様に、走行距離は異なる場合があります。環境にとって重要な場合は、コミットする前に徹底的にテストする必要があります。
TRIMは、SSDへの書き込みを512Kブロックで行う必要があり、ブロックが実際にファイルでどれだけ使用されているかをSSDドライブ自体で判断することは不可能であり、OSとファイルシステムによって通信する必要があるため、発明されました。
見る
http://en.wikipedia.org/wiki/TRIM
編集:
wikiリンクには、私ができるよりも良いと書かれています:
TRIMコマンドは、ディスクイメージファイルに保存されているディスクでは機能しません。これは、コンピューターファイルを完全に削除するか、最後に切り捨てることができるためです。この問題は、仮想ディスクサービス、仮想マシンなどのアプリケーションに影響します。