今すぐアップデートを!
今更ですが、vagrant・chef solo・ansibleあたりを本格的に勉強するため、自前のmacでまずは仮想環境を作るべくvagrantを触っていました。
しかしブリッジ接続でprivate_networkで固定IPを振りたいのですがエラーがでます。
- vagrantのバージョン
- Vagrantfile
- vagrant upのログ
- 結局・・・
- ローカルからsshしてみる
- ifconfigしてstatic ipが振られた事を確認
- 現在のvagrantから別のvagrantにsshしてみる
- node1にapacheを入れてローカルから参照してみる
- 雑感
vagrantのバージョン
treemacpro-2:vagrant tree$ vagrant version
Installed Version: 1.6.0
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define :node1 do |node| node.vm.box = "chef/centos-6.5" node.vm.network :forwarded_port, guest: 22, host: 2001, id: "ssh" node.vm.network :private_network, ip: "192.168.33.10", error_check: false end config.vm.define :node2 do |node| node.vm.box = "chef/centos-6.5" node.vm.network :forwarded_port, guest: 22, host: 2002, id: "ssh" node.vm.network :private_network, ip: "192.168.33.11", error_check: false end end
vagrant upのログ
treemacpro-2:vagrant tree$ vagrant up Bringing machine 'node1' up with 'virtualbox' provider... Bringing machine 'node2' up with 'virtualbox' provider... ==> node1: Importing base box 'chef/centos-6.5'... ==> node1: Matching MAC address for NAT networking... ==> node1: Checking if box 'chef/centos-6.5' is up to date... ==> node1: Setting the name of the VM: vagrant_node1_1401799926238_18549 ==> node1: Clearing any previously set network interfaces... ==> node1: Preparing network interfaces based on configuration... node1: Adapter 1: nat node1: Adapter 2: hostonly ==> node1: Forwarding ports... node1: 22 => 2001 (adapter 1) ==> node1: Booting VM... ==> node1: Waiting for machine to boot. This may take a few minutes... node1: SSH address: 127.0.0.1:2001 node1: SSH username: vagrant node1: SSH auth method: private key node1: Warning: Connection timeout. Retrying... node1: Warning: Connection timeout. Retrying... ==> node1: Machine booted and ready! ==> node1: Checking for guest additions in VM... ==> node1: Configuring and enabling network interfaces... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /sbin/ifdown Stdout from the command: Stderr from the command: usage: ifdown <device name>
私はインフラエンジニアでないのでよく解ってませんが、この辺でバグチケットが起票され、パッチが配布されてたりするようですね。
結局・・・
vagrantのバージョンを1.6.0から1.6.3にアップデートしたら嘘のようにエラーがでなくなり、全てが上手く動きました。。
こんな重要なバグはもっと優先度上げて直さんかーい!!
ローカルからsshしてみる
vagrant sshではなく、普通にsshしてみます。
treemacpro-2:cap tree$ ssh vagrant@192.168.33.10 vagrant@192.168.33.10's password: Last login: Tue Jun 3 15:44:42 2014 from 10.0.2.2 [vagrant@localhost ~]$
普通にsshできました。vagrantへのsshはユーザ名:vagrant、パスワード:vagrant、で接続できます。
ifconfigしてstatic ipが振られた事を確認
[vagrant@localhost ~]$ ifconfig eth1 Link encap:Ethernet HWaddr 略 inet addr:192.168.33.10 Bcast:192.168.33.255 Mask:255.255.255.0 ・・・略・・・
ちゃんと割り振られてますね。
現在のvagrantから別のvagrantにsshしてみる
冒頭のVagrantfileでノード1・2と2つの仮想環境を定義しました。
では1から2にsshできるか試してみます。
[vagrant@localhost ~]$ ssh vagrant@192.168.33.11 vagrant@192.168.33.11's password: Last login: Tue Jun 3 15:52:02 2014 from 192.168.33.10 [vagrant@localhost ~]$
よし、sshできます。
node1にapacheを入れてローカルから参照してみる
apacheのインストールは単純に、
sudo yum install httpd
でインストールします。
では早速httpdを起動し、ローカルのブラウザから起動したapacheが見えるか確認してみます。
見えましたね!!
雑感
Qiitaにvagrantの記事が沢山あり、嬉々として試してみて私と同じエラーが発生し、ああ面倒臭い・・・もういいや、と諦めていたあなた!!バージョン1.6.3でようやくスッキリ修正されたようなので、これを機にもう一度vagrantを試してみませんか!?
これで勝ちゲー確定じゃん!!
調子にのって会社で色々やって社内ネットワークに干渉してネットワーク部に怒られるんだよなあ・・・良い子の皆はちゃんとネットワーク部に相談してからローカルで仮想環境を構築しましょうね