Zettabyte File System



Documenti analoghi
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Zettabyte File System

Capitolo Silberschatz

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

File system II. Sistemi Operativi Lez. 20

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Sistemi Operativi (modulo di Informatica II)

USE IMPROVE EVANGELIZE HOT SUMMER ZFS. Luca Morettoni

Filesystem e Dischi. Problemi e soluzioni. Federico Amedeo Izzo. federico.izzo42@gmail.com

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Sistemi Operativi. Lez. 16 File System: aspetti implementativi

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Il File System. Il file system

Indice. settembre 2008 Il File System 2

Automazione Industriale (scheduling+mms) scheduling+mms.

Progettazione di Basi di Dati

Base di dati e sistemi informativi

Coordinazione Distribuita

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

1. BASI DI DATI: GENERALITÀ

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Organizzazione degli archivi

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Progettaz. e sviluppo Data Base

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Introduzione al data base

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Altri metodi di indicizzazione

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Struttura dei dischi

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Installazione LINUX 10.0

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Corso di Amministrazione di Reti A.A. 2002/2003

Gestione della memoria centrale

Sistemi Operativi. 5 Gestione della memoria

SISTEMI OPERATIVI DISTRIBUITI

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Considerazioni sui server

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

La Gestione delle risorse Renato Agati

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Il Software. Il software del PC. Il BIOS

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

11 Realizzazione del File System Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

BASI DI DATI - : I modelli di database

Le Infrastrutture Software ed il Sistema Operativo

Struttura del Micro Filesystem (µfs)

Il Sistema Operativo: il File System

Il Sistema Operativo

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

FONDAMENTI di INFORMATICA L. Mezzalira

CVserver. CVserver. Micky Del Favero BLUG - Belluno Linux User Group Linux Day Feltre 25 ottobre Un cluster di VServer

Guida all installazione degli Hard Disk SATA ed alla configurazione del RAID

Sistemi Operativi (modulo di Informatica II)

Cosa è un foglio elettronico

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

Introduzione alla Virtualizzazione

Memorizzazione dei dati: Dischi e File

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Allocazione dinamica della memoria - riepilogo

Costruzione del layout in gino cms

Realizzazione del file system

Corso di Sistemi di Elaborazione delle informazioni

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

Lezione 1. Introduzione e Modellazione Concettuale

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

Introduzione alla teoria dei database relazionali. Come progettare un database

FoLUG Forlì Linux User Group. Partizionamento

I database relazionali (Access)

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A

Implementazione del File System

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Linguaggi di programmazione

Replicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni

MService La soluzione per ottimizzare le prestazioni dell impianto

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

SCHEDULATORI DI PROCESSO

Gestione del file system

Ottimizzazione delle interrogazioni (parte I)

Transcript:

Zettabyte File System Una breve presentazione Trentin Patrick Università di Verona 14 Gennaio 2011 Contatti: id084071@studenti.univr.it Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 1 / 35

File System (1/2) Apparentemente la scelta del file system non ha molta influenza diretta sulle nostre vite. File System software che agevole la manipolazione ed organizzazione dei dati memorizzati sul disco. Ne esistono un gran numero: Ext, Ext2, Ext3, Ext4; Fat, Fat32; FFS; HFS, HFS+; JFS; Ntfs; ReiserFS, Reiser4; UFS, UFS2; Perché ve ne sono così tanti, e perché aggiungerne un altro alla lista? Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 2 / 35

File System (2/2) Alcuni problemi dei file system tradizionali: Complessa gestione (partizioni, volumi, aggiunta e rimozione dischi); Non hanno difese contro la corruzione silente dei dati; Limiti dimensionali non ampi (numero di file/directory, dimensioni file); Riflessione: A quanti è mai capitato di perdere i propri dati, per un errata gestione od un errore nei dischi? In ambienti di produzione, queste situazioni non sono infrequenti! Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 3 / 35

File System (2/2) Alcuni problemi dei file system tradizionali: Complessa gestione (partizioni, volumi, aggiunta e rimozione dischi); Non hanno difese contro la corruzione silente dei dati; Limiti dimensionali non ampi (numero di file/directory, dimensioni file); Lo Zettabyte File System (ZFS) nasce per rispondere a mutate esigenze: Affidabilità; Sicurezza; Astrazione; Semplicità; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 3 / 35

Zettabyte File System ZFS viene sviluppato presso la Sun Microsystem a partire dal 2000. In soli 6 anni ed 80.000 righe di codice, viene rimodellato il concetto di file system, secondo le parole del capo progettuale Jeff Bonwick: Abbiamo gettato via 20 anni di tecnologie ormai superate che erano basate su assunzioni al giorno d oggi non più vere. Rilasciato in Solaris nel 2005, ha subito ulteriore sviluppo e maturazione. Ora è proprietà della Oracle Corporation, sviluppatrice di un progetto concorrente, il Butter File System. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 4 / 35

Scaletta dei contenuti 1 Semplicità di gestione Storage Pool e Volume Managing; 2 Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 3 Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; 4 Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 5 / 35

Scaletta dei contenuti Semplicità di gestione Storage Pool e Volume Managing; 1 Semplicità di gestione Storage Pool e Volume Managing; 2 Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 3 Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; 4 Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 6 / 35

Semplicità di gestione Storage Pool e Volume Managing; Volume Managing vs. Storage Pool (1/2) I file system tradizionali sono progettati per lavorare su un device singolo. Reso necessario il Logical Volume Management (LVM) software che gestisce direttamente i dischi, astraendo lo spazio di memorizzazione su cui lavora il file system. Vantaggi: Raid, mirroring e striping emulate via software; Partizioni dinamiche; Maggiore capienza; Svantaggi: Basso utilizzo parallelismo in lettura e scrittura; Limitata interoperabilità tra FS e LVM; Possibile causa di problemi di inconsistenza su disco; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 7 / 35

Semplicità di gestione Storage Pool e Volume Managing; Volume Managing vs. Storage Pool (2/2) Storage Pool (zpool) entità virtuale che raccoglie più file system logicamente indipendenti tra loro, appoggiandosi ad uno spazio di memoria comune. Vantaggi: Lettura/scrittura effettuate in parallelo; Ogni FS può espandersi dinamicamente; Supporto per boot e swapping di memoria; Possibile aggiungere e rimuovere dischi dal pool senza smontare il file system; Supporto per Raid-Z, striping e mirroring; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 8 / 35

Semplicità di gestione File System dei grandi numeri Storage Pool e Volume Managing; ZFS lavora a 128 bit, ciò garantisce una capacità di memorizzazione pressoché infinita: 2 48 file per directory; 2 64 file system per zpool; 2 64 dischi rigidi per zpool, e zpool in un sistema; 2 78 bytes dimensione massima di ogni zpool; 2 64 bytes dimensione massima di file, file system ed attributi; 2 64 18.000.000.000.000.000.000 Creando mille file al secondo, occorrerebbero 9.000 anni per saturare le capacità del sistema. Tutte l energia necessaria per bollire gli oceani non sarebbe sufficiente! Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 9 / 35

Scaletta dei contenuti Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 1 Semplicità di gestione Storage Pool e Volume Managing; 2 Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 3 Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; 4 Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 10 / 35

Astrazione della memoria Vista astratta: Dataset (1/2) Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Dataset In ZFS è un insieme di oggetti correlati tra loro, dotati di proprietà comuni ereditarie. Esistono quattro tipologie di dataset: file system: memorizza ed organizza oggetti accessibili mediante la semantica POSIX ; snapshot: istantanea in sola lettura di un particolare file system, clone o volume; clone: dataset originato da uno snapshot accessibile in scrittura, supporta le operazioni disponibili sul file system; volume: volume logico di ZFS esportato come device a blocchi (Es: usb stick). Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 11 / 35

Astrazione della memoria Vista astratta: Dataset (2/2) Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Il dataset attivo viene anche chiamato live file system. Nota: Esistono relazioni di interdipendenza molto complesse tra i dataset! Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 12 / 35

Astrazione della memoria Vista fisica (1/5): zpool Dataset, strutture dati ed organizzazione dei dispositivi di memoria; I dischi di un pool sono organizzati con una struttura ad albero: ogni foglia descrive un disco fisico preciso del pool (leaf vdev); ogni nodo interno è un entità virtuale che raccoglie più device fisici e ne astrae le proprietà (logical virtual vdev). Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 13 / 35

Astrazione della memoria Vista fisica (2/5): vdev label Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Vdev Label identifica e descrive un device fisico, e tutti gli altri device che condividono uno stesso vdev padre nell albero dei dispositivi. La vdev label (256 Kb) è replicata in 4 copie per disco, due all inizio e due in fondo al disco per garantirne sempre almeno una copia disponibile. L importanza di queste strutture dati impone che la vdev label sia aggiornata con una transazione a due stadi. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 14 / 35

Astrazione della memoria Vista fisica (3/5): uberblock Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Uberblock blocco radice dell intero albero di dati, detiene le informazioni per l accesso ai contenuti del pool. In ogni istante un solo uberblock soddisfa entrambi i requisiti: ha gruppo di transazione massimo tra quelli nell array. ha valore di checksum valido; Ad ogni completamento di una fase di scrittura, un nuovo uberblock viene inserito in round robin nell array della vdev label. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 15 / 35

Astrazione della memoria Vista fisica (4/5): dnode Dataset, strutture dati ed organizzazione dei dispositivi di memoria; dnode simile ad un inode, struttura di 512 byte che definisce ogni oggetto contenuto di uno zpool. Un dnode possiede tre puntatori a blocchi. Ne esistono di due categorie principali: blocchi dati, di dimensione 512 B e 128 kb; blocchi intermedi, contententi 1024 puntatori. Con sei livelli di intermediazione massimi, la dimensione di un file è limitata a 2 64 B. Ogni blocco è identificato da un id numerico a 64 bit con il quale si può risalire alla sua esatta posizione nell albero di blocchi. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 16 / 35

Astrazione della memoria Vista fisica (4/5): dnode Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 16 / 35

Astrazione della memoria Vista fisica (5/5): gestione spazio Dataset, strutture dati ed organizzazione dei dispositivi di memoria; Lo spazio di indirizzamento di ogni disco viene scomposto in qualche centinaio di regioni virtuali dette Metaslab. A ciascuno è associato uno Spacemap struttura dati che riassume le operazioni di allocazione e de-allocazioni effettuate nel tempo su un particolare metaslab. Vantaggi: Manipolabile in tempo costante per appending sull ultimo blocco in memoria (scalabilità); Non necessita di inizializzazione: l assenza di entry implica che tutto lo spazio è libero; Le prestazioni non degradano se il pool è quasi interamente allocato. Dallo Spacemap si deriva un albero AVL ordinato per offset, sul quale vengono simulate le operazioni memorizzate. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 17 / 35

Affidabilità di funzionamento Scaletta dei contenuti Transazione completa, allocazione e free dei blocchi; 1 Semplicità di gestione Storage Pool e Volume Managing; 2 Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 3 Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; 4 Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 18 / 35

Striping Dinamico Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; I blocchi di dimensione variabile consentono un utilizzo ottimale dello striping dinamico. striping tecnica che distribuisce unità di dati - i blocchi nel caso di ZFS - su più dischi rigidi. Vantaggi: incremento del throughput grazie al parallelismo; minor frammentazione interna grazie alla dimensione variabile dei blocchi; Lo stripe viene calcolato sulla dimensione del file rispetto al numero di dischi nello zpool sui quali viene distribuito. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 19 / 35

Allocazione Blocchi Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; Policy di allocazione blocchi: Selezione disco rigido: Alternato con politica round robin ogni 512K di dati, per un miglior uso del meglio buffering reading e I/O sequenziale. Dischi sottoutilizzati vengono favoriti. Selezione Metaslab: Preferite le regioni piú esterne del disco, per un minore seek latency. Selezione Blocco: Algoritmo first-fit fino al raggiungimento di una certa soglia di spazio libero, poi best-fit. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 20 / 35

Copy on Write (1/2) Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; Ogni scrittura è una transazione completa: principio all or nothing. Ogni transazione alloca nuovi blocchi: NON si sovrascrivono quelli vecchi. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 21 / 35

Copy on Write (2/2) Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; Una transazione contiene una lista di modifiche su più dnode del file system. Vantaggi: File system consistente anche in caso di power failure; Possibile ottimizzazione dei gruppi di operazioni su disco; Semplice implementazione degli snapshot. Svantaggi: Possibile accumulo di operazioni incompiute: necessario Intent Log Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 22 / 35

Snapshot (1/2) Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; Implementato utilizzando il copy on write e due strutture dati: ID numerico del gruppo di transazione in cui è stato creato il blocco; Dead list: puntatori a blocchi referenziati in uno snapshot precedente e non più allocati nel dataset di riferimento. Creazione Snapshot: Viene salvata la radice del dataset di riferimento, con una operazione atomica in O(1). Spazio Occupato: Inizialmente nullo; Cresce con il numero di modifiche apportate successivamente al file system. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 23 / 35

Snapshot (2/2) Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; Rimozione blocco: Data di nascita blocco > data di nascita ultimo snapshot Lo spazio liberato viene aggiunto allo spacemap del metaslab a cui appartiene il blocco. Data di nascita blocco data di nascita ultimo snapshot Il blocco viene aggiunto alla dead list del file system senza liberarne lo spazio. Rimozione snapshot: Richiede un tempo proporzionale al numero di blocchi da liberare, O( ); I blocchi nella dead list dello snapshot successivo, nati dopo quello in rimozione, vengono liberati. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 24 / 35

Scaletta dei contenuti Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; 1 Semplicità di gestione Storage Pool e Volume Managing; 2 Astrazione della memoria Dataset, strutture dati ed organizzazione dei dispositivi di memoria; 3 Affidabilità di funzionamento Transazione completa, allocazione e free dei blocchi; 4 Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 25 / 35

Integrità end-to-end Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; in ZFS il checksum dei blocchi viene memorizzato con i metadati del blocco padre; questa separazione rende l albero autovalidante; una incongruenza implica necessariamente che i dati sono danneggiati; in presenza di forme di ridondanza, è possibile recuperare e ripristinare i dati persi. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 26 / 35

Data Scrubbing Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; scrubber Software di revisione automatica ed online del file system che individua e corregge eventuali errori presenti in memoria. Alcuni blocchi dati sono accessibili da più blocchi intermedi: rischio di verificare più volte gli stessi contenuti. Implementazione: l esecuzione dell algoritmo di scrubbing è eseguita in background e in contesto sync. Priorità data ad I/O normale; i dataset vengono aggiunti ad una coda e visitati in ordine temporale di creazione; se viene incontrato un blocco con data di nascita a quella di un dataset giá visitato, non ne viene verificato l intero sottoalbero. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 27 / 35

Resilvering (1/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; resilvering processo che a partire da device integri ricostruisce e ripara i contenuti di un disco danneggiato. Requisiti: qualche forma di ridondanza dati. Approccio tradizionale: da un mirror: copia byte per byte di un disco; da un raid: xor dati stripe con informazioni di parità; copia dell intero disco indipendentemente dalla struttura del file system e dalla quantità di spazio libero; non viene verificata la consistenza dei dati copiati o ricostruiti. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 28 / 35

Resilvering (2/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Approccio ZFS: la copia dei blocchi viene eseguita discendendo l albero dati dello storage pool; maggiore precedenza ai dati più importanti; tutti i contenuti vengono verificati con il rispettivo checksum prima della copia; risparmio di tempo se il disco è relativamente vuoto rispetto alla propria capacità; possibile limitazione del resilvering ai soli dati modificati nell intervallo di tempo in cui un disco è rimasto inacessibile; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 29 / 35

Ridondanza Dati Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Un errore in un blocco può avere diversa gravità: blocco dati: lettura interrotta con un EIO; blocco intermedio: intero sotto albero di dati integri diventa inacessibile. Necessario utilizzare forme di ridondanza dati: 1 Ditto Blocks; 2 Raid-Z; 3 Mirroring; Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 30 / 35

Ditto Blocks (1/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; In ZFS ogni puntatore è una tripla di indirizzi, che puntano a blocchi dagli stessi contenuti. Ditto Block blocco del file system contenente una copia dei dati di un altro blocco. Politica Diffusiva I ditto blocks sono distribuiti quanto più possibile tra i dispositivi. Se è disponibile un solo disco, i blocchi ridondanti vengono distanziati di almeno 1/8 del disco. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 31 / 35

Ditto Blocks (2/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Politica Ridondante Blocchi più vicini alla directory di root del file system debbono avere più repliche. due repliche: dati di accesso globale dello storage pool; una replica: metadati del file system; nessuna replica: dati utente. Minimo impatto sulle prestazioni: i blocchi intermedi dotati di replica sono meno del 2% del file system. È possibile ridefinire in modo personalizzato le politiche di ridondanza per ciascun file system. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 32 / 35

Raid-Z (1/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Il Raid-Z eredita molte delle caratteristiche del Raid-5 tradizionale, in cui: i blocchi e le informazioni di parità sono distribuiti su più dischi; il sistema è in grado di resistere alla perdita di un disco; il file system è vulnerabile al write hole. write hole È un problema di corruzione silente dei dati che si verifica quando per un guasto o una perdita di corrente le informazioni di parità non vengono aggiornate. Se ciò non viene rilevato prima di un data error sullo stripe, verranno ricostruiti i dati mancanti con le informazioni inconsistenti di parità. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 33 / 35

Raid-Z (2/2) Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Il Raid-Z è immune al problema del write hole: La dimensione variabile dei blocchi garantisce che ad ogni fase di scrittura si concluda con uno stripe completo. La strategia copy on write garantisce che ogni fase di scrittura si concluda in modo consistente. Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 34 / 35

Conclusioni Sicurezza sui contenuti Integrità end-to-end, strategie di ridondanza dati; Abbiamo visto come con ZFS sia stata rivalutata l importanza di avere un file system Sicuro Affidabile esplorato alcune le soluzioni che sono state adottate Transazionalità Verifica integrità dei singoli oggetti Ridondanza Ci sono domande? Trentin Patrick (Università di Verona) Zettabyte File System 14 Gennaio 2011 35 / 35