Program LOG

勉強した内容をまとめ中。。。間違ってたら教えて。。。

Windows&Vagrantで自動仮想環境構築

VirturalBoxを使い始めると必ず耳にするのが、VagrantとChefです。
キーワードを聞いて気になり、ドットインストールに講座があったので、取り合えず見てみたんですが、
すごい便利だったので、取り合えずVagrantの導入をトライしてみました。
まぁ、もうみんな当たり前なんだと思いますが・・・。

Vagrantってなんぞや

最近注目されている開発支援ツール「Vagrant」は、テスト用の仮想マシン作成やその環境設定などを自動化するツールだ。これを利用することで、仮想環境の作成からセットアップ、そして破棄までを、簡単なコマンドを実行するだけで行える。

基本的に、便利なのはドットインストールの段階で分かってたんだが、
あれはMacへのインストールだったからなぁ・・・と思いながらも調査開始!

試した環境

ホストOS: Windows7 x64
VirtualBox: 4.3.10
Vagrant: 1.5.2
ゲストOS: CentOS6.4 x64

Vargrantの導入にあたり必要なツール

  • VarturalBox

こちらは、以前紹介しているので、下記の記事を参照下さい。
VirtualBoxに最小構成CentOS6.5をインストール - Program LOG

Vargrantのダウンロードとインストール

まずは、下記のサイトから最新版のVagrantをダウンロードしてきます。
Vagrant
今回はWindows7の64bitにインストールしますので、Windows版(vagrant_1.5.2.msi)をダウンロードしました。

ダウンロードしたファイルを押下して、インストールウィザードを立ち上げます。
基本的には、何も気にせずに、インストールして問題が無い様なので、
気にせずにインストールしたいと思います。
※再起動を求められえるのでご注意を!

Vargrant Boxとは

Boxとは、仮想マシンのテンプレートになります。
いろんな構成の仮想マシンBoxがWEB上で公開されているので、
好きな構成のものをダウンロードすればよいかと思います。

Vagrantbox公開先。
A list of base boxes for Vagrant - Vagrantbox.es

今回は、CentOS6.4 64bit版を使用したいと思います。
CentOS 6.4 x86_64 Minimal (VirtualBox Guest Additions 4.2.12, Chef 11.4.4, Puppet 3.1.1) を選択。
http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

前回記事Cygwinを入れたので、Cygwinを使用して、インストールしていきたいと思います。

Vargrantの初期化(仮想マシン追加)

Cygwinを起動して、ホームディレクトリ上で以下のように実行します。
今回は、「dev1」というボックス名で作成し、カレントディレクトリにVMを作成したいと思います。

$ vagrant box add dev1 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
==> box: Adding box 'dev1' (v0) for provider:
    box: Downloading: http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

==> box: Successfully added box 'dev1' (v0) for 'virtualbox'!

$ vagrant init dev1
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.

解説させていただくと、「vagrant box add ボックス名 BOXパス」を指定すると、
ボックスのダウンロードが開始されます。※結構時間がかかります。
vagrant init ボックス名」を実行すると、Vagrantの初期化(Vagrantfileの作成)されます。
また、initのコマンドを実行した際、実行したディレクトリに「Vagrantfile」が作成されます。
プロジェクト毎に仮想サーバーを変えたり、バージョン管理したい場合には、そのディレクトリに
遷移しておいた方がいいと思います。

また、以下のコマンドはvagrantboxを使用する上でのヘルプになりますので、覚えておきましょう!

$ vagrant box -h

Vargrantを起動する

Vargrant追加されたはずなので、いったん起動してみたいと思います。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'dev1'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: ....
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> 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: 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.2.16
    default: VirtualBox Version: 4.3
==> default: Mounting shared folders...
    default: /vagrant => ...

起動にすごい時間がかかりました・・・・。
Cygwinの影響もあるんでしょうか?ふむ。

仮想サーバーに接続してみる。

とりあえず、起動できたはずなので、接続してみたいと思います。

$ vagrant ssh
cygwin warning:
  MS-DOS style path detected: ....
  Preferred POSIX equivalent is: ....
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Welcome to your Vagrant-built virtual machine.
[vagrant@localhost ~]$

さくっと入れました。
普段は、TeraTermを使っているので、SSH使うなら試したら、以下のような設定で入れました。
vagrant@127.0.0.1
ポート 2222
パスワードを聞かれますが、「vagrant」で入れました。

仮想サーバーの操作について

一度、仮想サーバーから抜けて、仮想サーバーの操作をしてみたいと思います。

まずは、先ほどやった起動は以下。

$ vagrant up

状態確認は以下

$ vagrant status

スリープさせて復帰させたい場合は以下

$ vagrant suspend
$ vagrant resume

終了させたい場合は以下

$ vagrant halt

再起動させたい場合は以下

$ vagrant reload

仮想マシンを削除したい場合は以下

$ vagrant destroy

先ほど作成した仮想マシンを削除したいと思います。

$ vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...

削除が出来たと思います。

今回は、ひとまず、インストールと簡単なコマンドをピックアップしてみました。
次回以降にネットワークの設定やapacheなどのインストールを行っていこうと思います。