【Vagrant エラー対応】 備忘録

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

後は再起動するだけ。

タイトルとURLをコピーしました