Невозможно смонтировать файлы в Vagrant - PullRequest
0 голосов
/ 24 мая 2018

Описание ошибки

Я не могу смонтировать файлы в Vagrant или Docker, поэтому похоже, что это проблема, вызванная какой-то ошибкой разрешения.
Моя ОС Ubuntu 18.04 LTS (Bionic Beaver), яНасколько мне известно, я не запускаю никаких модулей контроля доступа, таких как * 1005.

Обсуждение ошибки, связанное с Docker, находится в другом вопросе: Невозможно смонтировать файлы в Docker

Устранение неполадок Vagrant

В результате я не могу смонтировать файлы в Vagrant boxs (даже если у меня есть vboxsf):

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 srv_salt /srv/salt

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

Я указал этизаявления в Vagrantfile, и он работает на локальных сборках моих коллег, но в моей сборке эти файлы не монтируются и не копируются в коробки:

host.vm.synced_folder "salt/", "/srv/salt"
host.vm.synced_folder "pillar/", "/srv/pillar"

Заключение

Кажется, что-то очень запутанона моем локальном компьютере, когда дело доходит до копирования файлов, возможно, имеет отношение к тому, как настроен мой пользователь и каков доступ к монтированию файлов в виртуальные машины и контейнеры.
Если кто-то может пролить свет на этоЯ был бы признателен.

Обновления

1)

Как предложил пользователь @BMitch, я прошел установку "Virtualbox Guest Additions".
Всякий раз, когда я делаюОбновление моих пакетов Я регистрирую это в лог-файлах, нашел это из update-20180405_153850.txt, почти 2 месяца назад.

Preparing to unpack .../virtualbox-guest-additions-iso_5.1.34-0ubuntu1.16.04.2_all.deb ...
Unpacking virtualbox-guest-additions-iso (5.1.34-0ubuntu1.16.04.2) over (5.0.40-0ubuntu1.16.04.1) ...

Но это не имеет смысла для меня ... мой скрипт начальной загрузки (vagrant up'ingящики) не удается в первый раз, когда я запускаю его с этим:

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 srv_salt /srv/salt

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

Traceback (most recent call last):
  File "launch-vagrant.py", line 166, in <module>
    main()
  File "launch-vagrant.py", line 120, in main
    vagrant()
  File "launch-vagrant.py", line 95, in vagrant
    main()
  File "launch-vagrant.py", line 67, in main
    start()
  File "launch-vagrant.py", line 83, in start
    _exec('vagrant', 'up')
  File "launch-vagrant.py", line 129, in _exec
    subprocess.check_call(list(args))
  File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['vagrant', 'up']' returned non-zero exit status 1.

Во второй раз, когда я запускаю его, это успешно, но со следующим предупреждающим сообщением:

Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 5.2.11 - guest version is unknown
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.11 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 5.2.11 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    kernel-devel kernel-devel-3.10.0-693.21.1.el7.x86_64
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    kernel-devel kernel-devel-3.10.0-693.21.1.el7.x86_64
An error occurred during installation of VirtualBox Guest Additions 5.2.11. Some functionality may not work as intended.
In most cases it is OK that the "Window System drivers" installation failed.

Очевидно, этогостевые дополнения VBox, установленные в реальных коробках, а не на моей локальной машине.

Однако я изменил режим файла для /usr/share/virtualbox/VBoxGuestAdditions.iso, так что, возможно, это решит проблему:

petrus@DD-XPS-15-9550:/usr/share/virtualbox$ ll
total 56656
drwxr-xr-x   3 root root     4096 maj 14 00:28 ./
drwxr-xr-x 384 root root    16384 maj 16 12:58 ../
drwxr-xr-x   2 root root    12288 maj 13 23:06 nls/
-rw-r--r--   1 root root 57970688 apr 20 15:50 VBoxGuestAdditions.iso
-rwxr-xr-x   1 root root     2600 nov 29  2016 VBox.sh*
-rwxr-xr-x   1 root root     4163 apr 13 18:37 VBoxSysInfo.sh*
petrus@DD-XPS-15-9550:/usr/share/virtualbox$ sudo chmod ugo+w VBoxGuestAdditions.iso 
[sudo] password for petrus: 
petrus@DD-XPS-15-9550:/usr/share/virtualbox$ ll
total 56656
drwxr-xr-x   3 root root     4096 maj 14 00:28 ./
drwxr-xr-x 384 root root    16384 maj 16 12:58 ../
drwxr-xr-x   2 root root    12288 maj 13 23:06 nls/
-rw-rw-rw-   1 root root 57970688 apr 20 15:50 VBoxGuestAdditions.iso
-rwxr-xr-x   1 root root     2600 nov 29  2016 VBox.sh*
-rwxr-xr-x   1 root root     4163 apr 13 18:37 VBoxSysInfo.sh*

1 Ответ

0 голосов
/ 28 мая 2018

К проблеме vagrant: По умолчанию Vagrant смонтировал папку с файлом Vagrant хоста в '/ vagrant'.Проверьте вывод команды 'ls -l / vagrant', если базовое монтирование файловой системы работает.

Команда 'ls' должна показать ваш Vagrantfile как минимум в '/vagrant'.

ЕслиVagrantfile виден в виртуальной машине в основном, монтирование работает с vagrant.

host.vm.synced_folder "salt/", "/srv/salt"
host.vm.synced_folder "pillar/", "/srv/pillar"

Кажется, вы монтируете свою дополнительную папку относительно вашего Vagrantfile.В этом случае вы можете изменить свою виртуальную машину внутренне, чтобы связать их с нужной папкой dest.

Вы можете сделать это, например, в состоянии подготовки вашей виртуальной машины.

# Vagrantfile snippet
config.vm.provision "shell", inline: <<-SHELL
ln -s /vagrant/salt /srv/salt
ln -s /vagrant/pillar /srv/pillar  
SHELL

Может быть, этот файлнедоступны во время подготовки, затем запустите их как одноразовую задачу после первого входа в систему или поместите что-то похожее на /etc/rc.local вашей виртуальной машины

...