sviluppo-web-qa.it

È possibile avere la cartella home ospitata con NFS?

Sto progettando di distribuire alcuni computer kiosk e vorrei lasciarli con un piccolo pendrive come disco di avvio, mantenendo il resto su un server di facile backup, ala LTSP .

In questo momento sto riflettendo su due opzioni. Un NFSed/home /, o una copia locale di ~/copiato all'accesso, sincronizzato al logout.

Le mie paure sono che lavorare con i file potrebbe diventare troppo lento, o la mia rete potrebbe diventare intasata .

30
voyager

Uso NFS per le mie home directory nel nostro ambiente di produzione. Ci sono un paio di trucchi.

  1. Non montare NFS su /home - in questo modo puoi avere un utente locale che ti consenta nel caso in cui il server NFS non funzioni. Montiamo su /mnt/nfs/home

  2. Usa supporti morbidi e un timeout molto breve: questo impedirà ai processi di bloccarsi per sempre.

  3. Utilizzare automounter . Ciò consentirà di ridurre l'utilizzo delle risorse e significa anche che non è necessario preoccuparsi di riavviare i servizi quando il server NFS si presenta se si interrompe per qualche motivo.

    auto.master:
      +auto.master
      /mnt/nfs /etc/auto.home --timeout=300
    
    auto.home
       home -rw,soft,timeo=5,intr      home.bzzprod.lan:/home
    
  4. Utilizzare un unico sistema di accesso in modo da non incorrere in problemi relativi alle autorizzazioni. Ho un server OpenLDAP.

30
Aaron Brown

Fai attenzione ai supporti morbidi! Il montaggio graduale di un filesystem NFS significa IO fallirà dopo un timeout. Assicurati che sia quello che vuoi nelle home directory degli utenti! Suppongo che non lo sia. Usare un hard mount su le home directory in combinazione con l'opzione intr sono molto più sicure qui.

Hard non scadrà: IO verranno ritentate indefinitamente. L'opzione intr consente di interrompere il processo di montaggio. Pertanto, se si monta l'esportazione e si verifica un errore, l'hard-mount si bloccherà La tua sessione L'opzione intr consentirà di interrompere il mount, quindi la combinazione è abbastanza sicura e ti assicura di non perdere facilmente i dati di un utente.

Ad ogni modo, autofs rende tutto ancora più semplice.

7
wzzrd

HowtoForge ha pubblicato un articolo intitolato Creazione di un server di archiviazione autonomo simile a NFS con GlusterFS su Debian Lenny , potresti voler dare un'occhiata.

Ecco una breve descrizione del perché è una buona alternativa "fattibile" a NFS, dalla pagina del progetto GlusterFS :

GlusterFS si auto-guarisce al volo. Non c'è fsck. Il back-end di archiviazione è accessibile direttamente come file e cartelle normali (stile NFS). Con la replica abilitata, GlusterFS può sopportare guasti hardware.

Ulteriori informazioni sono disponibili nella documentazione del progetto.

Inoltre, un'altra cosa bella dell'uso di GlusterFS è se hai bisogno di più spazio sul tuo SAN aggiungi solo un altro mattone di memoria (nodo del server) e sei in grado di ridimensionare/espandere la memoria in parallelo quando ci è necessario.

7
faultyserver

Alcuni consigli generali che verranno applicati indipendentemente dal file system di rete adottato: molti programmi memorizzano nella cache i dati nella home directory dell'utente, che di solito fa più male che bene quando si accede alla home directory su una rete.

In questi giorni, puoi dire a molti programmi di memorizzare le loro cache altrove (ad esempio, su un disco locale) impostando XDG_CACHE_HOME variabile di ambiente in uno script di accesso. Molti programmi (ad esempio Firefox) richiedono comunque la configurazione manuale, quindi probabilmente dovrai fare un lavoro extra per identificarli e configurarli in modo uniforme per tutti i tuoi utenti.

4
Sam Morris

L'unica cosa da notare è che quando il server NFS è fuori uso - i tuoi mount si bloccheranno - fare un soft mount non si bloccherà quindi il "freeze" stesso può essere evitato, tuttavia ciò non risolverà il problema delle home directory come senza home directory, l'utente viene comunque fregato.

Anche quando il server NFS viene ripristinato, a meno che tu non faccia qualcosa al riguardo, il problema di blocco rimarrà - dovrai interrompere il processo sulla macchina di montaggio e rimontarlo. La ragione di ciò è che quando il server NFS torna indietro, ha assegnato un diverso fsid - in modo da poter almeno risolvere questo problema codificando i fsids sul server NFS, per esempio...

#. Home Directories
/usr/users \
  192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
  192.168.80.0/22(rw,sync,no_root_squash,fsid=1)

#. Scratch Space
/var/ftp/scratch \
  192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
  192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
  172.28.24.151(rw,async,root_squash,fsid=3)

La pagina man exports(5) indica ...

fsid=num
          This option forces the filesystem identification portion of the file handle
          and  file attributes used on the wire to be num instead of a number derived
          from the major and minor number of the block device on which the filesystem
          is  mounted.   Any 32 bit number can be used, but it must be unique amongst
          all the exported filesystems.

          This can be useful for NFS failover, to ensure that  both  servers  of  the
          failover  pair use the same NFS file handles for the shared filesystem thus
          avoiding stale file handles after failover.

... Mentre ciò indica che fintanto che i numeri maggiori/minori non cambiano (cosa che di solito non cambia, tranne quando si esportano volumi SAN/multipath, dove possono cambiare), ho scoperto che noi ho rimosso completamente il problema - ovvero, se il server NFS ritorna - la connessione è stata ripristinata rapidamente - ancora non so davvero perché questo abbia fatto la differenza per dispositivi come /dev/sdaX per esempio.

Ora dovrei sottolineare che il mio argomento è in gran parte aneddotico - in realtà non ha senso il motivo per cui ha risolto il problema, ma "sembra" averlo risolto - in qualche modo - probabilmente ci sono altre variabili in gioco qui che ho non ancora scoperto. =)

4
Xerxes

In molti posti in cui ho lavorato usano le home directory montate su NFS. Di solito non c'è un'enorme differenza nelle prestazioni (e gli utenti dei chioschi sono probabilmente un po 'meno esigenti rispetto agli sviluppatori che sanno come ottenere il loro ragazzo IT locale). Un problema che ho visto è quello che succede quando accedo a un desktop Gnome e il server NFS scompare per qualsiasi motivo. Le cose diventano davvero insensibili.

3
kbyrd

Su base pratica, NFS funziona bene per la home directory se esiste una rete commutata a 100 mbit o superiore. Per più di 10-20 chioschi, il server dovrebbe avere connettività gigabit. Non vincerai concorsi sulle prestazioni, ma cose come Firefox e Open Office funzioneranno bene.

Copiare nella home directory sarà un grosso problema in termini di ritardi all'accesso (su una rete da 100 Mb max 12 MB/s. Una home directory da 100 MB è vicina a 10 secondi.) Rsync ti bloccherà sincronizzando la cache del browser web ... 10 minuti e 500 file feriti.

Uso una casa NFSed e funziona benissimo. ma devi assicurarti che la rete sia abbastanza veloce e che non sarà mai inattiva.

2
cd1

Dai un'occhiata a cachefilesd . Non l'ho usato da solo, ma sembra promettente.

Il daemon cachefilesd gestisce i file di cache e la directory utilizzati dai file system di rete come AFS e NFS per eseguire la memorizzazione nella cache persistente sul disco locale.

Inoltre, non dimenticare di mettere a punto i parametri rsize e wsize e, se possibile, utilizzare i frame Jumbo.

1