[Virtualbox] 可変サイズの仮想ディスク(vdiファイル)肥大化時の対処方法

いつの間にか、Vitualboxの仮想ディスクを配置しているディスクの空き領域が少なくなっていた。

原因は可変サイズ指定の仮想ディスクが肥大化していた為。
可変サイズ指定は便利だけど、いつの間にかの肥大化には注意。

で、調べたら、縮小する方法があったのでメモ。

■手順

1.ゲストOS上で不要なデータを削除する。
無駄なファイル消したり、ゴミ箱消したり、デフラグしたり。
※今回は特に実施せず

2.ゲストOS上で空き領域をゼロクリアする
linuxの場合は以下のコマンドでOK
# dd if=/dev/zero of=zero bs=4k;rm zero
空き領域(/dev/zero)があったら、カレントディレクトリのzeroというファイルに書き出して、それを削除してるだけ。
実行例)
[root@node1 /]# dd if=/dev/zero of=zero bs=4k
1595263+0 records in
1595262+0 records out
6534193152 bytes (6.5 GB) copied, 185.925 s, 35.1 MB/s
[root@node1 /]# ls -l zero
-rw-r–r– 1 root root 6534193152  8月 19 19:26 2014 zero

※今回は6.5GB程度の縮小に成功

3.ホストOS上で仮想ディスクの縮小処理を実行

1)vdiのUUIDを確認
“C:Program FilesOracleVirtualBoxvboxmanage.exe” vboxmanage.exe list hdds

2) 以下のコマンドで縮小処理を実行
“C:Program FilesOracleVirtualBoxvboxmanage.exe”  <modifyhd (1)で確認したUUIDを指定> –compact

※ファイル名指定でもいけるとの噂。次回覚えてたら試そう。

 

■参考にしたサイト

http://vboxmania.net/content/%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E5%9C%A7%E7%B8%AE
http://freefielder.jp/blog/2014/05/virtualbox-hdd-size.html
http://d.hatena.ne.jp/kanonji/20100318/1268904950

 

はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS) はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS)
清水 美樹

工学社 2012-07
売り上げランキング : 262923

Amazonで詳しく見る by G-Tools

[Virtualbox] 仮想マシン環境の構成ファイル配置場所変更

・手順

1. 対象仮想マシンを電源オフ。
2. VirtualBox VMsフォルダ内にある対象仮想マシン名フォルダ以下をまるごと移動先に移動する。
3. VMメニューから対象仮想マシンを除去。
4. VMメニューから「仮想マシン(M)」→「追加(A)」と選択。
仮想マシンファイルを選択するダイアログで、移動先のフォルダ以下の.vboxファイルを選択する。
 5. 追加に成功すると一覧に対象マシンが復活するので、起動して動作を確認する。
 ・参考サイト
http://qiita.com/sugard12/items/8b4f420b3afed79fe003

[VirtualBox] 仮想マシン環境のクローンコピー手順

・前提
VirtualBox管理画面のメニュー[仮想マシン] -> クローン
ファイルサイズにもよるが、数分程度でコピー完了。早いね。

・クローン後の作業

 1.仮想OSを起動。
    ※コピー元の仮想OSは起動していない方がいいはず。

 2.ネットワークサービスの停止
  [root@node01 ~]# service network stop
  ループバックインターフェースを終了中                       [  OK  ]

3.ホスト名の変更
    [root@node01 ~]# vi /etc/sysconfig/network 

4.NICインターフェース名の変更
   a)元の設定ファイルを削除
      [root@node01 ~]# rm /etc/udev/rules.d/70-persistent-net.rules
      rm: remove 通常ファイル `/etc/udev/rules.d/70-persistent-net.rules’? y
      [root@node01 ~]# rm /etc/sysconfig/network-scripts/ifcfg-eth*
      rm: remove 通常ファイル `/etc/sysconfig/network-scripts/ifcfg-eth0′? y
      rm: remove 通常ファイル `/etc/sysconfig/network-scripts/ifcfg-eth1′? y

   b)新ホスト用の設定を追加
    [システム]メニューの[設定] -> [ネットワーク接続]から各インターフェースの設定を変更する。

5./etc/hostsの設定変更
  ※この時点でホストOSから新ホスト名でtelnet接続可能となった。

6.OS再起動
  完了

こんな本を見つけた。

はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS) はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS)
清水 美樹

工学社 2012-07
売り上げランキング : 203743

Amazonで詳しく見る by G-Tools