2012-03-16 34 views
8

私はWindowsマシンを持っており、VMWare Playerを実行しています。私は1 Centosイメージを持っています。 ある時点で、VMは約12GBでした。縮小VMディスク

私はしかし、この減少は、VMDKには反映されなかった4ギガバイト

にサイズを落とし、多くの不要なファイルを削除しました。

WindowsはCentOSにのみ使用しながら、4ギガバイト

はこのスペースを再利用する方法はあり、サイズは10ギガバイト程度であることを報告しますか?

答えて

6

はい、「vmware-vdiskmanager」を使用して縮小できます。 詳細はarticleをご覧ください。

また、このスペースは後で必要ですか? これは実稼働環境ではなく、 "自宅"の目的で使用する場合、I 強くは、他の仮想化プラットフォーム(VirtualBoxなど)に移行することをお勧めします。これは、ユーザーフレンドリーで最新のものであり、 VMDKファイルの形式(移行が容易)。

+0

ありがとうございました。バーチャルボックスも見ています – Thomas

12

CentOS VMイメージのファイルを削除したにもかかわらず、VMwareは明示的に要求するまでその領域を再利用しようとしません。それでも、ファイルで使用されているディスクブロックがゼロ化されていない場合は、vmdkファイル内のスペースを引き続き使用します。 Windows VMを縮小することに慣れている場合、これはあなたには馴染みのないことかもしれません。

スペースを再利用するための基本的な手順は次のとおりです。

  • は、仮想ディスクを圧縮するためにゼロに
  • (Windows仮想マシンのために必要ではない)すべての空き領域
  • 使用のVMware PlayerまたはWorkstationを不要なファイルを削除します。

私はCentOSのイメージを削減するために使用される特定の手順は、次の操作を実行することでした。

df -h 
su 
yum clean all 
cd/; cat /dev/zero > zero.fill ; sync ; sleep 1 ; sync ; rm -f zero.fill 
exit 

私はその後、私のCentOSのVMをシャットダウンして、ためにハードウェアページコンパクトユーティリティを使用しましたハードディスクデバイス仮想マシン設定

縮小後、ルートファイルシステムのvmdkは、使用しているルートファイルシステムのサイズとほぼ同じサイズであり、vmdkはここから必要に応じて再度展開を開始しました。私のVMは唯一私が他のパーティションやディスクを持っていたのだならば、私はcd /一部が他のパーティションのマウントポイントをラインを記入してから実行して交換しているだろう、単一のルートパーティションを持っていた

注意各仮想ディスク上の縮小ユーティリティ。

詳細については、Shrinking VM Disk Imagesを参照してください。

DebianベースのLinuxで同じことを行う手順が必要な場合や、VMware GUIではなくコマンドラインユーティリティvmware-vdiskmanagerを使用してディスクを圧縮する場合は、記事How To Shrink VMware Virtual Disk Files (.vmdk)を参照してください。


VMをしばらく使用している場合は、スワップファイルをゼロにすることもできます。

$ su 
Password: 
# cat /proc/swaps 
Filename        Type  Size Used Priority 
/dev/sda3        partition 2064376 0  -1 
# swapoff -a 
# cat /proc/swaps 
Filename    Type  Size Used Priority 
# dd if=/dev/zero of=/dev/sda3 bs=1M 
dd: writing `/dev/sda3': No space left on device 
2017+0 records in 
2016+0 records out 
2113929216 bytes (2.1 GB) copied, 24.6894 s, 85.6 MB/s 
  • 注:ここでは全体のパーティションを消去しているので、あなたがddコマンドに指定するデバイスはcat /proc/swapsコマンドで表示されるものと同じであることを確認してください私のCentOSのシステムでは、私は次のことをやりました。安全な側にいるためには、これを試す前にVMをバックアップしてください。

仮想ディスクを縮小した後、スワップファイルを再度有効にする必要があります。たとえば:

$ su 
Password: 
# free -o 
      total  used  free  shared buffers  cached 
Mem:  1030684  344552  686132   0  20956  175912 
Swap:   0   0   0 
# mkswap /dev/sda3 
Setting up swapspace version 1, size = 2064380 KiB 
no label, UUID=80276a48-3581-4f7a-8b05-1f2a97169e22 
# gedit /etc/fstab 
# swapon -a 
# free -o 
      total  used  free  shared buffers  cached 
Mem:  1030684  346132  684552   0  20968  175912 
Swap:  2064376   0 2064376 

gedit/etc/fstabmkswapによって作成された新しいものと古いスワップUUIDを交換しました。

SuperuserまたはServerfaultでこの質問が実際にはプログラミング上の質問を意図したスタックオーバーフローよりも適切であることに注意してください。何を探してるんですが(Playerのバージョン5で)ある

+0

なぜあなたは同期が必要でしょうか?すべてのシャットダウン後も 'sync'につながるはずです、そうですか? – 0xC0000022L

+0

ベルト、中括弧、@ 0xC0000022Lと思われる文字列。それを試して、それが動作するかどうかを確認してください。私は、 'sync; sleep 1; sync'がなければ、CentOSは' rm zero.fill'コマンドを受け取ると直ちに 'zero.fill'への書き込みされていない書き込みを破棄し、 -zeroed。 –

+0

申し訳ありません@EricGuo、あなたのコメントは不明です。あなたは私の答えが好きであることを意味しているのですか、あなたがリンクしようとしていた別の答えが好きですか?後者の場合、あなたのリンクは答えではなく質問を指していたので、どの答えについて話しているのか分かりません。アドレスバーから非Permaリンクをコピーするのではなく、回答の最後にある[共有] Permaリンクを使用します。 –

3

  1. 電源VM(そのディスクの必要なハウスキーピング後)
  2. [仮想マシン設定の編集
  3. ダウンをクリックします(左ペインの)ハードディスクユーティリティの
  4. クリック
  5. 選択コンパクト
+0

VMWare Playerでも動作します – rboy

+0

VMWare Playerには、仮想ディスクの一部を縮小できるヒントがあります。 'zerofree'(Linux)や' sdelete'(Windows)のようなツールを使って未使用スペースをゼロ/無効にすることができます。その後、コンパクトオプションが機能するかもしれません。 – AnDus

11

VMware Player 5でこの問題が発生し、ツールパネルのGUIがコントロールパネルでも削除され、ホストからの操作がもう機能しなくなりました。とにかくWindowsゲストにオープンコマンドラインを縮小し、

Cに移動するVMを取得する:\プログラムファイル\ VMwareの\ VMware Toolsの\ VMwareToolboxCmd.exe

とすべてのオプションの種類のヘルプ\プログラムファイル\ VMwareの\ VMware ToolsがVMwareToolboxCmd.exeディスクがCを縮小\::目ながら

\それが実行されますので、私は

Cを使用しました

+0

最後の 'c:\ 'はどのドライブに参照されていますか? –

+1

これは、オペレーティングシステムのルートドライブを参照するWindowsゲストに当てはまりますが、Unixゲストで試したことがなく、ヘルプファイルが '/'がサポートしているもの –

0

残念ながら、私のホストシステムとしてWindows 8.1を使用しています(CentOS 7はVMWare Playerを実行しているゲストシステムです)。

ゲストシステムにVMWare Toolsがインストールされているので、次のコマンドを呼び出すことができました。これは私のためのトリックでした。

/ 
/boot 
/home 

使用例:

vmware-toolbox-cmd disk listが縮めすることができるすべてのマウントパーティションを示しますvmware-toolbox-cmd disk /homeを使用して、指定されたパーティションを縮小します。

関連する問題