GNU/Linux >> Znalost Linux >  >> Linux

Vagrant se zasekává při připojování sdílených složek NFS – jak opravit?

Dnes jsem vytvořil nový virtuální stroj s krabicí Arch Linux vagrant. Virtuální stroj Arch Linux jsem spustil pomocí vagrant up příkaz, ale nespustil se. Pokaždé, když se pokusím spustit VM, tulák se zasekne při připojování sdílených složek NFS. Po čekání déle než 5 minut skončil příkaz s následující chybou:

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

Jak můžete vidět, vagrant up příkaz selže při připojování sdílených složek NFS. Můj hostitel KVM je nejnovější vydání Fedory 34. Nikdy jsem neměl tento problém s virtuálními stroji Ubuntu. K této chybě došlo pouze při spuštění virtuálního počítače Arch Linux. Pokud se váš počítač Vagrant zasekl při „Připojování sdílených složek NFS“, můžete použít řešení uvedené níže.

Vagrant se zasekne při připojování sdílených složek NFS v Linuxu

To je pravděpodobně a pravděpodobněji způsobeno vaším firewallem. V mém případě je to opravdu problém firewallu. Musel jsem povolit následující služby přes bránu firewall, abych vyřešil problém s připojením sdílených složek NFS ve Vagrant:

  • nfs,
  • připojeno,
  • rpc-bind.

Také jsem otevřel port 2049 pro oba tcp a udp .

1. Spusťte následující příkazy jeden po druhém, abyste povolili výše uvedené služby a port 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. Znovu načtěte pravidla brány firewall, aby se změny projevily:

$ sudo firewall-cmd --reload

3. Zobrazte seznam povolených služeb pomocí příkazu:

$ firewall-cmd --list-all

Ukázkový výstup:

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: 

To umožňuje NFS mezi vaším hostitelem a virtuálními stroji Vagrant a umožňuje libvirt hostované virtuální počítače Vagrant k použití připojení nfs z hostitelského systému.

4. Po povolení služby nfs a příslušného portu jsem zkusil spustit Vagrant VM. Tentokrát jsem narazil na další problém:

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

5. Chcete-li tuto chybu opravit, upravte /etc/nfs.conf soubor v hostitelském systému:

$ sudo vi /etc/nfs.conf

6. Odkomentujte následující dva řádky:

[nfsd]
udp=y

Uložte soubor a zavřete jej.

7. Restartujte službu nfs:

$ sudo systemctl restart nfs-server.service

8. Nakonec restartujte hostitelský systém:

$ sudo reboot

A je to. Nyní byste měli být schopni spustit stroj Vagrant bez jakýchkoli problémů.

Zveřejnili jsme kompletního průvodce o použití Vagrant. Podívejte se na následující odkaz, kde se dozvíte, jak Vagrant používat.

  • Výukový program Vagrant – Začínáme s Vagrant v Linuxu

Linux
  1. Jak nainstalovat Vagrant v Linuxu

  2. Automatická montáž sdílených složek pomocí Virtualboxu?

  3. Jak inicializovat sdílenou knihovnu v Linuxu

  1. Synchronizované složky ztraceny při restartování počítače Vagrant pomocí zřizovatele Ansible

  2. Jak opravit „příkaz nenalezen“, když se objeví při spuštění terminálu na ubuntu

  3. Co je smyčkové zařízení při montáži?

  1. Jak nainstalovat Vagrant na Linux

  2. Jak opravit chybu instalace Pythonu při načítání sdílených knihoven:libssl.so.1.0.0? [vyřešeno]

  3. Jak opravit AWStats, když negeneruje statistiky