仮想化ホストが使用されなくなったと思うように空きディスク領域をゼロで埋めるにはどうすればよいですか?

仮想化ホストが使用されなくなったと思うように空きディスク領域をゼロで埋めるにはどうすればよいですか?

私の仮想マシンホストの場合は、Hyper-Vの役割と一緒にWindows Server 2008r2を使用し、ゲストVMはUbuntu 12.04 LTSです。動的仮想ハードディスク(2TB)にあります。このVMのVHDサイズは360GBです。しかし、Ubuntuに表示される実際のサイズは約50GBです。

Ubuntu VMで使用されるファイルシステムはNTFSではないため、標準のHyper-Vツールを使用してこのVHDのサイズを縮小することは明らかに不可能です。

VHD以外の空き領域をリセットするUbuntuの他の方法はありますか?

答え1

Ubuntuではzerofree(http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html)

sudo適性インストールゼロフリー

DDはい、しかし上記のリンクによってはいくつかの欠点があるかもしれません。

答え2

修正する2019年から(誰かが投票してからもう一度知りましたね)

また、使用自体を詳しく説明する私の答えの部分もdd正確です。ゲストブロックストレージに実際に空のディスク容量があることをハイパーバイザーに知らせる方法に関する質問に対する正しい答えは次のとおりです。TRIM/Discardコマンドの使用


Ubuntu 12.04(ext4)で空き領域をゼロで埋める方法は?

これは非常に簡単です。

dd if=/dev/zero of=/some/path/to/zerofile bs=128M count=NumOf128MBlocksToFillTheDiskWith

1%など、これらのコマンドの影響を受けないスペースを残すことをお勧めします。デフォルトでは、EXT…FSはrootユーザーのための特別なスペース(AFAIR、5%)を予約するため、通常のユーザーとしてこのコマンドを実行するとディスク全体がいっぱいになりません。これは他のシステムソフトウェアのために問題ありません。rootこの場合、動作が誤動作する可能性があります。ただし、通常のユーザーとして実行しても残りのdd空き容量(95%)を使用しないことをお勧めします。そうしないと、他のプログラム(Firefoxなど)がディスクに書き込めなくなったことが認識されず、シャットダウンする可能性があります。状況:データが一致しません。だからその空間はそのままにしてください。最大限に活用し、何も損なわないようにするには、シングルモードで実行するのが最善です。

その後は言うまでもありませんが、万が一の場合に備えて削除してください/some/path/to/zerofile

PSありがとう@ウェイジアン~のため共有するzerofree関連情報するよりよく合うEXT2// EXT3EXT4

関連情報