Pregunta

Estoy enfrentando un problema impar con (re) envasando una caja vagabunda y espero que tal vez alguien pueda decirme en qué dirección se vea. Esta es la historia

  • I instalé el vagabundo y he creado con éxito algunos manifestos de títeres y todo funciona bien, vagabundo ... aprovisionando, ...
  • Luego, necesitaba cambiar a NFS que fallaron porque NFS no estaba instalado en mi sistema operativo invitado (Ubuntu 11.04-AMD64)
  • He instalado NFS-common en el sistema operativo invitado (sudo apt-get install nfs-common)
  • vagrant halt
  • vagrant up
  • y el monte NFS funciona perfectamente, incluso después de varios comandos de alto / arriba, ¡estoy feliz!

El siguiente paso lógico estaría empaquetando la caja, por lo que no necesito reinstalar NFS-common cada vez que se destruye la máquina virtual.

  • en el mismo directorio que arriba: vagrant package
  • vagrant box add ubuntuvm2 package.box
  • rm package.box
  • Cambie la línea config.vm.box en VagrantFile a Ubuntuvm2
  • vagrant destroy
  • vagrant up
  • y de repente, el montaje NFS falla, cuando se ssshing en la VM puedo confirmar que NFS-Common está instalado, pero el Monte NFS simplemente falla: https://img.skitch.com/20120302-kwix296t44y31rxkd52pwm72f4.jpg

¿Alguien tiene una idea en qué dirección comenzar a buscar una solución?

Estoy usando VirtualBox 4.1.8 y Vagrant 1.0.0 en OS-X LEON

¿Fue útil?

Solución

Tuve el mismo problema, pero lo he descubierto. Al menos funciona para mí ahora. :)

tl; dr:

  • Check / etc / Exports for Syntax Errores y Recreate / etc / Exports con una entrada que se asegura de que funciona.
  • Verificar las interfaces de red en el cuadro se inicializan correctamente (Cheque / etc / etc / red / interfaces y ejecute ifconfig -a).
  • Al menos Debian y Ubuntu Store Information sobre el dispositivo de red persistente en /etc/udev/rules.d/70-persistent-net.Rules. Si ve que eth1 se inicializa como eth2, se debe a que la dirección MAC de la tarjeta de red se regenera cuando crea una nueva instancia de caja. rm /etc/udev/rules.d/70-persistent-net.rules y vuelve a empaquetar su caja.
  • Si no puede reenvasar su actualización de la caja / etc / red / interfaces para usar ETH2 INSTAD de ETH1

Forma larga:

  • Vagrant es 1.0.1
  • OS X es 10.7.3
  • caja es personalizada Debian Wheezy 64.

Al recargar o recrear la caja, moriría en el montaje NFS con el mensaje típico.

[default] Mounting NFS shared folders...
Mounting NFS shared folders failed. This is most often caused by the NFS
client software not being installed on the guest machine. Please verify
that the NFS client software is properly installed, and consult any resources
specific to the linux distro you're using for more information on how to
do this.

Inspección del archivo / etc / Exports con nfs manager me dice mi / etc. / Las exportaciones contienen errores de sintaxis.

i limpia / etc / EXPORTS y TEST NFS Client and Server con esta entrada:

/Users/tm/git -alldirs localhost 33.33.33.10

Cuando se ejecuta Vagrant Up NFS, el montaje está funcionando de nuevo.

Al reenvasar la casilla después de APT, obtenga la actualización dist. Noté que las carpetas NFS no volverían a montar.

Esta vez no hubo errores en el archivo / etc / exports. Descubrí Vagrant no había inicializado la interfaz local del anfitrión.

/ etc / red / interfaces contenía esto:

#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto eth1
iface eth1 inet static
    address 33.33.33.10
    netmask 255.255.255.0
#VAGRANT-END

ifconfig -a devolvió esto:

eth0      Link encap:Ethernet  HWaddr 08:00:27:3a:47:72  
      inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
      inet6 addr: fe80::a00:27ff:fe3a:4772/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:971 errors:0 dropped:0 overruns:0 frame:0
      TX packets:614 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:83951 (81.9 KiB)  TX bytes:74872 (73.1 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:89:f5:e3  
      BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

La interfaz no se definió correctamente. Después de actualizar la stanza / etc / network / intefaces para usar el montaje ETH2 NFS está funcionando nuevamente.

Otros consejos

Aquí hay un error abierto sobre esto y una solución:

https://github.com/mitchellh/vagrant/issues/997

  1. editar /etc/udev/rules.d/70-persistent-net.rules y eliminar líneas para interfaces que no sean eth0
  2. vagrant package
  3. vagrant box add mypack package.box
  4. vagrant destroy
  5. en Vagrantfile conjunto config.vm.box a mypack
  6. vagrant up
  7. He probado esto en Mac OS X 10.7.5 y CENTOS 6.2 64bit

    Actualizar: El error ahora está cerrado y movido pero parece que la gente todavía tiene el problema.

Además de las respuestas existentes aquí: No se olvide de los posibles firewalls.Si ejecuta un firewall en su máquina host.El error es muy genérico, aunque el mensaje de error no parece indicar que.

Si utiliza a prueba de hielo y / o IceFloor, deshabilita el firewall o tome las excepciones adecuadas.

en Ubuntu 12 host / Ubuntu 12 invitado lo siguiente funcionó para mí con el discurso

nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", type: "nfs", nfs_udp: "true", nfs_version: "4", :nfs => nfs_setting

nota;También tuve que agregar IP host determinado por Vagrant y invitado IP determinado por las excepciones Vagrant a Firewall

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top