vagrant upした時に["hostonlyif", "crette"]のエラーが発生する

発生した現象

発生した現象は以下の通りです。

エラーの内容

Vagrantfileでホストオンリーネットワークを設定してvagrant up を実行します。

# Vagrantfile
Vagrant::Config.run do |config|
  ...
  config.vm.network :hostonly, "192.168.33.10"
  ...
end

下記のエラーが発生しVMを起動できません。

$ vagrant up

...
There was an error executing the following command with VBoxManage:

["hostonlyif", "create"]

For moreinformation  on the failure, enable detailed logging with
VAGRANT_LOG.

環境

エラーが発生した際の環境はこちらです。

# Mac OSのバージョン
$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.9
BuildVersion:   13A2093

# Vagrantのバージョン
$ vagrant -v
Vagrant version 1.0.7

# VirtualBoxのバージョン
$ VBoxManage -v
4.2.18r88780

今回検証したゲストOSは、CentOS 6.3とCent OS 6.4。それぞれ以下URLから取得しました。いずれも同様のエラーが発生していました。また前回の記事を書いたときはUbuntuでしたが、そちらも同様のエラーが発生しています。

対処方法

下記のコマンドを実行します。

$ sudo /Library/StartupItems/VirtualBox/VirtualBox restart

これで完了です。再度 vagrant up するとVMが正常に起動します。

/Library/StartupItems/はOS起動時にスタートされるサービスが配置されるディレクトリで、サービスごとにディレクトリが作成されるとのこと。VirtualBox/ディレクトリの中にあるVirtualBoxは実行属性のついたシェルスクリプトです。StartService、StopServiceといった関数が定義されています。サービスの起動、停止を管理するスクリプトですね。

要はVirtualBoxのサービスを再起動しろということのようです。

参考URL