9) Quali sono le problematiche di tolleranza ai guasti nei FSD?
Servizi stateful e stateless.
Server stateful: un server può mantenere informazioni sulla connessione ed i servizi che sta offrendo ai cliente.
il server mantiene un identificatore univoco per ogni cliente.
accesso veloce a circuito virtuale tra cliente e server e quindi migliore performance.
In caso di guasti
sul server:
le informazioni del server sono perse.
recupero dello stato con dialogo con i clienti o abort di tutte le operazioni in corso.
sul client:
il server deve liberare la memoria occupata da informazioni di un client perduto.
Server stateless: il server non memorizza alcuno stato .
il server non mantiene informazioni dei cliente .
ogni servizio è indipendente dal precedente e idempotente.
le operazioni di collegamento che devono essere svolte sono ridondanti, quindi alta ridondanza di operazioni e informazioni sulla rete.
robustezza ai guasti.
Miglioramento della disponibilità dei file
robustezza (reliability)
Un file è robusto, o in memoria stabile, se è garantita la sopravvivenza delle informazioni anche in caso di guasto dei dischi.
vengono utilizzate tecniche di mirroring, cioè replicazione su più dispositivi.
recupero (recovery di situazioni)
un file è recoverable se è possibile riportarlo, dopo un guasto, ad uno stato consistente precedente correlato ad altri file.
uso di protocolli di commit, e di checkpoint, ossia memorizzazione di stati precedenti ad istanti predefiniti.
disponibilità (availability)
un file è available se è sempre possibile l'accesso anche in caso di guasti.
vengono usati meccanismi di replica e di caching dei direttori.
si osservi che:
un file robusto può non essere disponibile per un certo tempo fino al ripristino del relativo dispositivo
un file robusto non è necessariamente recuperabile e viceversa
replicazione dei file
è un modo per migliorare la disponibilità del file.
uso di meccanismi di replicazione tra nodi piuttosto che su dispositivi di macchina (mirroring).
requisito per replicazione: più copie di uno stesso file su macchine failure-independent (cioè la disponibilità di una replica non deve influire sulle altre).
si usa un’astrazione di nome, cui si associano le repliche.
consistenza vs. disponibilità: più copie di un file implicano maggiore disponibilità ma difficile consistenza
Le operazioni su copie replicate devono essere atomiche: protocolli a two-phase commit.
Possibile gerarchia delle copie in base alla loro importanza.
read only replication: una sola copia modificata, le altre a sola lettura.
copie attive: replica del file su più macchine con propagazione di ogni cambiamento .
copia passiva o demand replication: la richiesta di accesso ad un file non locale causa la replicazione sulla macchina cliente .