Vagrantを利用する上で出くわしたエラーを忘れないように残しておく。
初回起動時のnot mountedエラー
新規VM作成において以下のようなエラーが発生。
kernel-develのパッケージがない(一致しない)ことが原因?
No package kernel-devel-3.10.0-1127.el7.x86_64 available.
Error: Nothing to do
Unmounting Virtualbox Guest Additions ISO from: /mnt
umount: /mnt: not mounted
==> agent: Checking for guest additions in VM...
agent: No guest additions were detected on the base box for this VM! Guest
agent: additions are required for forwarded ports, shared folders, host only
agent: networking, and more. If SSH fails on this machine, please install
agent: the guest additions and repackage the box to continue.
agent:
agent: This is not an error message; everything may continue to work properly,
agent: in which case you may ignore this message.
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
umount /mnt
Stdout from the command:
Stderr from the command:
umount: /mnt: not mounted
対処
ssh で対象のVMにログイン(エラーはでているがVMの作成はできているはず)し、yum updateを行い、VMをリロードすることで解消できた。
DNSエラー
DNSが引けないエラーが発生。
[server] No Virtualbox Guest Additions installation found.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=vag error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
対処
vagrant ssh で対象のログイン後、resolv.conf のDNSを変更する。
$ sudo vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
設定変更後にVMをリロードする。
プロセスロックエラー
halt 、up、reload などのコマンドを実行すると以下のようなエラーが出た。
PS> vagrant halt agent
An action 'halt' was attempted on the machine 'agent',
but another process is already executing an action on the machine.
Vagrant locks each machine for access by only one process at a time.
Please wait until the other Vagrant process finishes modifying this
machine, then try again.
If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.
Ruby プロセスが動いていることが原因らしい。
本来であれば停止する際にこのプロセスが終了するはず。
対処
対象となるRuby プロセスを探す。
PS> tasklist /fi "Imagename eq ruby.exe"
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
ruby.exe 27404 Console 1 68,856 K
そのプロセスを削除する。
PS> taskkill /F /pid 27404
これで解消されるはず。
ステータスに削除したはずのVMが表示される
VMのステータスを確認すると削除したはずのVMが表示される。
PS> vagrant global-status
a3a5b4e default virtualbox running C:/Users/USER/vm/python #削除済み
37862f4 django virtualbox running C:/Users/USER/vm/python
対処
–prune オプションを付けて実行する。
以後表示されなくなる。
PS: vagrant global-status --prune
7862f4 django virtualbox running C:/Users/USER/vm/python
シャットダウン不可
vagrant halt でVMがシャットダウン中から先に進まないため、[ctrl] + c でキャンセルするとVMがロックされてしまった。
PS:vagrant halt
==> vm1: Attempting graceful shutdown of VM... #ここから動かない
[ctrl] + c #実行をキャンセル
PS:vagrant status
vm1 stopping (virtualbox)
ステータスが「stopping」になってしまうとup,haltなどのコマンドを受け付けなくなってしまう。
対処
対象のマシンに以下のコマンドを実行する。
その際、マシン名(例:vm_vm1_1618374481306_72984)はVirtualBox VMs(ディレクトリ) 配下の対象マシンのファイル名を指定する。
もしくはVirtualBoxからマシン名を指定する。
PS: C:\"Program Files"\Oracle\VirtualBox\VBoxManage.exe controlvm マシン名 poweroff
状態を確認する。
PS:vagrant status
Current machine states:
vm1 poweroff (virtualbox)
状態を確認して poweroff であれば解消だが、よくわからんが以下のような状態になることもあるようだ。
PS VBoxManage.exe controlvm マシン名 poweroff
VBoxManage.exe: error: The virtual machine is being powered down
VBoxManage.exe: error: Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component ConsoleWrap, interface IConsole, callee IUnknown
その場合は以下を実行する。
C:\"Program Files"\Oracle\VirtualBox\VBoxManage.exe startvm マシン名 --type emergencystop
すると状態が「stopping」から「aborted」に遷移する。
PS vagrant status
Current machine states:
vm1 aborted (virtualbox
後は再起動するだけ。