VMwareディスクのサイズを減らす方法


14

UbuntuイメージのVMwareディスクが5GBの物理ファイルサイズに成長しました。最大容量8GBの動的に成長するディスクです。私はLinuxディストリビューション内のいくつかのものをクリーニングしましたが、今ではその中に3GBを占有しています。明らかに、物理ファイルのサイズは自動的に縮小しませんでした。このディスクを3GBまで縮小する方法はありますか(可能であれば無料)。

DVDの画像に合わせるためにこれが必要です。

回答:


21

3つのステップがあります。

  1. デフラグ(何もアンマウント/再マウントする必要はありません)

    sudo e4defrag /

    エラーを無視します。シンボリックリンクやデバイスファイルなどの一部のファイルは最適化できません。

  2. すべての未使用スペースをゼロで埋めて、VMwareが実際に未使用であることを認識します。

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  3. 縮小操作を実行します。

    sudo vmware-toolbox-cmd disk shrinkonly


これは、VMWare Workstationの正解です。おかげで、たくさん助けてくれました!
クロンネックス

正しい。VMWare Workstation 14、
Centos

1
S3などのマウントされた外部ボリュームでこれを実行する場合は注意してください-zero fillコマンドは、S3バケットに256TBのワイプファイルを作成しようとします
...-

Windows 10ホストとUbuntu 16ゲストで私のために働いた。最初はホストでステップ3を実行する必要があると考えましたが、間違っていました。すべてのステップの後、ここで説明するようにファイルシステムチェックも実行します。askubuntu.com
Alex Che

1
+1は、しかし、私はステップ2のためzerofreeを使用すると、より速く、よりクリーンになると思います:manpages.ubuntu.com/manpages/xenial/man8/zerofree.8.html
エティエンヌ

15

私は解決策を見つけました-あなたはあなたのハードドライブをコンパクトにする必要があります:

仮想マシン-設定-一般-仮想マシンのクリーンアップ


ワオ。最後に、私はこの答えを見つけました。しかし...仮想ディスクを圧縮しても実際に空き領域が回収されないのはなぜですか?
Wizard79 14

8
ゲストのUbuntu OSからこれを行う必要があります(VMware Toolsがインストールされている場合): "vmware-toolbox-cmd disk shrink /"これは仕事をするはずです。
DH4 14年

これはESXiには適用されません。それについては、以下の私の答えをご覧ください。
コリンチャフィン

3

ゲストでVMware Toolboxを(ルートとして)開き、ディスクを圧縮します。(ドキュメンテーション)


VMware Toolsがない場合は、2つの手順でディスクを手動で縮小できます。まず、zerofreeなどのツールを使用して、仮想ディスクの空き領域をクリアします。ZerofreeはUbuntu使用できますが、ゲストOSファイルシステムを読み取り専用でマウントする必要があるため、ライブCDから実行することをお勧めします。Parted Magicにはゼロフリーが含まれていると伝えられています。

空き領域をゼロにした後、仮想マシン設定を開き、仮想ディスクを圧縮します。


3
vmwareツールボックスのUIはもうありませんが、「vmware-toolbox-cmd disk shrink /」を使用してジョブを実行できます。
DH4 14年

3

使用する

sudo vmware-toolbox-cmd disk shrinkonly

Ubuntuゲストのコマンドプロンプトから。

(Ubuntu 14.04 LTSゲスト+ Windows 10ホスト+ VMWareワークステーション12.1.1でテスト済み)


1

VMWareハードディスクのサイズ変更

VMWareでの動的仮想ハードディスクの拡張は簡単で、vmware-vdiskmanager.exeデフォルトでにあるコマンドラインツールを必要としませんC:\Program Files\VMware\VMware Workstation\

サイズを変更するには、次のコマンドを使用します(WIN + Rを押してコマンドプロンプトを開き、cmdと入力します): " C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x NEWSIZE "diskname.vmdk"

手順

次の手順は次のとおりです。

  • ここからダウンロード
  • インストール
  • 開いた
  • パーティションを選択し、[サイズ変更/移動]をクリックし、ハンドルを最大幅までドラッグします
  • 適用をクリックします
  • 再起動することに同意する
  • 起動中は、いかなるキーも押さないでください
  • 起動モジュールにタスクを実行させます
  • Windowsシステムパーティションサイズが増加したことを確認します。

手順の視覚的な概要と追加情報については、こちらをご覧ください


0

これらの手順は私にとって完璧に機能しました:

1)未使用スペースをゼロで埋める

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill

2)vmwareツールボックスでディスクを縮小する

sudo vmware-toolbox-cmd disk shrink /

Ubuntu 16.04、VMware Workstation 12.1.0 Player、Windows 7ホストでテスト済み


0

ESXiではディスクの縮小が可能です。

  1. 大きなファイルを見つけて削除します。

    find / -type f -size + 50M

  2. デフラグ(何もアンマウント/再マウントする必要はありません)。エラーを無視します。シンボリックリンクやデバイスファイルなどの一部のファイルは最適化できません。

    sudo e4defrag /

  3. すべての未使用スペースをゼロで埋めて、VMwareが実際に未使用であることを認識します。

    dd if = / dev / zero of = wipefile bs = 1M; 同期; rmワイプファイル

  4. 縮小操作を実行します。4が失敗した場合は、5に進みます。

    sudo vmware-toolbox-cmd disk shrinkonly

  5. tryオプションでLinuxシステムを再起動し、gpartedでパーティションテーブルを編集します。ルートファイルシステムを縮小し、スワップパーティションを削除してルートパーティションの近くに移動します。

  6. ESXiにSSHで接続し、次のコマンドを発行します。

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. * .vmdkファイルを編集する必要があります。文字RWの後、VMware仮想ディスク(VMDK)のサイズを定義します

    * 40 GB = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. 別のデータストアに移行して、新しいサイズを反映します。


(1)問題は、ファイルシステムの使用率を下げる方法ではありません。OPはすでにそれを行っていると言っています。したがって、あなたのfindコマンドは実際には関係ありません。(2)何をしvmkfstools -Kますか?(3)ファイルを手動で編集しますか?本当に?(4)ユーザーがファイルにどのような変更を加える必要があるかについての指示がわかりません。(5)別のデータストアへの移行について何を言っていますか?(0)あなたの言うことのほとんどはすでにカバーされています。…………………………………………………………コメントには返信しないでください。 回答を編集して、より明確で完全なものにします。
スコット

まあ私はVMwareの男です(これを試みる人は誰でもすべきだと思うでしょう)ので、この答えはESXiにも適用される唯一のものです(ESXiはvmtoolsを介したLinuxゲストの縮小をサポートしていないため)私に感じる。とはいえ、ステップ7は不要なだけでなく、間違っているだけです。縮小しても実際のVOLUMEサイズは変更されないため、手順6の後に停止します。手順8(ストレージの移行)は、強制的に処理するvmkfstoolsを実行せずにディスクを縮小する場合にのみ使用されます。 5a-SHUT DOWNゲスト。
コリンチャフィン

上記の私の答えをご覧ください。手順5にリストされているvmtoolsベースのコマンドも、ESXiホストベースのシナリオではサポートされていない(または動作する)ため、正しくありません。
コリンチャフィン

0

ESXi / vSphere LinuxゲストでのVMDKディスクのシンニング(縮小)

注:「縮小」は、多くの場合、シンタイプのディスクファイルのサイズを縮小するプロセスを指すために同じ意味で使用されます。VMwareでは、「縮小」という用語を使用して、ゲストが使用できるディスクの基本サイズを縮小し、基本的な使用可能サイズを変更せずに未使用領域を再キャプチャするプロセスで最も使用頻度が高い「薄型化」を示します。

ESXiはLinuxゲストでのvmtoolsベースの縮小をサポートしていないため、次の手順を使用する必要があります。詳細については、以下の参照リンクを参照してください。

  1. (可能であれば)次の手順が一時的にターゲットボリュームをいっぱいにするため、ディスク書き込みが集中するすべてのアプリケーションとサービスを停止します。

  2. ターゲットVMDKのボリュームを最適化し、エラーをシンボリックリンク/デバイスファイル/などとして無視します。最適化できません。

    # USE sudo IF NECESSARY IN YOUR CONFIG!
    e4defrag /
    # or e4defrag /mnt/MOUNTVOLUME
  1. すべての未使用スペースをゼロで埋めます:
    dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
  1. ゲストのシャットダウンと電源オフ

  2. ESXiホストにSSHで接続し、次のコマンドを発行します。

    # Check current vmdk allocation
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Shrink it
    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Check again to verify shrinkage
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk
  1. ゲストの電源を入れます

ソース

https://kb.vmware.com/s/article/1002019

ほとんどのファイルシステムでファイルを削除しても、完全には削除されません。単にファイルテーブルが変更されるだけです。EraserやSDeleteなどのフリーウェアの安全なファイル削除ユーティリティを使用すると、ボリュームの空きスペースを「ゼロ」にしてデータの空きスペースを効果的にクリアできます。その場合、ディスクを適切に間引くことができます。その後、vmkfstools -Kコマンド(ESXi / ESX 4.1以降)を使用してブロックの再利用を完了するか、Storage vMotionを使用して仮想マシンを異なるVMFSブロックサイズのデータ​​ストアに移行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.