VagrantとVirtualBoxの仮想マシンデータを外付けドライブに移動する方法

Vagrant+VirtualBoxの仮想マシンデータが100GB近くになり、ストレージを著しく圧迫してきたので、データを外付けドライブに退避しました。以下、移動方法です。

1. 環境

外付けドライブ: SanDisk 外付けSSD 500GB
ホスト: MacOS Mojave 10.14.2
Vagrant: Version 2.2.3
VirtualBox: Version 6.0

それぞれ2019/1/19時点の最新版。

2. 作業前に

Vagrantで仮想マシンを立ち上げて、現時点で動作することを確認しておきます。

3. 何のサイズが大きいのか?

下記のサイズが大きいため、これを移動します。

  • Vagrantが使用する “.vagrant.d” フォルダ
  • VirtualBoxが使用する “VirtualBox VMs”フォルダ

4. .vagrant.dフォルダの移動編

.vagrant.dフォルダの移動に必要な作業は次の2つです。

  • .vagrant.d フォルダを外付けドライブに移動します。
  • VAGRANT_HOME に新しいパスを定義します。するとVagrantは新しいパスを自動認識します。

Step1 移動

Macのホーム直下にある “~/.vagrant.d” を、外付けドライブ直下の “/Volumes/[VOLUME_NAME]/.vagrant.d” に移動します。直下でなくても大丈夫です。

Step2 設定

Macのホーム直下にある ~/.bash_profile を開き、次の行を追加します。

export VAGRANT_HOME="/Volumes/[VOLUME_NAME]/.vagrant.d"

5. VirtualBox VMsフォルダの移動編

VirtualBox VMsフォルダの移行に必要な作業は次の3つです。

  • VirtualBox VMsフォルダを外付けドライブに移動します。
  • VirtualBoxの仮想マシンフォルダの位置設定を変えます。
  • VirtualBoxへ仮想マシンを登録し直します。

Step1 移動

VirtualBoxを開き、設定 – 一般 – デフォルトの仮想マシンフォルダー でVirtualBox VMsフォルダの位置を確認します。

続いて、”VirtualBox VMs”フォルダを、外付けドライブ直下の”/Volumes/[VOLUME_NAME]/VirtualBox VMs” に移動します。直下でなくても大丈夫です。

Step2 設定

VirtualBoxを開き、設定 – 一般 – デフォルトの仮想マシンフォルダー を新しいパスに変更します。

パスは、”/Volumes/[VOLUME_NAME]/VirtualBox VMs” です。

Step3 再登録

VirtualBoxを起動し直すと、仮想マシンリストに”アクセスできない”旨が表示されるので、一旦登録を解除します。各々を選択して、右クリック – 除去を選択します。

続いて、VirtualBoxを閉じます。

移動した”VirtualBox VMs”フォルダ内の各仮想マシンフォルダ内に、.vboxファイルがあるので、これを各々ダブルクリックで実行し、VirtualBoxに仮想マシンを再登録します。

6. 作業後の確認

ターミナルを起動し直し、Vagrantで仮想マシンを立ち上げて、動作することを確認します。