VirtualBoxとVagrantを使ってDebianOSの仮想環境構築

VagrantはVirtualBoxやVMwareなどを利用することで、仮想マシン作成やその環境設定などを自動化するツールです。設定ファイルを用意するだけで、仮想ディスクイメージのダウンロード、仮想マシンの作成/起動を行えます。ここでは、VirtualBoxとVargrantを使ってDebianOSの仮想環境構築について解説していきます。

01: 環境

  • Windows 7 Professional

02: インストール

Windows版のVirtualBoxを下記サイトからダウンロードしてインストールする。 https://www.virtualbox.org/wiki/Downloads Windows版のVagrantを下記サイトからダウンロードしてインストールする。 https://www.vagrantup.com/downloads.html

03: DebianOSの仮想環境構築

bash


# 作業ディレクトリを作成
$ cd /Users/toshiba
$ mkdir Debian & cd Debian
$ mkdir jessie8.0 & cd jessie8.0

# Debian/jessie8.0をboxに追加
$ vagrant box add Debian/jessie8.0 https://github.com/holms/vagrant-jessie-box/releases/download/Jessie-v0.1/Debian-jessie-amd64-netboot.box

# Vagrantfileの作成
$ vagrant init Debian/jessie8.0

その他のコマンド

bash


# vagrantのバージョン確認
$ vagrant -v

# vagrant終了
$ vagrant halt

# vagrantリロード
# Vagrantfile編集後、vagrant up/halt不要)
$ vagrant reload

# boxの一覧表示
$ vagrant box list
「vagrant up/halt/reload」などは仮想環境を構築したフォルダで実行する。

04: ポートフォワーディング

Vagrantfile


...
# 下記を追記する。
config.vm.network "forwarded_port", guest: 22, host: 2001, id: "ssh"
...

bash


# Vagrant起動
# 「/Users/<user>/VirtualBox VMs/<vm_name>」に保存される。
$ vagrant up

05: 接続テスト

bash


# SSH接続
# パスワードはIDと同じ
$ ssh -l vagrant -p 2001 192.168.11.4

06: Snapshot/バックアップについて

Snapshot

bash


# スナップショットの作成
# 「/Users/<user>/VirtualBox VMs/<vm_name>/Snapshots」に保存される。
$ vagrant snapshot save 20170505_0452

# スナップショットの一覧表示
$ vagrant snapshot list

# スナップショットの復元
$ vagrant snapshot restore 20170505_0452

# スナップショットの削除
$ vagrant snapshot delete 20170505_0452

バックアップ

bash


# バックアップの作成
# バックアップは実行したフォルダに保存される。
# /Users/<user>/.vagrant.d/tmpにバックアップファイルと同程度のサイズのフォルダが作成されるので、実行後削除する。
$ vagrant package --output=backup20170505_0452.box

## 復元
# Vagrantfileの退避
$ copy Vagrantfile Vagrantfile.bk

# 仮想マシンのデータを削除
$ vagrant destroy

# boxから削除
$ vagrant box remove Debian/jessie8.0

$ Vagrantfileの削除
$ del Vagrantfile

# boxに追加
$ vagrant box add Debian/jessie8.0 backup20170505_0452.box

# Vagrantfileの作成
$ vagrant init Debian/jessie8.0

$ Vagrantfileの削除
$ del Vagrantfile

# 退避したVagrantfileを戻す。
$ move Vagrantfile.bk Vagrantfile