Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

vagrant を vmware で動作させてみました

これまでは vagrant + virtualbox という組合わせで使っていました.

一応,仮想マシンの実行環境として vmware も所有しているんだけど,最近あんまり使っていない状態.たまに Windows とか Debian で使う程度で,ちょっともったいない感じ.で,vagrant からの利用なんだけど,vmware 用 plugin を購入するのもどうかなぁと思っていたんだけど,ベンチマークを詳しく調べてみると virtualbox より vmware の方が全然早いみたい.ということで,えいやと vmware plugin を購入して vagrant + vmware で使ってみました.あ,とりあえず Mac 用の VMware Fusion ね.

virtualbox では ubuntu/trusty64 な box を使っていたけど vmware には対応してないみたいなので,puphpet/ubuntu1404-x64 に変更して vmware を provider に指定して実行.

第一印象としては,確かに virtualbox より速い.手元ではベンチマークは取ってないけど,体感でわかるくらい早い.LAMP 環境で debugger on でもあんまりもたつく感じはない雰囲気.使っている box 自体が違うんだけど,その差もあるのかな?どうなんだろう?

でも,vmware 用に配布されている box の品ぞろえがやっぱり少ないかな.有料プロダクトだからかね,やっぱり.

vagrantvmware fusion plugin の導入方法は web のドキュメントにある通りなので省略.vagrant plguin を導入して,ライセンス購入するとダウンロードできるようにあるファイルセンスファイルを使って認証を行う形です.

調子に乗って,Windows 用の VMware workstation でも試してみようかと,Windows/Linux 用のライセンスも購入.

Mac と同様に Windows 上で plugin の導入を実行.ここまでは問題なし.で,vmware workstation 用の vm を指定して up すると

C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/util/io.rb:32:in 'encode': "\x83\xE3" from Windows-31J to UTF-8 (Encoding::UndefinedConversionError)

ん?日本語関係?何も使ってないと思うんだけど,ということで,検索すると

data << io.readpartial(READ_CHUNK_SIZE).force_encoding("UTF-8")

って書きかえれば良いみたいなのでちょこっと書き換え.無事,実行できるようになりました.

Mac の場合と同様に,こちらも virtuslbox よりは体感で早いってわかりますね.vmwarevmware workstation 12 pro を使っています.ためしに vmware player でちょこっと試してみましたが,手元ではやっぱり動作しなかったです.はい.plugin の中をこねくり回せば...と一瞬思ったけど,考えることはみんな同じだと思われるので,ファイル自体が暗号化されているみたい.vmware workstation 5.x あたりののライセンスも持っているので,そっちでも動作すればと思ったけど,それも無理っぽいですね.

vmware workstation/fusion の場合は Vagrantfile があるところに .vagrant ディレクトリが作られるけど,その下に仮想マシンのファイルも作られるみたいだね.virtualbox のように virtualbox 管理ディレクトリ以下に作られるのかと思っていたら違ったのでちょっとびっくり.どこに置かれたんだろう...って真剣になやみました.

あとは vmware の場合には vmware の管理画面に自動で vm は登録されないみたいですね.GUI でもコントロールしたければ

config.vm.provider "vmware_fusion" do |v|
    v.gui = true
end

みたいに書いておかないとだめみたい.詳細は vagrant のドキュメントをどうぞ.

まだ,あんまり使い込んでないけど,これなら virtualbox から vmware に完全移行してもいいかなぁと.:-)

あとは parallels の plugin もありますが,昔に少し試したことがある程度.気が向いたらそのうち再び試してみようかなとは思います.あれ?でも,今 vagrant のページをみてみたら parallels の provider の記述がないですね....手元の環境ではインストールしてるんだけど,現状,どうなっているんだろう.

$ vagrant plugin list
vagrant-parallels (1.6.3)
vagrant-share (1.1.5, system)
vagrant-vmware-fusion (4.0.14)

うーむ.parallels 用の box は配布されているので,まだ使えるんだろうな.多分.

Vagrant入門ガイド
新原雅司
技術評論社
実践 Vagrant
Sky株式会社 玉川 竜司
オライリージャパン