読者です 読者をやめる 読者になる 読者になる

VagrantでVirtualBoxにゲストOSをインストールする

virtualbox vagrant

いつもISOからインストールしていましたが、Vagrant(ベーグラント)で仮想マシンを作成して起動してみます。

Vagrantのメリット は色々あると思うのですが、自分が使ってみて感じた点は以下の2つです。

・ OSのインストールがisoからインストールする場合に比べて容易で早い

・ Boxファイルを作成しておけば、検証環境を統一することができる

 

今回想定しているイメージは下図のような感じで、

ホストOS(Windows10)にVagrantをインストールして、

コマンドプロンプト上からVirtualBoxにゲストOS(CentOS7.0)をインストールします。

f:id:iwamocchan11:20150805231757p:plain

vagrantコマンドはWindowsコマンドプロンプトより実行します。

 

Vagrantをインストールします。

Download Vagrant - Vagrant

Windows10を使用しているので、WINDOWSからダウンロードしてインストール。

f:id:iwamocchan11:20150805230929p:plain

インストールが終わったら、再起動が求められるので注意してください。

 

Virtal Boxを起動しておきます。

現在、ゲストOSがひとつ入っている状態です。

f:id:iwamocchan11:20150805232805p:plain

Boxファイルを入手します。

http://www.vagrantbox.es/

f:id:iwamocchan11:20150805233139p:plain

[Copy]をクリックして、リンクをコピーします。

 

コマンドプロンプトを起動して

vagrant add [任意の名前][BOXのリンク] を実行

(Win10からCtrl+Vでペーストできて便利になった気がする)

C:\Users\user1> vagrant box add centos7.0  https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box 

 

==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos7.0' (v0) for provider:
box: Downloading: https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
box: Progress: 100% (Rate: 6178k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'centos7.0' (v0) for 'virtualbox'!

 うまくいったようです。

 

追加されているか確認します。

C:\Users\user1> vagrant box list
centos7.0 (virtualbox, 0)

できてますね。

 

仮想マシンを作成します。

まずフォルダを作成して、

C:\Users\user1>mkdir centos7.0

C:\Users\user1>cd centos7.0

C:\Users\user1\centos7.0>

Vagrantfileを作成します。

C:\Users\user1\centos7.0>vagrant init centos7.0 

 

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

 フォルダの中身を確認。Vagrantfileが出来ています。

C:\Users\user1\centos7.0>dir

C:\Users\user1\centos7.0 のディレクトリ

2015/08/05 23:46 <DIR> .
2015/08/05 23:46 <DIR> ..
2015/08/05 23:46 3,092 Vagrantfile
1 個のファイル 3,092 バイト
2 個のディレクトリ 358,667,452,416 バイトの空き領域

テキストエディタで、Vagrantfileを開きます。

f:id:iwamocchan11:20150805235424p:plain

設定は以下のようになっています。(抜粋)

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

config.vm.network "private_network", ip: "192.168.56.111"

config.vm.synced_folder "../data", "/vagrant_data"

end

 コマンドプロンプトに戻り、仮想マシンの起動をします。

(ここでエラーが出た場合は、記事の最後の方を参照してください)

C:\Users\user1\centos7.0>vagrant up


Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos7.0'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: centos70_default_1438792340276_77780
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.3.28
default: VirtualBox Version: 5.0
==> default: Checking for host entries
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
default: /vagrant => C:/Users/user1/centos7.0
default: /vagrant_data => C:/Users/user1/data

VirtualBoxを確認すると、仮想マシンが作成されて起動していることが分かります。

f:id:iwamocchan11:20150806013524p:plain

 TeraTermSSH接続してログインします。

ログイン情報は、vagrant up した際に出力された赤文字部分を使用します。

 

ログインできました。

f:id:iwamocchan11:20150806013847p:plain

 仮想マシンを終了します。(電源オフ)

C:\Users\user1\centos7.0>vagrant up

 

以下の記事を参照しました。ありがとうございました!

【Windows7(64bit)】VirtualBox+VagrantでCentOSの仮想環境構築 - Qiita

 

(2015/08/09 追記)

vagrant up した際に以下のようなエラーが出る場合は以下の記事を参照してください。

d.hatena.ne.jp

(2015/8/25 追記) 

VirtualBox 5.0.2 にて、上記の不具合が修正されています。

Changelog – Oracle VM VirtualBox

Windows10に関する変更は5つ

・ VRDP: allow Windows 10 RDP clients (bug #14216)

Windows hosts: fixed crash when opening Windows dialogs from the VM process on Windows 10 (bug #14351)
Windows hosts: fixed host-only adapter creation issues on Windows 10 (bug #14040)
Windows hosts: fixed audio on Windows 10 (bug #14432)

・ Windows Additions: fixed a potential crash in the WDDM driver with Windows 10 (bug #14190)