GNU/Linux >> Linux Esercitazione >  >> Linux

Vagrant si blocca durante il montaggio di cartelle condivise NFS:come risolverlo?

Oggi ho creato una nuova macchina virtuale con Arch Linux vagrant box. Ho avviato la macchina virtuale Arch Linux con vagrant up comando, ma non è stato avviato. Ogni volta che provo ad avviare la VM, il vagabondo si blocca durante il montaggio di cartelle condivise NFS. Dopo aver atteso più di 5 minuti, il comando è terminato con il seguente errore:

 [...]
 ==> 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

Come puoi vedere, il vagrant up comando non riesce durante il montaggio delle cartelle condivise NFS. Il mio host KVM è l'ultima edizione di Fedora 34. Non ho mai avuto questo problema con le macchine virtuali Ubuntu. Questo errore si è verificato solo quando avvio la macchina virtuale Arch Linux. Se la tua macchina Vagrant si è bloccata durante il "Montaggio delle cartelle condivise NFS", puoi utilizzare la soluzione alternativa indicata di seguito.

Vagrant-up si blocca durante il montaggio di cartelle condivise NFS in Linux

Questo è probabilmente e più probabilmente causato dal tuo firewall. Nel mio caso, è davvero il problema del firewall. Ho dovuto consentire ai seguenti servizi tramite il firewall di risolvere il problema di montaggio delle cartelle condivise NFS in Vagrant:

  • nfs,
  • montato,
  • rpc-bind.

Inoltre, ho aperto la porta 2049 per entrambi tcp e udp .

1. Eseguire i seguenti comandi uno per uno per consentire i suddetti servizi e la porta 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. Ricarica le regole del firewall per rendere effettive le modifiche:

$ sudo firewall-cmd --reload

3. Visualizza l'elenco dei servizi consentiti utilizzando il comando:

$ firewall-cmd --list-all

Risultato di esempio:

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: 

Ciò abilita NFS tra il tuo host e le macchine virtuali Vagrant e consente il libvirt VM Vagrant ospitate per utilizzare i montaggi nfs dal sistema host.

4. Dopo aver consentito il servizio nfs e la relativa porta, ho provato ad avviare Vagrant VM. Questa volta mi sono imbattuto in un altro problema:

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

5. Per correggere questo errore, modificare /etc/nfs.conf file nel sistema host:

$ sudo vi /etc/nfs.conf

6. Decommenta le due righe seguenti:

[nfsd]
udp=y

Salva il file e chiudilo.

7. Riavvia il servizio nfs:

$ sudo systemctl restart nfs-server.service

8. Infine, riavvia il sistema host:

$ sudo reboot

Questo è tutto. Ora dovresti essere in grado di avviare la macchina Vagrant senza problemi.

Abbiamo pubblicato una guida completa sull'utilizzo di Vagrant. Controlla il seguente link per sapere come usare Vagrant.

  • Tutorial di Vagrant – Introduzione a Vagrant in Linux

Linux
  1. Come installare Vagrant su Linux

  2. Come correggere l'errore di installazione di Python durante il caricamento delle librerie condivise:libssl.so.1.0.0? [Risolto]

  3. Come installare Vagrant su Ubuntu 20.04

  4. Come inizializzare una libreria condivisa su Linux

  5. Cartelle sincronizzate perse durante il riavvio di una macchina Vagrant utilizzando il provisioner Ansible

Come montare una condivisione NFS in Linux

Come configurare la rete in Vagrant

Come risolvere gli aggiornamenti di Windows bloccati allo 0%

Come comprimere la cartella su Linux

Come utilizzo NFS per la condivisione di cartelle tra diversi sistemi nella configurazione di Homelab

Come montare NFS su Debian 11