Archiviazione di file a tolleranza d'errore

Per Marvin Theimer, tutto è iniziato con un terremoto. Theimer ricorda che le conseguenze del massiccio terremoto di Loma Prieta nella Silicon Valley del 1989 sono state un po' surreali. Salii in macchina e avevo la radio accesa…silenzio! Le stazioni radio entro un raggio di 20 miglia erano fuori uso.





E così erano quasi tutti i computer.

Quell'esperienza sconvolgente ha portato Theimer, allora ricercatore di sistemi operativi presso lo Xerox Palo Alto Research Center, a pensare a come rendere i sistemi di archiviazione dei file dei computer radicalmente più tolleranti ai guasti. Il suo lavoro ha contribuito a portare a Farsite, una tecnologia di archiviazione a prova di errore creata da Microsoft.

Backup per il futuro



Le aziende in genere eseguono il backup dei propri dati critici, ma le persone in genere no. E una catastrofe come un terremoto potrebbe spazzare via tutti i file del tuo computer e mesi o addirittura anni di lavoro. Anche se hai eseguito il backup dei tuoi dati, è inaccessibile finché non li carichi su un sistema sostitutivo. E nel peggiore dei casi, mantieni i tuoi backup proprio accanto al tuo computer e anche loro vengono persi.

Allora come risolvete il problema? Archiviando i tuoi dati non solo sul tuo PC e sul tuo amichevole server locale, ma su molti PC in rete, dice Theimer. In questo modo, anche se 99 macchine su 100 vengono distrutte o rese inutilizzabili, c'è ancora un PC che ha tutti i tuoi file archiviati in modo sicuro e facilmente recuperabile.

Inoltre, il tuo sistema di archiviazione di file distribuito non dovrebbe fare affidamento su un server centrale, nemmeno per individuare le copie dei file. Pensiamo di poter progettare questi sistemi in modo che tu non debba avere quei server di back-end, afferma Theimer.



Realizzarlo in Microsoft

Lavorando come ricercatore senior presso Microsoft Research a Redmond, WA, Theimer ha collaborato alla fine degli anni '90 con il ricercatore di software di sistema Bill Bolosky. Con Bolosky come leader del team, un gruppo di una mezza dozzina di ricercatori ha definito quattro requisiti chiave per il sistema, soprannominato Farsite:

  • Fornire un servizio file altamente disponibile e affidabile durante l'esecuzione su normali computer desktop
  • Garantire che i dati degli utenti siano protetti da altri, inclusi gli utenti dei computer che li archiviano
  • Essere in grado di autoconfigurarsi e sintonizzarsi automaticamente e in modo adattivo in modo che sia in grado di rispondere ai singoli guasti del sistema e ai cambiamenti nei modelli di utilizzo
  • Lavora senza un server centrale o un amministratore centrale

Ampi spazi aperti



I ricercatori hanno analizzato i dischi rigidi personali degli utenti all'interno di Microsoft e hanno scoperto che la maggior parte non era neanche lontanamente piena. In effetti, sono più della metà vuoti e diventano sempre più grandi, dice Bolosky. Esaminandolo tre volte in due anni, hanno scoperto che la percentuale di dischi degli utenti che rimangono inutilizzati aumenta, in particolare con l'aumentare delle dimensioni dei nuovi dischi rigidi.

Inoltre, Bolosky prevede che i produttori di unità potrebbero produrre dischi rigidi di mezza altezza delle dimensioni di un terabyte che verrebbero venduti a meno di 500 dollari entro il 2003.

Allora perché non approfittare di tutto quello spazio sprecato? Questo è esattamente ciò che fa il prototipo Farsite.



Per garantire che i file di ciascun utente siano disponibili solo per coloro che dovrebbero vederli, Farsite incorpora la crittografia dei file. In questo modo, anche se i file sono archiviati nel sistema di un utente malintenzionato, saranno comunque al sicuro. Utilizziamo cifrari abbastanza potenti - RSA con chiavi di grande lunghezza - e vengono firmati quando sono crittografati, afferma Bolosky.

Inoltre, se un utente malintenzionato vuole rovinare il lavoro eliminando i file dell'altro utente, tutto ciò che viene distrutto sono le copie di quei file archiviati su una macchina. Le copie su altre macchine rimangono al sicuro.

Meglio dei server

Poiché Farsite archivia copie dei file di un utente su più macchine, ciò lo rende anche più tollerante agli errori di rete rispetto a un sistema server centralizzato. Se si verifica un errore di rete che blocca l'accesso a una macchina in cui sono archiviati i file dell'utente, è probabile che un'altra macchina con gli stessi file rimanga accessibile. I file rimangono accessibili anche se alcuni utenti spengono le loro macchine di notte.

Un altro vantaggio dell'archiviazione dei file in più posizioni è che può aiutare a evitare i colli di bottiglia di accesso intrinseci quando molti utenti tentano di accedere ai propri file su un singolo server contemporaneamente.

La meta-directory Farsite (che memorizza tutte le posizioni dei file) funziona in modo simile ma non ha bisogno di essere replicata su altrettante macchine per fornire affidabilità e tolleranza agli errori.

Quando una nuova macchina si unisce al gruppo, i suoi file vengono replicati automaticamente sui dischi di altri PC. Farsite è abbastanza intelligente da evitare di copiare file duplicati sullo stesso disco e riequilibrare continuamente i carichi del disco in modo che l'unità disco di nessun utente si riempia improvvisamente.

Farsite promuove anche la semplicità d'uso. Farsite appare semplicemente come un'altra unità disco, come F:, con tutta la complessità nascosta all'utente.

Costruito su scala

Non aspettarti di vedere Farsite in Windows XP o nei suoi sistemi successivi in ​​qualunque momento presto. La versione attuale è stata testata solo con una dozzina di macchine, con un test più ampio su 150-200 PC previsto per il prossimo futuro.

I ricercatori affermano, tuttavia, che potrebbe supportare fino a 100.000 macchine. Col tempo, Farsite sarà il file system più grande del mondo, scalabile su server e tollerante ai guasti, prevede Bolosky. [In definitiva,] vogliamo utilizzare centinaia di milioni di macchine.

nascondere