Vagrant

Mac OS X の Vagrant provider 事情

More than 3 years have passed since last update.

Vagrant で Parallels が使えるのに今更ながら気付いたので、Mac OS X で動作する3つの provider について気になった点をメモ。なお性能比較はしていません。


VMware Fusion


  • VM の kernel をアップデートすると VMware Tools を手動で更新する必要がある

  • tcpdump するとハングして kill するしかなくなる (version 5 〜 7 で確認済み)

  • vagrant-vmware-fusion plugin を VMware Fusion のバージョンアップ毎に買う必要がある


VirtualBox


  • vagrant-vbguest plugin を入れておけば、VM 起動時に必要に応じて Guest Additions を自動更新してくれる


    • VM の kernel をアップデートしても面倒がない



  • macvlan を使うと (そのままでは) 通信できない


    • 親のデバイスに対して tcpdump すると通信できるようになる (promiscuous mode になるから)

    • VirtualBox の仮想 NIC が自身の MAC アドレスのパケットしか通さないらしく、macvlan で勝手に追加した MAC アドレスのパケットがドロップされてしまうのが原因ぽい (参考1参考2)

    • 深追いしてないが、参考に書かれている通り modifyvm を指定してみても動作しなかった




Parallels


  • vagrant-parallels plugin は Parallels 主導で OSS で開発されている

  • VM 起動時に必要に応じて Parallels Tools を自動更新してくれる


    • VM の kernel をアップデートしても面倒がない



  • Headless mode がないので、VM 起動時に VM のウィンドウが表示される


    • VM のウィンドウを閉じても停止するわけではない

    • Parallels Desktop.app を Cmd+Q 等で閉じたら VM も終了してしまう

    • Parallels Desktop.app を起動せずに vagrant up すれば Headless で動作するが、その後アプリを起動すると起動中の VM のウィンドウが表示される


      • Yosemite の通知センター Widget はアプリが起動していないと使えない