Help us understand the problem. What is going on with this article?

Vagrant + Virtualboxの仮想マシンファイルの置き場所を調べてみた

More than 5 years have passed since last update.

Vagrantを使ってローカル開発をしてるときに、仮想マシンのファイル(.vmdk)がどこにどう配置されているのかを調べてみました。

環境

  • Mac OSX Yosemite
  • Vagrant 1.7.2
  • VirtualBox 4.3.20

配置場所には2種類ある

  • ~/.vagrant.d/boxes/ ... 種仮想マシンの置き場所
  • ~/VirtualBox\ VMs/ ... 起動したインスタンスの実体

$HOME/.vagrant.d/boxes/

ここには、vagrant addなどしたときにインターネットからダウンロードされてきた仮想マシンが保存されます。
ここにある仮想マシンは基本的に読み取り専用として使われます。
AWSにおけるAMIのようなものと考えればよいでしょう。

Vagrantfileに
ruby:Vagrantifle
config.vm.box = "chef/centos-6.6"

と書いてvagrant upした場合(またはvagrant add chef/centos-6.6した場合)、初回時にはatlas(旧名vagrant cloud)のサイトからchef/centos-6.6のイメージがダウンロードされて~/.vagrant.d/boxes/chef-VAGRANTSLASH-centos-6.6/というディレクトリの下に保存されます。

ここにあるイメージファイルのサイズはだいたい1ファイル200MBから400MBで、読み取り専用なので肥大化とかは起こりません。
ですが使わなくなった古いマシンイメージはときどき消しておくとよいでしょう。

vagrant box listで一覧表示
vagrant box remove foo/barで削除

"$HOME/VirtualBox VMs/"

vagrant upした後のインスタンスの仮想マシンイメージが保存される場所です。
AWSにおけるEBS Root Deviceのようなものと考えればよいでしょう。

仮想マシンインスタンスの中にいろいろなファイルを作ったりインストールしていくと、この下にあるここにある仮想マシンファイルがどんどん肥大化していきます。

私の環境では、半年間使い込んだ1個の仮想マシンの容量が13GBにも肥大化してしまっていました。
この仮想マシンの容量を削る方法は一応あるようですが、Immutable Infrastructureな観点からは、削除して新しく作り直すのがいいのではないでしょうか。

Orace VM Virtualboxマネジャーで一覧表示
vagrant destroyで削除

DQNEO
PHP/Go/Perl/C/Docker/Linux/Git/AWS
http://dqn.sakusakutto.jp
mercari
フリマアプリ「メルカリ」を、グローバルで開発しています。
https://tech.mercari.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした