GNU/Linux >> Tutoriales Linux >  >> Linux

Vagrant Up se cuelga al montar carpetas compartidas NFS:¿cómo solucionarlo?

Hoy creé una nueva máquina virtual con Arch Linux vagrant box. Inicié la máquina virtual Arch Linux con vagrant up comando, pero no se inició. Cada vez que intento iniciar la VM, el vagabundo se cuelga al montar carpetas compartidas NFS. Después de esperar más de 5 minutos, el comando terminó con el siguiente error:

 [...]
 ==> default: Mounting NFS shared folders…
 ==> default: Pruning invalid NFS exports. Administrator privileges will be required…
 [sudo] password for sk: 
 ==> default: Removing domain…
 The following SSH command responded with a non-zero exit status.
 Vagrant assumes that this means the command failed!
 mount -o vers=3,udp 192.168.122.1:/home/sk/vagrant/archlinux /vagrant
 Stdout from the command:
 Stderr from the command:
 mount.nfs: Connection refused

Como puede ver, el vagrant up El comando falla al montar las carpetas compartidas de NFS. Mi host KVM es la última edición de Fedora 34. Nunca tuve este problema con las máquinas virtuales de Ubuntu. Este error ocurrió solo cuando inicio la máquina virtual Arch Linux. Si su máquina Vagrant se atascó mientras "Montaba las carpetas compartidas de NFS", puede usar la solución alternativa que se indica a continuación.

Vagrant se bloquea al montar carpetas compartidas NFS en Linux

Esto es probablemente y más probablemente causado por su firewall. En mi caso, de hecho, es el problema del firewall. Tuve que permitir los siguientes servicios a través del firewall para solucionar el problema de montaje de carpetas compartidas NFS en Vagrant:

  • nfs,
  • montado,
  • rpc-bind.

Además, abrí el puerto 2049 para ambos tcp y udp .

1. Ejecute los siguientes comandos uno por uno para permitir los servicios antes mencionados y el puerto 2049.

$ sudo firewall-cmd --permanent --zone=libvirt --add-service=nfs3
$ sudo firewall-cmd --permanent --zone=libvirt --add-service=nfs
$ sudo firewall-cmd --permanent --zone=libvirt --add-service=mountd
$ sudo firewall-cmd --permanent --zone=libvirt --add-service=rpc-bind
$ sudo firewall-cmd --permanent --zone=libvirt --add-port=2049/tcp
$ sudo firewall-cmd --permanent --zone=libvirt --add-port=2049/udp

2. Vuelva a cargar las reglas del cortafuegos para aplicar los cambios:

$ sudo firewall-cmd --reload

3. Vea la lista de servicios permitidos usando el comando:

$ firewall-cmd --list-all

Salida de muestra:

FedoraWorkstation (active)
  target: default
  icmp-block-inversion: no
  interfaces: wlp9s0
  sources: 
  services: dhcpv6-client mdns mountd nfs rpc-bind samba-client ssh
  ports: 1025-65535/udp 1025-65535/tcp
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Esto habilita NFS entre su host y las máquinas virtuales de Vagrant y permite que libvirt máquinas virtuales Vagrant alojadas para usar montajes nfs desde el sistema host.

4. Después de permitir el servicio nfs y el puerto correspondiente, intenté iniciar la máquina virtual Vagrant. Esta vez me encontré con otro problema:

[...]
mount.nfs: requested NFS version or transport protocol is not supported

5. Para corregir este error, edite /etc/nfs.conf archivo en el sistema anfitrión:

$ sudo vi /etc/nfs.conf

6. Quite el comentario de las siguientes dos líneas:

[nfsd]
udp=y

Guarde el archivo y ciérrelo.

7. Reinicie el servicio nfs:

$ sudo systemctl restart nfs-server.service

8. Finalmente, reinicie el sistema host:

$ sudo reboot

Eso es todo. Ahora debería poder iniciar la máquina Vagrant sin ningún problema.

Hemos publicado una guía completa sobre el uso de Vagrant. Consulte el siguiente enlace para aprender a usar Vagrant.

  • Tutorial de Vagrant:Introducción a Vagrant en Linux

Linux
  1. ¿Cómo corregir el error de instalación de Python al cargar bibliotecas compartidas:libssl.so.1.0.0? [Resuelto]

  2. ¿Carpetas compartidas de montaje automático con Virtualbox?

  3. Cómo arreglar AWStats cuando no genera estadísticas

  4. Cómo instalar Vagrant en Ubuntu 20.04

  5. Cómo reparar el error de conexión rechazada de wget cuando estoy detrás de un proxy

Cómo montar un recurso compartido NFS en Linux

Cómo configurar redes en Vagrant

Cómo arreglar las actualizaciones de Windows atascadas en 0%

Cómo comprimir una carpeta en Linux

Cómo uso NFS para compartir carpetas entre diferentes sistemas en la configuración de Homelab

Cómo montar NFS en Debian 11