Impedire il blocco del filesystem quando viene eseguita la condivisione automatica di NFS dalla VM scompare

0

Realizzo molte applicazioni Web e eseguo una VM Fedora sul mio Mac per simulare l'ambiente del server. Nel frattempo, eseguo l'IDE sul lato Mac e richiede un file system locale per apportare modifiche. Hm.

Ho risolto questo problema esportando le mie directory di codice in Fedora tramite NFS e utilizzando automount sul lato Mac per montare automaticamente le condivisioni in base alle esigenze:

# 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/&

Adoro questa configurazione perché funziona e non richiede manutenzione ... fino a quando la mia VM è in esecuzione.

Se sospendo o spengo la mia VM, tuttavia, tutto impazzisce. Qualsiasi operazione relativa al filesystem impiega per sempre (anche azioni apparentemente non correlate come l'avvio di iTunes o lo spegnimento del mio sistema), e la Console si riempie di un sacco di messaggi da KernelEventAgent sul supporto che non risponde.

Il problema persiste finché non ripristino lo stato della mia macchina virtuale.

Un modo per ovviare a questo problema è lasciare sempre la mia VM in esecuzione, ma questo risucchia una tonnellata di RAM, e preferirei essere in grado di sospendere la mia VM per esempio, giochi o altre app ad alta intensità di risorse che Potrei voler correre.

C'è un modo per mantenere la mia configurazione automount esistente, ma ho ancora la flessibilità di sospendere la mia VM e il mio Mac smettere di bloccare le operazioni del filesystem in attesa che la connessione NFS scada?

    
posta 30.04.2013 - 17:30
fonte

2 risposte

1

Ho riscontrato che umount -ing della condivisione risolve anche il problema ogni volta che sospendo la mia VM.

Non è una soluzione perfetta, poiché deve essere eseguita manualmente, ma funziona.

per esempio:.

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

Non ho provato se il passaggio 3 è necessario, ma immagino che non possa ferire.

    
risposta data 28.12.2013 - 19:38
fonte
0

Devi aggiungere "intr" alle opzioni di mount. Vedi la pagina man mount_nfs per i dettagli:

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.
    
risposta data 30.04.2013 - 19:11
fonte

Leggi altre domande sui tag