LoginSignup
28
28

More than 5 years have passed since last update.

Vagrantトラブルシュートメモ

Last updated at Posted at 2014-03-12

トラブル

"The guest additions on this VM do not match the installed version of VirtualBox!"と表示される

VirtualBoxとゲストOS内のVirtualBox Guest Additionsがアンマッチしているときに表示される。VirtualBox Guest Additionsのバージョンを認識して、自動的にインストールを行ってくれるvagrant-vbguestプラグインを使って解消する。

vagrant plugin install vagrant-vbguest
vagrant reload

Provisioning時に"The expanded run list includes nonexistent roles"と表示される

Vagrantfile内のrole_pathが誤っている場合に出力される。手元の環境はマルチVMで使用しているので、chef_solo実行部分にrole_path指定を挟む。

web.vm.provision :chef_solo do |chef|
  chef.cookbooks_path = "../chef-kitchen/cookbooks"
  chef.roles_path = "../chef-kitchen/roles"
  chef.data_bags_path = "../chef-kitchen/data_bags"

  chef.add_role("app")
  chef.add_role("nginx_app")
end

synced_folderが動かない

ホストOSとゲストOSのディレクトリはsftp経由で同期しているため、sshd_configのsftpサブシステムが有効になっているか調べる。

/etc/ssh/sshd_config
AuthorizedKeysFile %h/.ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
PasswordAuthentication no
Port 22
Subsystem sftp  /usr/lib/openssh/sftp-server  # ←これ

以下余談。

sshをchefのopensshレシピでうっかりインストールしてしまったところ、synced_folderが使用できない問題が発生した。ゲストOSのログからvagrantがsftp接続していることがわかる。

/var/log/auth.log
Mar 12 15:33:48 precise64 sshd[1397]: subsystem request for sftp by user vagrant

opensshレシピを使いつつsftp subsystemを有効にするにはattributesを次のようにする。

openssh: {
  server: {
    password_authentication: "no",
    port: 22,
    subsystem: "sftp      /usr/lib/openssh/sftp-server"
  }
}
28
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
28