0 votes

Empêcher le verrouillage du système de fichiers lorsque le partage NFS de la VM est supprimé par l'automate.

Je développe beaucoup d'applications web, et j'exécute une VM Fedora sur mon Mac pour simuler l'environnement du serveur. Pendant ce temps, j'exécute l'IDE sur le Mac, et il faut un système de fichiers local pour effectuer des modifications. Hm.

J'ai résolu ce problème en exportant mes répertoires de code dans Fedora via NFS et en utilisant automount du côté Mac pour monter automatiquement les partages selon les besoins :

\# fedora:/etc/exports
/var/vhosts/ 192.168.182.1(rw,insecure,all\_squash,anonuid=1000,anongid=1000)

# mac:/etc/auto\_master
...
/vhosts auto\_vhosts

# mac:/etc/auto\_vhosts
\* fedora:/var/vhosts/&

J'aime cette configuration car elle fonctionne tout simplement et ne nécessite aucune maintenance... tant que ma VM fonctionne.

En revanche, si je suspends ou arrête ma VM, tout s'emballe. Toute opération liée au système de fichiers prend une éternité (même les actions apparemment sans rapport avec le système, comme le lancement d'iTunes ou l'arrêt du système), et la console se remplit de nombreux messages de KernelEventAgent indiquant que le montage ne répond pas.

Le problème persiste jusqu'à ce que je restaure l'état de ma VM.

Une façon de contourner ce problème est de laisser ma VM toujours en marche, mais cela consomme une tonne de RAM, et je préférerais pouvoir suspendre ma VM pour, par exemple, des jeux ou d'autres applications gourmandes en ressources que je pourrais vouloir exécuter.

Existe-t-il un moyen de conserver ma configuration automount existante, tout en ayant la possibilité de suspendre ma VM et de faire en sorte que mon Mac cesse de bloquer les opérations du système de fichiers en attendant que la connexion NFS soit terminée ?

0 votes

1voto

J'ai découvert que umount -L'élimination du partage résoudra également le problème chaque fois que je suspends ma VM.

Ce n'est pas une solution parfaite, car elle doit être effectuée manuellement, mais elle fonctionne.

Par exemple :

  1. sudo umount /vhosts
  2. (suspendre la VM)
  3. sudo automount -vc

Je n'ai pas testé si l'étape 3 est nécessaire, mais je me suis dit que ça ne pouvait pas faire de mal.

0voto

Tim B Points 1522

Vous devez ajouter "intr" à vos options de montage. Consultez la page de manuel mount_nfs pour plus de détails :

man mount_nfs
...
intr    Make the mount interruptible, which implies that file system calls that 
        are delayed due to an unresponsive server will fail with EINTR when a
        termination signal is posted for the process.

0 votes

Ajout de la intr n'a pas semblé aider, mais j'ai regardé d'autres options, et l'ajout du drapeau bg Le drapeau a accéléré un peu les choses. Si seulement il y avait un moyen de définir le délai maximal de connexion, je serais prêt... mais je n'ai pas vu d'option pour cela.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X