Назад | Перейти на главную страницу

команда vagrant up очень медленная на OS X Lion

Когда я запускаю vagrant, чтобы подготовить новую виртуальную машину на Lion, это занимает очень много времени, в течение которого весь Mac очень тормозит и не отвечает.

Результат выглядит следующим образом, ключевым моментом является «примечание: запуск каталога завершен за 754,28 секунды».

> vagrant up
[default] Importing base box 'lucid64'...
[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.1.0
VirtualBox Version: 4.1.6
[default] Matching MAC address for NAT networking...
[default] Clearing any previously set forwarded ports...
[default] Forwarding ports...
[default] -- ssh: 22 => 2222 (adapter 1)
[default] -- web: 80 => 4567 (adapter 1)
[default] Creating shared folders metadata...
[default] Running any VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Mounting shared folders...
[default] -- v-root: /vagrant
[default] -- v-data: /var/www
[default] -- manifests: /tmp/vagrant-puppet/manifests
[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with lucid64.pp...
[default] stdin: is not a tty
[default] notice: /Stage[main]/Lucid64/Exec[apt-update]/returns: executed successfully
[default] 
[default] notice: /Stage[main]/Lucid64/Package[apache2]/ensure: ensure changed 'purged' to 'present'
[default] 
[default] notice: /Stage[main]/Lucid64/File[/etc/motd]/ensure: defined content as '{md5}a25e31ba9b8489da9cd5751c447a1741'
[default] 
[default] notice: Finished catalog run in 754.28 seconds
[default] 
[default] err: /File[/var/lib/puppet/rrd]/ensure: change from absent to directory failed: Could not find group puppet
[default] 
[default] err: Could not send report: Got 1 failure(s) while initializing: change from absent to directory failed: Could     not find group puppet
[default] 
[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with lucid64.pp...
[default] stdin: is not a tty
[default] notice: /Stage[main]/Lucid64/Exec[apt-update]/returns: executed successfully
[default] 
[default] notice: Finished catalog run in 2.05 seconds
[default] 
[default] err: /File[/var/lib/puppet/rrd]: Could not evaluate: Could not find group puppet
[default] 
[default] err: Could not send report: Got 1 failure(s) while initializing: Could not evaluate: Could not find group     puppet
[default] 
[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with lucid64.pp...
[default] stdin: is not a tty
[default] notice: /Stage[main]/Lucid64/Exec[apt-update]/returns: executed successfully
[default] 
[default] notice: Finished catalog run in 1.36 seconds
[default] 
[default] err: /File[/var/lib/puppet/rrd]: Could not evaluate: Could not find group puppet
[default] 
[default] err: Could not send report: Got 1 failure(s) while initializing: Could not evaluate: Could not find group     puppet
[default] 
>

Учитывая симптомы и результат, каковы будут следующие шаги для устранения проблем с производительностью, которые я вижу?

Мне удалось исправить это, включив кеширование ввода-вывода хоста на моей гостевой виртуальной машине.

  • Запустите виртуальную машину, затем запустите vagrant halt
  • Откройте VirtualBox и используйте графический интерфейс, чтобы изменить настройки, чтобы включить кеш ввода-вывода хоста для контроллера SATA.
  • Переупакуйте базовую коробку: бродячий пакет.
  • Удалите и снова добавьте базовую коробку: vagrant box remove <box>; vagrant box add <box> package.box

(Источник)

Вау, это долгий путь.

Я не уверен, почему Vagrant запускает Puppet три раза. Должно быть только один [default] Running provisioner: Vagrant::Provisioners::Puppet... линия. Проверьте свой Vagrantfile на наличие дубликатов config.vm.provision :puppet линий.

Добавление следующих параметров в строку обеспечения в вашем Vagrantfile может помочь в дальнейшем устранении проблемы. Он покажет, что, по мнению Puppet, происходит во время его запуска.

config.vm.provision :puppet, :options => "--verbose --debug"