Quali sono i vantaggi / gli svantaggi dei supporti rigidi rispetto ai supporti morbidi in UNIX?


23

Questa domanda può variare tra le distro ma, in generale, quali sono i vantaggi / gli svantaggi dell'utilizzo di un supporto rigido o morbido nel mondo UNIX?

Ci sono alcune situazioni in cui si è più vantaggiosi o gli usi sono abbastanza universali?

Risposte:


21

Un hard mount viene generalmente utilizzato per risorse di blocco come un disco locale o SAN. Un soft mount viene solitamente utilizzato per protocolli di file di rete come NFS o CIFS.

Il vantaggio di un soft mount è che se il server NFS non è disponibile, il kernel eseguirà il timeout dell'operazione di I / O dopo un periodo di tempo preconfigurato. Lo svantaggio è che se il driver NFS memorizza nella cache i dati e il soft mount scade, l'applicazione potrebbe non sapere quali scritture sui volumi NFS sono effettivamente impegnate su disco.


8

hard mount e "intr" (interrompibile) è un buon compromesso (per i kernel prima della 2.6.25, vedi commento di Ryan Horrisberger). L'applicazione non si lascia ingannare dalle scritture riuscite, ma puoi ucciderle se qualcosa ostruisce i tubi.


8
l'opzione intr è deprecata e ignorata nelle versioni recenti su linux da: linux.die.net/man/5/nfs : l'opzione di montaggio intr / nointr è deprecata dopo il kernel 2.6.25. Solo SIGKILL può interrompere un'operazione NFS in sospeso su questi kernel e, se specificata, questa opzione di montaggio viene ignorata per garantire la retrocompatibilità con i kernel più vecchi.
Ryan Horrisberger,

5

Un hard mount che utilizza un qualche tipo di file system di rete (nfs o fuse) può (a volte) bloccarsi per sempre mentre tenta di ristabilire una connessione interrotta. Ciò significa che ogni processo che tenta di accedere a quel mount passa in modalità di sospensione del disco (D) fino a quando il dispositivo non è nuovamente disponibile o al riavvio del sistema.

La sospensione del disco non può essere interrotta o interrotta. È come lo zombi dei processi di zombi.

In breve, non usare mai hard mount per i file system di rete. Volete che il file system fallisca (immediatamente, ai processi usando syscalls) se l'I / O non è possibile. Altrimenti, la memoria che rivendicano potrebbe anche essere trapelata se il FS fallisce.


Concordo con la tua raccomandazione generale sui supporti rigidi. Tuttavia, alcune persone che distribuiscono VMWare su NFS consigliano di utilizzare hard mount. Non ho familiarità al 100% del perché lo facciano, ma è qualcosa da considerare e ricercare attentamente prima di implementarlo.
duffbeer703,

Dato che i montaggi duri si bloccano per sempre e nei vecchi tempi le macchine a volte si bloccavano al riavvio a causa di un innesto NFS rigido, non è possibile perdere i dati sui montaggi duri? Immagina che il tuo file server NFS non funzioni, ora i tuoi client non sono in grado di raggiungerlo, sono totalmente confusi, li riavvii ... le loro potenziali scritture sono sparite. Nei giorni precedenti l'esistenza dei supporti software, i supporti rigidi causavano problemi al riavvio dei computer. Se avessi avviato un file server prima di un client, il client si bloccherebbe. Dovremmo doverli spegnere e riaccendere, a volte. Le persone fanno errori. È ancora un problema oggi?
Mike S,

@MikeS Esistono molte configurazioni simili che funzionano felicemente. Non sai mai cosa ti imbatterai in laboratori o fabbriche in cui macchine vecchie di decenni controllano ancora felicemente le apparecchiature. Non è un grosso problema per le persone che lavorano su cose moderne. Ma sì, i montaggi duri possono costare dati (ma anche i montaggi morbidi possono!), Ma qualsiasi file system di rete che non utilizza l'I / O con memorizzazione nella cache con batteria ha lo stesso potenziale per quel problema. I supporti rigidi lo rendono semplicemente orribile quando si tratta di automatizzare il rilevamento e il recupero.
Tim Post

2

soft è usato solo da persone che non comprendono il principio di nfs. soft / hard dipende dall'uso del filesystem. per applicazioni mission-critical utilizzare sempre supporti difficili per prevenire la corruzione dei file (questo è il motivo per cui è predefinito per la maggior parte dei sistemi). per ro filesystem è sicuro usare soft e quindi preferito. a proposito nfsv4 non supporta più soft ....


nfsv4 non supporta più soft? Secondo la pagina man, "Opzioni supportate da tutte le versioni Queste opzioni sono valide per l'uso con qualsiasi versione NFS. Soft / hard Determina il comportamento di recupero del client NFS dopo il timeout di una richiesta NFS. Se nessuna delle opzioni è specificata (o se la viene specificata l'opzione hard), le richieste NFS vengono ritentate indefinitamente. Se viene specificata l'opzione soft, il client NFS non riesce a inviare una richiesta NFS dopo l'invio delle ritrasmissioni, facendo sì che il client NFS restituisca un errore all'applicazione chiamante. " Vedi linux.die.net/man/5/nfs
Mike S

Penso che ti stia contraddendo ... "soft è usato solo da persone che non capiscono ..." e "per ro filesystem è sicuro usare soft ..." Vedi anche il post di @Tim Post, sopra .
Mike S,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.