Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Modulo 3 Gestione dischi e periferiche
Tipi di file System Raid Tipologie di Backup Ridondanza Burstnet Informatica
2
Tipi di File System Definizione di file system. File.
Permessi sui file. Differenza tra disco, partizione e file system. Creazione di un file system. Glossario: partizioni, volumi, superblocco, i-node, blocco dati, metadati, attributi e journaling. Qual è il migliore File System? Cosa c'entrano le reti? Burstnet Informatica La differenza tra un disco o una partizione ed il filesystem che esso contiene è molto importante. Alcuni programmi (compreso, abbastanza ragionevolmente, quelli che creano i filesystem) operano direttamente sui settori del disco o della partizione; se c'è un filesystem esistente, questo verrà distrutto o seriamente danneggiato. La maggior parte dei programmi operano su un filesystem e quindi non funzioneranno su una partizione che non ne contiene uno (o che ne contiene uno del tipo sbagliato). Prima che si possa usare un disco o una partizione come filesystem, questo deve essere inizializzato e bisogna scriverci le strutture di dati per l'archiviazione: questo processo si chiama creazione di un filesystem.
3
Tipi di file system Lo scopo principale di un computer è quello di creare, manipolare, memorizzare e comunicare dati. Un file system (FS) fornisce un meccanismo per supportare la fase di memorizzazione. Un FS comprende i metodi e le strutture di dati usate da un sistema operativo per tenere traccia dei file su un supporto di memorizzazione permanente, come un disco. Burstnet Informatica Un file system è, informalmente, un meccanismo con il quale i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un disco rigido o un CD-ROM. Più formalmente, un file system è l'insieme dei tipi di dati astratti necessari per la memorizzazione, l'organizzazione gerarchica, la manipolazione, la navigazione, l'accesso e la lettura dei dati. Di fatto, alcuni file system (comeNFS) non interagiscono direttamente con i dispositivi di archiviazione.
4
File Un file è un meccanismo di astrazione grazie al quale è possibile scrivere informazioni su un supporto di memorizzazione per poterle leggere e/o modificare in momenti successivi. L'astrazione mediante file, da inoltre la possibilità all'utilizzatore di ignorare i dettagli e le modalità con cui le informazioni sono effettivamente scritte sul disco ed il funzionamento di quest'ultimo. Burstnet Informatica
5
File E' importante allora fornire il quadro delle caratteristiche e delle operazioni tipicamente associate ai file. Daremo un veloce sguardo ai seguenti punti: Nomi di file. Struttura dei file. Tipi di file. Operazioni effettuabili sui file. Burstnet Informatica
6
File Mediante il nome è possibile identificare un file e compiere su di esso tutte le operazioni possibili Alcuni File system sono case sensitive Altri file system impongono un limite sulla lunghezza dei nomi Prime versione del file system FAT in dos Burstnet Informatica In quasi tutti i sistemi operativi i nomi di file legali sono stringhe di caratteri. Tuttavia in dipendenza del sistema operativo vi possono essere limiti sulla lunghezza della stringa e sul formato. Un famigerato esempio è il S.O. MS-DOS che obbliga i nomi dei file a rientrare nello schema detto 8.3 in cui il nome è una stringa di 8 caratteri al massimo seguita da un'altra stringa di massimo 3 caratteri che ne esplicita il tipo.
7
File Struttura di un file Burstnet Informatica
8
File Un file ha una struttura interna che può essere più o meno complessa. In a) il file è visto come una sequenza di bytes(non strutturato) In b) invece il file è organizzato in una sequenza di record di dimensioni fisse. In c) il file è rappresentato con un albero di records non omogenei. Burstnet Informatica
9
File I file possono essere di svariati tipi in dipendenza dei dati che contengono. Il tipo di file determina la struttura interna del file. Solitamente l'estensione del file è un modo per evidenziare di che tipo è un certo file. Una distinzione fondamentale è sicuramente tra : file di testo (ASCII) : file composto da una sequenza di caratteri ASCII file binari: file composto da sequenza di byte codificato in codice binario eseguibili: file di programmi non eseguibili:dati non testuali prodotti da applicazioni utente Burstnet Informatica Il termine "ASCII file" si riferisce ad un testo che può essere letto a occhio nudo (it only contains the letters a-z, numbers, carriage returns, and punctuation marks).Per contro un file binario non può essere letto a occhio nudo (egli contiene caratteri in aggiunta al codice binario). Ulteriormente, qualunque file può essere letto con un comune editor is considered an ASCII file. This resolves the question "what is an ASCII file."
10
File File binari: I file binari sono file in cui i dati sono memorizzati nello stesso modo in cui si trovano in memoria, per cui, per esempio, un intero occupa su un file binario sempre sizeof(int) byte, indipendentemente dal suo valore. Al contrario, in un file di testo il numero 0 occupa 1 byte mentre occupa cinque byte (ha cinque cifre, e quindi servono cinque caratteri per scriverlo). I vantaggi dei file binari rispetto a quelli di testo sono: minore dimensione (in media), facilità di modificare il file, facilità di riposizionarsi nel file. Gli svantaggi sono la non portabilità da un tipo di calcolatore a un altro, e il fatto che non si può creare o modificare un file binario usando un editor di testi. Burstnet Informatica Il termine "ASCII file" si riferisce ad un testo che può essere letto a occhio nudo (it only contains the letters a-z, numbers, carriage returns, and punctuation marks).Per contro un file binario non può essere letto a occhio nudo (egli contiene caratteri in aggiunta al codice binario). Ulteriormente, qualunque file può essere letto con un comune editor is considered an ASCII file. This resolves the question "what is an ASCII file."
11
File Vi sono tutta una serie di dati che forniscono informazioni aggiuntive sui file che vengono chiamati attributi del file. Essi dipendono fortemente dal: Sistema operativo e dal file system. Alcuni dei possibili attributi sono: creatore proprietario flag read only , che indica se il file è leggibile o anche scrivibile. flag che indica se il file è nascosto. Flag che indica se il file è binario o di testo statistiche di accesso dimensione Burstnet Informatica
12
File Il file system mette a disposizione dell'utente una serie di operazioni elementari che è possibile eseguire sui file. In generale, è sicuramente possibile effettuare le seguenti operazioni: Creazione Cancellazione Accesso Copia / spostamento Condivisione / protezione Ogni file system definisce le sue politiche per la definizione di tali ed altre operazioni. Burstnet Informatica
13
File Metodi di accesso Sequenziale Ad accesso diretto Indicizzato
read, write Nastri Ad accesso diretto read pos, write pos (oppure operazione seek) Dischi Indicizzato read key, write key database Burstnet Informatica
14
Permessi sui file - Unix
Tutti i sistemi Unix hanno una gestione standard dei permessi sui file, che rispecchia la natura del sistema operativo multiutente. I permessi possono essere di lettura, scrittura ed esecuzione e vengono differenziati sulla base della natura dell'utente rispetto al file o directory: utente proprietario owner del file gruppo proprietario owner group del file gli altri utenti others Burstnet Informatica Per modificare i permessi dei file si usa il comando chmod che usa una duplice sintassi per indicare i permessi: read - lettura: Flag r in symbolic mode; Valore 4 in octal mode write - scrittuta: Flag w in symbolic mode; Valore 2 in octal mode execute - esecuzione: Flag x in symbolic mode; Valore 1 in octal mode
15
Permessi sui file - Unix
I permessi che abbiamo in Unix sono di: Lettura Scrittura Esecuzione Il permesso di esecuzione è necessario per poter accedere a delle directory e, ovviamente, permette l'esecuzione di file (script shell, perl, php, cgi; programmi binari compilati). Test con ls Per modificare i permessi dei file si usa il comando chmod Burstnet Informatica Per modificare i permessi dei file si usa il comando chmod che usa una duplice sintassi per indicare i permessi: read - lettura: Flag r in symbolic mode; Valore 4 in octal mode write - scrittuta: Flag w in symbolic mode; Valore 2 in octal mode execute - esecuzione: Flag x in symbolic mode; Valore 1 in octal mode
16
Permessi sui file - Windows
The basic permissions you can assign to files and folders are: Full Control, Modify, Read & Execute, Read, and Write. Folder permissions include Full Control, Modify, Read & Execute, List Folder Contents, Read, and Write. You should keep the following in mind: Read is the only permission needed to run scripts. Execute permission applies only to executables. Burstnet Informatica
17
Permessi sui file - Windows
Read access is required to access a shortcut and its target. Giving a user permission to write to a file but not to delete it doesn't prevent the user from deleting the file's contents. A user can still delete the contents. If a user has full control over a folder, the user can delete files in the folder regardless of the permission on the files. Burstnet Informatica
18
Permessi sui file - Windows
Permission Meaning for Folders Meaning for Files Read Permits viewing and listing of files and subfolders Permits viewing or accessing of the file's contents Write Permits adding of files and subfolders Permits writing to a file Read & Execute Permits viewing and listing of files and subfolders as well as executing of files; inherited by files and folders Permits viewing and accessing of the file's contents as well as executing of the file List Folder Contents Permits viewing and listing of files and subfolders as well as executing of files; inherited by folders only N/A Modify Permits reading and writing of files and subfolders; allows deletion of the folder Permits reading and writing of the file; allows deletion of the file Full Control Permits reading, writing, changing, and deleting of files and subfolders Permits reading, writing, changing and deleting of the file Burstnet Informatica inherited = ereditare Read & execute = nelle cartelle significa propagare i permessi di lettura ed esecuzione anche nei file e cartelle contenute in essa.
19
File L'organizzazione dei file system
è basata sul concetto di directory, che fornisce un'astrazione per un'insieme di file in molti sistemi, le directory sono file (speciali) Operazioni applicabili alle directory Creazione Cancellazione apertura di una directory chiusura di una directory lettura di una directory Ridenominazione link/unlink Burstnet Informatica
20
File Struttura di un disco
un disco può essere diviso in una o più partizioni, porzioni indipendenti del disco che possono ospitare file system distinti il primo settore dei dischi è il cosiddetto master boot record (MBR) è utilizzato per fare il boot del sistema contiene la partition table (tabella delle partizioni) contiene l'indicazione della partizione attiva Boot loader al boot, l’MBR viene letto ed eseguito Burstnet Informatica
21
File Struttura di una partizione
ogni partizione inizia con un boot block MBR carica il boot block della partizione attiva e lo esegue il boot block carica il sistema operativo e lo segue l'organizzazione del resto della partizione dipende dal file system Burstnet Informatica
22
File Superblock tabelle per la gestione dello spazio libero
contiene informazioni sul tipo di file system e sui parametri fondamentali della sua organizzazione tabelle per la gestione dello spazio libero struttura dati contenente informazioni sui blocchi liberi tabelle per la gestione dello spazio occupato contiene informazioni sui file presenti nel sistema non presente in tutti i file system root dir directory radice (del file system) file e directory Burstnet Informatica
23
Tipi di File System PARTIZIONI E VOLUMI
PARTIZIONE: un sottoinsieme di tutti i blocchi che compongono un disco. Un disco può avere diverse partizioni. VOLUME: il nome che assegniamo a una collezione di blocchi o a un qualsiasi storage (Es. Disco).Il termine “volume” è usato per indicare un disco o una partizione che è stata inizializzata con un file system. Attenzione non è detto che tutti i blocchi debbano risiedere su un'unica partizione di un disco. Attenzione volume non è sinonimo di partizione (ex un floppy) Burstnet Informatica Volume non è sinonimo di partizione. Ad esempio, un floppy disk potrebbe essere accessibile come volume anche senza contenere nessuna partizione, dato che i floppy disk non possono essere partizionati con la maggior parte dei computer moderni. In questo esempio, * "C:", "D:", ed "E:" sono volumi. * Disco fisso 1 and Disco fisso 2 sono dischi fisici. * Ciascuno di questi può essere chiamato "drive". Disco fisico Partizione Filesystem Lettera del drive Disco fisso 1 Partizione NTFS C: Partizione 2 Disco fisso 2 Partizione FAT32 D:
24
Tipi di File System SUPERBLOCCO
Superblocco: è un singolo blocco e contiene informazioni globali sul volume: Dimensione del volume (# blocchi). Informazioni per la gestione dei blocchi liberi (numero dei blocchi liberi nel volume, testa della free-block list, flag di lock della free-block list). Dimensione della i-list. Informazioni per la gestione degli i-nodes liberi (numero, cache, flag di lock per la lista degli i-node liberi)... Burstnet Informatica
25
Tipi di File System I-NODE
Nei sistemi Unix un i-node è una struttura dati sul file system che archivia le informazioni base dei file, delle cartelle o di qualsiasi altro oggetto. Le informazioni del file e la sua locazione fisica (se risiede su un dispositivo a blocchi come, ad es., un hard disk). Composizione: Dimensione del file Il proprietario e il gruppo di appartenenza. Le informazioni temporali di creazione, modifica e ultimo accesso. Il numero di collegamenti fisici che referenziano l'i-node. I permessi d'accesso. Burstnet Informatica
26
Tipi di File System Come utilizza gli I-NODE il Sistema operativo?
Quando un programma cerca di accedere ad un file tramite un nome (es. test.txt), il sistema operativo cerca l'i-node corrispondente e recupera tutte le informazioni sopra descritte per operare correttamente con il file. Burstnet Informatica
27
Tipi di File System BLOCCO DATI
Il blocco può essere definito come la più piccola unità che un disco o un file system possono scrivere/leggere. Ogni cosa che un file system può fare è composta da operazioni fatte sui blocchi. Un blocco di un file system è sempre di dimensione uguale o maggiore (in multipli interi) rispetto alle dimensioni dei blocchi del disco. Burstnet Informatica
28
Tipi di File System METADATI
Un metadato, letteralmente "dato su un (altro) dato", è l'informazione che descrive un insieme di dati. Un esempio tipico di metadati è costituito dalla scheda del catalogo di una biblioteca, la quale contiene informazioni circa il contenuto e la posizione di un libro, cioè dati che si riferiscono al libro. La grandezza di un file è un'informazione molto importante, ma non fa parte dei dati contenuti all'interno dei file. Burstnet Informatica
29
Esempi di ATTRIBUTI in un sistema Linux:
Tipi di File System Esempi di ATTRIBUTI in un sistema Linux: Tipo: ordinario, directory, speciale? Posizione: dove si trova? Dimensione: quanto è grande? Numero di links: quanti nomi ha? Proprietario: chi lo possiede? Permessi: chi può usarlo e come? Creazione: quando è stato creato? Modifica: quando è stato modificato più di recente? Accesso : quando è stato l'accesso più recente? Burstnet Informatica creazione di un filesystem.
30
Tipi di File System JOURNALING Journaling: metodo per assicurare la correttezza dei metadati del file system anche in presenza di interruzioni di corrente o di riavvii inattesi. Il journaling si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system come una transazione. I più diffusi file system dotati di journaling sono: NTFS, ext3, ext4, ReiserFS, XFS, Journaled File System (JFS), VxFS, HFS+. Burstnet Informatica Quando un applicativo invia dei dati al file system per memorizzarli su disco questo prima memorizza le operazioni che intende fare su un file di log e in seguito provvede a effettuare le scritture sul disco rigido, quindi registra sul file di log le operazioni che sono state effettuate. In caso di caduta di tensione durante la scrittura del disco rigido, al riavvio del sistema operativo il file system non dovrà far altro che analizzare il file di log per determinare quali sono le operazioni che non sono state terminate e quindi sarà in grado di correggere gli errori presenti nella struttura del file system. Poiché nel file di log vengono memorizzate solo le informazioni che riguardano la struttura del disco (metadati), un'eventuale caduta di tensione elimina i dati che si stavano salvando, ma non rende incoerente il file system.
31
Tipi di File System Qual è il migliore?
Dipende ...di seguito alcuni parametri da considerare per la scelta di un file system: - Sistema operativo host - Sistema di memorizzazione in uso (hard disk, pen drive ecc.) - Velocità di scrittura - Velocità di lettura - Velocità di ricerca - Sicurezza e integrità dei dati in caso di crash - Esigenze locali o remote Un file system può limitare la gestione dei file sul disco. Ad esempio in Fat32 la dimensione di un singolo file non può superare i 4GB. Burstnet Informatica Ancora più grave, secondo la fonte citata, risulta l'assenza di supporto ai permessi dei file UNIX, aggiungendo problemi relativi ai permessi dei file quando si effettua il recupero dei dati. NTFS, evoluzione di FAT32, sviluppata da Microsoft nel lontano 1993, supera alcune di queste limitazioni ma, al contempo, introduce problemi di portabilità, non essendo supportato in scrittura dai sistemi operativi Linux e Mac OS X. Che senso avrebbe un sistema di backup su cui non sia possibile scrivere? Per sopperire a tale mancanza, alcuni sviluppatori hanno realizzato l'utility ntfs-3g, basata su fuse (quindi gira in user- mode), che mette una pezza a questa limitazione. Purtroppo l'utility, per il momento, non implementa alcune funzionalità del file system tra cui le ACL.
32
Tipi di File System Cosa c'entrano le reti?
Un file system (locale) come è stato descritto, rende disponibili i file ai processi del sistema, che ne fanno richiesta. Tuttavia, esiste un'altra categoria di FS, ovvero i FS distribuiti. Un file system distribuito (in inglese, Distributed File System, o DFS) è un particolare file system, che permette la memorizzazione di file e risorse in dispositivi di archiviazione distribuiti in una rete informatica. Locale vs Distribuito. Nel DFS i dati non vengono letti o archiviati su un dispositivo locale, ma attraverso un meccanismo client-server e su dispositivi remoti collegati in maniera trasparente alla propria gerarchia di file. Burstnet Informatica Ancora più grave, secondo la fonte citata, risulta l'assenza di supporto ai permessi dei file UNIX, aggiungendo problemi relativi ai permessi dei file quando si effettua il recupero dei dati. NTFS, evoluzione di FAT32, sviluppata da Microsoft nel lontano 1993, supera alcune di queste limitazioni ma, al contempo, introduce problemi di portabilità, non essendo supportato in scrittura dai sistemi operativi Linux e Mac OS X. Che senso avrebbe un sistema di backup su cui non sia possibile scrivere? Per sopperire a tale mancanza, alcuni sviluppatori hanno realizzato l'utility ntfs-3g, basata su fuse (quindi gira in user- mode), che mette una pezza a questa limitazione. Purtroppo l'utility, per il momento, non implementa alcune funzionalità del file system tra cui le ACL. In un ambiente dove l’elaborazione è centralizzata molti utenti accedono alle risorse di un solo computer. I task di memorizzazione stampa, mem ed elaborazione vengono svolti da un unico computer In un ambiente dove l’elaborazione è distribuita le elaborazioni possono avvenire sulle workstation locali e il processore centrale viene utilizzato per distribuire applicazioni e dati.
33
Tipi di File System Cosa c'entrano le reti?
Modelli implementativi: - Serverless: termine usato per riferirsi ad un network la cui gestione non viene incentrata su dei server, ma viene dislocata fra i vari utenti che utilizzano il network stesso, quindi il lavoro necessario di gestione del network viene eseguito dagli stessi utilizzatori. - Client server basata su due processi: Server fornisce servizi di file serving Client è l'utilzzatore dei servizi: Stateless Stateful Burstnet Informatica Serverless:In questo modo non sarà possibile chiudere un intero network disattivando i soli server, ma la rete sarà attiva fin quando ci saranno persone che la utilizzeranno, un altro grande vantaggio del serverless è che gli utenti del network non vengono registrati sulla macchina server, quindi il livello di privacy è perlomeno migliore. Un esempio di rete serverless è l'algoritmo Kademlia implementato in molti programmi come eMule con KAD, i vari client BitTorrent con DHT e Osiris con una versione ad-hoc. Client-server: rinfrescatina … Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l’esecuzione del sevizio richiesto. rinfrescatina … Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l’esecuzione del sevizio richiesto. Stateful
34
Tipi di File System Cosa c'entrano le reti?
Client-server STATELESS: Il server non mantiene nessuna informazione su ciò che accade sui client (la richiesta del client dovrà essere completa: autenticazione, file path ecc.). La perdita di connesione non danneggia i file. Ex NFS (Network File System). Client-server STATEFUL: Il server mantiene i file descriptor. Migliori prestazioni rispetto a stateless. File locking. Ex AFS. Burstnet Informatica Serverless:In questo modo non sarà possibile chiudere un intero network disattivando i soli server, ma la rete sarà attiva fin quando ci saranno persone che la utilizzeranno, un altro grande vantaggio del serverless è che gli utenti del network non vengono registrati sulla macchina server, quindi il livello di privacy è perlomeno migliore. Un esempio di rete serverless è l'algoritmo Kademlia implementato in molti programmi come eMule con KAD, i vari client BitTorrent con DHT e Osiris con una versione ad-hoc. Client-server: rinfrescatina … Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l’esecuzione del sevizio richiesto.
35
Tipi di File System Cosa c'entrano le reti?
• I piu’ noti esempi di File System Distribuiti sono: • Network File System (NFS) • E’ il frutto di un progetto del 1984 della SUN Microsystems che aveva l’obiettivo di permettere l’accesso ai dischi remoti come se fossero dischi locali. • Andrew File System (AFS) • E’ un file system distribuito sviluppato nel 1983 alla Carnegie Mellon University come parte di un progetto per un sistema distribuito. Prende il nome da Andrew Carnegie e Andrew Mellon fondatori dell’universita’ • Nonostante la loro larga diffusione hanno caratteristiche molto diverse tra loro. Burstnet Informatica Serverless:In questo modo non sarà possibile chiudere un intero network disattivando i soli server, ma la rete sarà attiva fin quando ci saranno persone che la utilizzeranno, un altro grande vantaggio del serverless è che gli utenti del network non vengono registrati sulla macchina server, quindi il livello di privacy è perlomeno migliore. Un esempio di rete serverless è l'algoritmo Kademlia implementato in molti programmi come eMule con KAD, i vari client BitTorrent con DHT e Osiris con una versione ad-hoc. Client-server: rinfrescatina … Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l’esecuzione del sevizio richiesto.
36
Tipi di File System Cosa c'entrano le reti?
NFS permette a calcolatori con sistema Unix (ma non solo), che compongono un sistema distribuito, di condividere file, directory o un intero file system utilizzando il modello ad accesso remoto, come se si fosse in presenza di un unico file system logico. Ogni server esporta una o piu’ directory per far accedere i client da remoto. I client accedono alle directory montandole come parte del proprio file system Burstnet Informatica Il NFS permette ad n calcolatori che compongono un sistema distribuito di condividere file, directory od un intero file system utilizzando il protocollo client-server. Un calcolatore (client) deve richiedere esplicitamente ad un altro calcolatore (server) del sistema distribuito di condividere una directory o un file, dichiarando un punto di montaggio. Una volta effettuato un montaggio un utente sul calcolatore client accede alla directory montata in modo assolutamente trasparente, ossia accede alla directory remota credendo di accedere ad una directory locale. RPCIn altre parole, l'RPC consente a un programma di eseguire subroutine "a distanza" su computer "remoti" (accessibili però attraverso una rete).
37
Tipi di File System Cosa c'entrano le reti?
Protocollo per il montaggio Un client, per fare il mount di una directory, invia una rischiesta al server, specificando pathname e i relativi permessi. Se il pathname è valido e la directory è esportata, il server restituisce al client un file handle con le informazioni sul file system, il disco, gli inode della directory Il server mantiene una lista delle directory correntemente esportate e montate dai client ( /etc/exports) Alcune versioni di Unix supportano l’Automount, che permette di montare automaticamente al boot le directory Automount gestisce la replicazione dei file mediante server alternativi ridondanti. Burstnet Informatica mount è un comando dei sistemi operativi Unix e Unix-like che permette di agganciare un file system ad una directory, in modo da rendere accessibili ai programmi ed agli utenti del sistema i file e le directory in esso contenut.
38
Tipi di File System Cosa c'entrano le reti?
Implementazione sintetica di NFS su un sistema Unix previa installazione dei software necessari: Lato server: Scegliamo quali risorse condividere attraverso il file /etc/exports, ad esempio aggiungendo un’istruzione come segue: /path/da/condividere/ rete(opzioni) Per rete potete indirizzare un singolo ip del client al quale volete dedicare la risorsa, o una rete, o un dominio. Avviamo i demoni: etc/rc.d/rc.nfs start; /etc/rc.d/rc.rpc start Lato client: Per montare: mount -t nfs -o bg,intr,hard ip.server:/path/scritta/sul/exports/del/server/ /mount/point Per smontare: umount /punto/di/mount/sul/client Burstnet Informatica mount è un comando dei sistemi operativi Unix e Unix-like che permette di agganciare un file system ad una directory, in modo da rendere accessibili ai programmi ed agli utenti del sistema i file e le directory in esso contenut.
39
Tipi di File System Cosa c'entrano le reti?
CONCLUSIONI 1/3 Eccellente esempio di semplice, robusto ed efficiente file system distribuito • Trasparenza di Accesso: eccellente. Viene nascosto l’indicazione del calcolatore dove sono memorizzati i file. • Trasparenza di Locazione: Il nome del file non indica dove esso sia memorizzato effettivamente • Concorrenza : adeguata per la maggior parte dei casi. Quando i file sono modificati da più client ci può essere inconsistenza. Burstnet Informatica mount è un comando dei sistemi operativi Unix e Unix-like che permette di agganciare un file system ad una directory, in modo da rendere accessibili ai programmi ed agli utenti del sistema i file e le directory in esso contenut.
40
Tipi di File System Cosa c'entrano le reti?
CONCLUSIONI 2/3 • Replicazione dei file: limitata ai soli file in lettura • Burstnet Informatica mount è un comando dei sistemi operativi Unix e Unix-like che permette di agganciare un file system ad una directory, in modo da rendere accessibili ai programmi ed agli utenti del sistema i file e le directory in esso contenut.
41
Tipi di File System Cosa c'entrano le reti?
CONCLUSIONI 3/3 • Fault tolerance: buona. E’ sospeso il servizio solo del server che diviene non disponibile e il recovery è aiutato dall’assenza di stato (vers. 2 e 3) • Efficienza: buona. La maggior parte del tempo di accesso è speso nella risoluzione dei nomi (utile la cache nel client). Letture e scritture sui file pesano per al più il 5% del tempo. • Scalabilità: buona. File system molto grandi possono essere suddivisi su più server. Burstnet Informatica mount è un comando dei sistemi operativi Unix e Unix-like che permette di agganciare un file system ad una directory, in modo da rendere accessibili ai programmi ed agli utenti del sistema i file e le directory in esso contenut.
42
Tipi di File System Cosa c'entrano le reti?
ll file system Andrew (AFS) è un file system distribuito sviluppato dalla Carnegie Mellon University, all'interno del progetto Andrew. L'utilizzo principale di questo file system è nell'elaborazione distribuita. In ambito commerciale ci sono realtà di AFS con oltre clients. AFS utilizza Kerberos per eseguire le autenticazioni. Implementa liste per il controllo degli accessi alle singole cartelle per utenti e gruppi, implementa ACL su singole cartelle per utenti e gruppi. Caching a livello del client Multipiattaforma Unix, Linux, MacOs, Windows Il caching a livello del client permette un miglioramento delle prestazioni, e limita l'accesso al file system in caso di un crash del server o un sovraccarico della rete Nell'AFS i file vengono mantenuti nella cache su richiesta della singola workstation. Le operazioni di lettura e scrittura vengono eseguite direttamente sulla copia mantenuta nella cache locale. Quando un file che ha subito delle modifiche viene chiuso, la parte modificata viene copiata sul file presente sul server.La consistenza della cache viene mantenuta da un meccanisco denominato callback. Quando un file si trova nella cache di un client, il server ne prende nota, e in caso tale file venga modificato, si impegna a notificarlo ai client che ne hanno una copia. Tale meccanismo viene a cadere e quindi riavviato ogni qualvolta un server, un client o un errore nella rete creino un time-out. Il ripristino del callback consta nel controllo dello stato dei file nelle cache dei vari client e non richiede la ritrasmissione dei file. Burstnet Informatica
43
Tipi di File System Cosa c'entrano le reti?
AFS: idea di base Assunzione 1 : i file sono usati molto in lettura e poco in scrittura. Assunzione 2: la maggior parte dei file non ha grandi dimensioni. IDEA: Fare in modo che ogni utente lavori il più possibile localmente e interagisca il meno possibile con il resto del sistema. All’apertura di un file, Venus(lato client) cattura la open e trasferisce tutto il file sul disco locale. Il file descriptor si riferisce al file locale. Tutte le operazioni di read e write sono sul file locale. Alla chiusura del file Venus trasferisce l’intero file sul server. Il caching a livello del client permette un miglioramento delle prestazioni, e limita l'accesso al file system in caso di un crash del server o un sovraccarico della rete Nell'AFS i file vengono mantenuti nella cache su richiesta della singola workstation. Le operazioni di lettura e scrittura vengono eseguite direttamente sulla copia mantenuta nella cache locale. Quando un file che ha subito delle modifiche viene chiuso, la parte modificata viene copiata sul file presente sul server.La consistenza della cache viene mantenuta da un meccanisco denominato callback. Quando un file si trova nella cache di un client, il server ne prende nota, e in caso tale file venga modificato, si impegna a notificarlo ai client che ne hanno una copia. Tale meccanismo viene a cadere e quindi riavviato ogni qualvolta un server, un client o un errore nella rete creino un time-out. Il ripristino del callback consta nel controllo dello stato dei file nelle cache dei vari client e non richiede la ritrasmissione dei file. Burstnet Informatica Nel kernel del client c’e’ una porzione aggiunta di codice chiamata Venus I file server, detti Vice, girano in spazio utente
44
Tipi di File System Cosa c'entrano le reti?
AFS CONCLUSIONI Trasparenza di locazione e di accesso: ogni client ha la stessa visione dei file poichè AFS ha una radice comune. Prestazioni: la cache locale riduce il traffico di rete. Scalabile: mantiene le stesse prestazioni sia su piccoli cluster sia su grandi installazioni. Sicurezza: piu’ sicuro di NFS. Concorrenza: garantita secondo la semantica di sessione. Fault tolerance: se il server diventa indisponibile non e’ possibile aggiornare il file ma e’ possibile continuare ad usare la copia nella cache locale. Burstnet Informatica AFS fornisce un naming comune a tutte le workstation: mentre con NFS e' necessario fornire esplicitamente i mount point indicando il nome (l'indirizzo IP) dei server e il disco (o i dischi) da montare, AFS rende trasparente ai client la natura distribuita del file system, sollevando l'utente dalla necessita' di sapere su quale server si trova un determinato file; quello che l'utente vede e' un normale file system Unix, che non ha riferimenti espliciti alle locazioni dei server. Attraverso tale file system, e' possibile (qualora si sia autorizzati) accedere ai file contenuti su qualunque server AFS raggiungibile via TCP/IP (utilizzando ad esempio il semplice comando Unix "cd"); questo significa che un client AFS ha visibilita' automatica e trasparente di tutti i server AFS presenti in rete.
45
Comandi utili: File system: Unix: Windows:
mount – monta un file system. umont – smonta il file system. fsck - verifica la consistenza di un file system con possibilità di riparazione. Windows: sfc /scannow - Questo comando analizza l’integrità dei file di sistema protetti e li ripara nel caso in cui vengano trovati dei problemi. CHKDSK /R /F – - verifica la consistenza di un file system con possibilità di riparazione. Burstnet Informatica
46
RAID Definizione Tipologie di raid Raid Hardware vs raid Software
Problematiche legate alle prestazioni Burstnet Informatica
47
RAID Definizione L'acronimo RAID si può definire in due modi: Redundant Array of Inexpensive Disks oppure Redundant Array of Indipendent Disks (l’originale è il primo). E' un sistema informatico che usa un insieme di dischi rigidi per replicare le informazioni e prevenire eventuali guasti. Burstnet Informatica Il RAID nasce nel 1987 quando i ricercatori Patterson, Gybson e Katz della Berkely university of California pubblicano il documento "A case for Redundant Array of Inexpensive Disks (RAID)" il cui scopo era di creare una tecnologia che permettesse di unire un gruppo di piccoli e poco costosi (inexpensive) dischi in una matrice logica (array) in grado di superare le performance di un unico disco più capiente, veloce e quindi costoso Rindondanza:In ambito informatico è comune, in caso di sistemi critici, avere apparati di ridondanza: p.es., due coppie di dati mantenute sincronizzate in modo da garantire la continuità dell'esecuzione delle applicazioni anche in caso di danneggiamento del supporto contenente i dati stessi. Questo obbiettivo si realizza con varie tecniche come per esempio le copie mirror o varie tipologie di dischi in configurazione RAID. .
48
RAID Definizione Benefici: Integrità dei dati, tollerenza dei guasti e prestazioni. Il RAID permette di combinare un insieme di dischi in una sola unità logica. In questo modo il sistema operativo, invece di vedere differenti dischi, ne vede solamente uno. Burstnet Informatica
49
RAID Tipologie di raid Esistono diversi livelli di raid, ognuno con
specifiche caratteristiche. RAID 0 (stripping): distribuisce i dati su più dischi al fine di avvantaggiare le prestazioni a discapito, però, dell'affidabilità. RAID 1 (mirroring): crea una copia esatta (mirror) di tutti i dati su due o più dischi; ottima affidabilità ma scarse prestazioni. Burstnet Informatica Lo striping aumenta le performance dell’array distribuendo il dati su tutti i drives. Nel RAID 0 tutti gli Hd sono collegati a formare un unico disco la cui capacità è la somma totale delle singole capacità. I pacchetti di dati da scrivere sono divisi e inviati contemporaneamente a tutti i dischi presenti. Nel caso di un RAID 0 con due dischi, il tempo impiegato per scrivere un dato è circa la metà rispetto alla scrittura su un disco singolo, lo stesso vale per la lettura. Il RAID 0 avvantaggia le prestazioni ma non offre nessuna protezione dei dati, in caso di guasto di un disco i dati sono irrimediabilmente persi. Nel RAID 1, chiamato anche mirroring, i dischi è come se fossero collegati in parallelo ed un disco è la copia speculare dell'altro. Quando uno dei due dischi si guasta il sistema continua a lavorare con quello rimasto; dopo la sostituzione dell'unità danneggiata, il controllo RAID ricostruisce l'immagine sul nuovo disco. Lo svantaggio è che la capacità totale è la metà della somma di tutti i dischi. La realizzazione di un RAID 0 o 1 richiede un minimo di due dischi.
50
RAID Tipologie di raid Il RAID 0+1 è una combinazione delle modalità 0 e 1. Per realizzarla sono necessari quattro dischi collegati a coppie in RAID 0 una delle due coppie è quindi collegata in RAID 1 con l'altra. Questa combinazione offre sicurezza e prestazioni ma sempre con lo scotto di perdere metà della capacità complessiva del sistema. Burstnet Informatica
51
RAID Tipologie di raid Nei RAID 5 i dati da scrivere sono sottoposti ad un particolare calcolo matematico, che genera un dato chiamato parità. I dati di parità sono distribuiti in tutti i dischi, in caso di guasto ad uno di essi, il sistema RAID, grazie ai dati di parità presenti negli altri dischi, è in grado di ricostruire le informazioni che vi erano contenute. Il RAID 5 richiede un minimo di tre dischi fissi. Burstnet Informatica
52
RAID RAID HW vs RAID SW Il RAID può essere implementato o via Software o via Hardware. Raid Hardware: richiede l'utilizzo di un controller ad HOC. Tendenzialmente offre migliori prestazioni e rende la gestione del sistema operativo molto più semplice. Un altro vantaggio è la possibilità di sostituire i dischi a sistema avviato - hot swapping – evitando il reboot del computer. Raid Software: il sistema operativo gestisce l'insieme di dischi attraverso un normale controller (ATA, SCSI, Fibre Channel o altro). Notoriamente più lenta di un RAID hardware, ma non richiede l'acquisto di componenti aggiuntivi. Burstnet Informatica Le interfacce hot swap più note sono l'Universal Serial Bus (USB) e il Firewire, ed in senso lato anche le interfacce di rete (Ethernet o wireless). Interfacce che non prevedono tale possibilità sono ad esempio l'interfaccia PS/2 (per collegare mouse e tastiere) o l'ATA. Un'evoluzione di quest'ultima interfaccia, il Serial ATA, contiene tra le specifiche anche l'hot swap, ma non tutti i controller disponibili sul mercato la implementano. Si può parlare di hot swap anche in caso di sistemi di hard disk che permettono la sostituzione o l'aggiunta di un'unità (ad esempio quando in un sistema RAID si danneggia un hard disk in mirroring), oppure in sistemi UPS in cui si possono sostituire gli accumulatori al volo e perfino moduli di potenza senza dover togliere alimentazione ai sistemi collegati.
53
RAID Problematiche legate alle prestazioni
Tipo di raid # min disk Protezione dei dati Vantaggi Svantaggi Uso ideale 2 no Velocità nelle operazioni di lettura e scrittura In caso di guasto di uno dei due dischi si perde l'intero contenuto Per elevate velocità di accesso al disco e dove non serve la protezione dei dati 1 si Protezione dei dati, in caso di guasto di uno dei dischi si può continuare a lavorare Metà della capacità effettiva in quanto uno dei due dischi è la copia dell'altro Laddove la protezione dei dati è di primaria importanza + 4 Unisce i vantaggi di RAID 0 e 1 Metà della capacità effettiva di spazio Utilizzi in cui è richiesta velocità di accesso e protezione dei dati 5 3 Protezione dati, ottime prestazioni in lettura. Scrittura rallentata a causa del calcolo di parità distribuzione dati, server e NAS Burstnet Informatica
54
Tipologie di backup Per “backup” in informatica s’intende un’operazione atta a prevenire la perdita totale dei dati archiviati nella memoria di massa dei computer. Il futuro della vostra società (e il vostro stesso futuro in essa) possono dipendere dall’aver predisposto un “buon” piano di backup. Il backup ci aiuta a prevenire la perdita di dati che vengono rimossi per sbaglio o per guasti hardware. Fare il backup non è entusiasmante ma un buon amministratore non può ignorare questa operazione. Burstnet Informatica
55
Tipologie di backup Fattori da considerare per predisporre un buon backup: Backup totale o incrementale? Backup totale: copia tutti i file, non è necessario eseguirlo ogni giorno. Backup incrementale: copia solo i file che sono stati modificati dall’ultimo backup totale. Tipi di supporto di backup: CD-R, CD riscrivibili, DVD-R, DVD riscrivibili, Digital Audio Tape, cartucce a nastro, Hard Disk portatili con collegamento esterno USB, chiavette usb (stick-usb), ecc. Ognuno di questi supporti presenta vantaggi/svantaggi in termini di prestazioni e affidabilità. Burstnet Informatica
56
Tipologie di backup Alcune definizioni:
Filesystem dump: invece di copiare i file all’interno del filesystem, viene fatta una copia dell’intero filesystem. Questo è conosciuto come: raw partition backup ed è utile per creare un’immagine del disco. Database dump: è un file che contiene l'intera struttura delle tabelle di un database ed eventualmente i relativi dati. E' composto da una lista di dichiarazioni scritte in SQL che ricreano le tabelle e la loro struttura, e inseriscono i dati presenti fino alla data del dump. Questa procedura viene utilizzata principalmente per fare il backup del database e per poter ripristinare le tabelle del database in caso di occasionali perdita di dati Burstnet Informatica
57
Tipologie di backup Fattori da considerare per predisporre un buon backup: File system: è molto importante avere una copia di tutti i file system attivi. è raccomandabile eseguire il dump di un file system quando questo non è montato sul sistema e non può essere modificato durante l'operazione di copia (ex in Unix questa operazione è divisa in due diverse fasi: nella prima si raccolgono gli i-node dei file da dumpare, nella seconda si copiano i dati effettivi). Burstnet Informatica Non basta una semplice copia del file-system per trasferire il S.O. Installato su un'altra macchina Durante l'installazione vengono “scelti” ed installati driver fondamentali per il caricamento del S.O. Il codice di attivazione della copia di Windows è legato all'hardware della macchina I grandi nemici: DBMS Praticamente tutti i sistemi DBMS (Mysql, Oracle, PostgresSQL, ecc...) salvano i loro dati in maniera “complessa” I dati non vengono salvati in maniera atomica Una semplice copia del filesystem non garantisce che il risultato sia consistente.
58
Tipologie di backup Carico di lavoro sugli utenti: il backup andrebbe pianificato sempre in orari non lavorativi, in quanto potrebbe rallentare il lavoro degli utenti e creare incoerenza nei dati. Documentazione: è buona norma etichettare o catalogare tutti i supporti che utilizzate per il backup. E’ utile creare un manuale per il ripristino del sistema, nel caso in cui Voi “amministratori” vi troviate…al mare in vacanza! Sono disponibili vari comandi o programmi per il backup dipendenti dal S.O. che state utilizzando: in linux tar, cpio in Windows ntbackup. Burstnet Informatica Incoerenza tra i dati: il sistema ta effettuando il backup mentre l’utente sta modificando un file, rischi di salvare un file vecchio, o in alcuni casi il backup mi si potrebbe bloccare.
59
Tipologie di backup Test dei backup: vi potreste trovare dopo un anno o più a dover ripristinare i dati su un supporto inutilizzabile. Directory da evitare: spesso, non occorre salvare tutto; ad ex in Unix il salvataggio delle cartelle /tmp e /proc è inutile. Pianificazione: è bene creare un piano di backup, non ha senso pianificare ogni giorno un backup totale; combinare i backup totali con quelli incrementali. Burstnet Informatica
60
Tipologie di backup Esiste un nuovo strumento in grado di archiviare qualsiasi tipo di dato in modo completamente automatico sfruttando la rete:Il Backup Online. Esso è un servizio gestito da un software che si installa (solitamente) sul proprio computer ed effettua l’archiviazione dei file attraverso una connessione sicura (Internet) su un server remoto. Vantaggi: Sicurezza, utilizzo della crittografia per il trasferimento dei dati. I dati sono al sicuro in un luogo esterno, al sicuro da incendi, terremoti, tsunami, ecc. Espandibilità dello spazio utilizzato per il backup, basta pagare… Attraverso le vostre credenziali potrete accedere da qualsiasi computer dotato di un collegamento ad internet. Burstnet Informatica Come funziona: La procedura classica è la seguente (ma può variare secondo il fornitore del servizio): una volta scaricato il software (il client) si avvia la procedura guidata di installazione. Quando è completata, si può scegliere se si vuole eseguire il backup dell’intero computer, oppure solo di alcune cartelle. Da questo momento, il software monitora i file in modo del tutto automatico, andando a salvare e a proteggere ogni volta tutti i documenti che vengono modificati o creati. Ci sono software che eseguono continuamente l’operazione di verifica e salvataggio (real time) altri che sono invece programmati per operare ogni 24 o 12 ore. Prestazioni ottimali: i migliori servizi di Backup Online non rallentano il computer sul quale sono installati. Generalmente monitorano quante risorse del sistema si stanno utilizzando adeguandosi alle esigenze dell'utente. In questo modo le performance del computer non vengono compromesse. Completamente automatico: una volta scelto cosa salvare, il client si avvia insieme al computer, lavora silenziosamente e continuamente in background per la protezione dei dati senza l’intervento dell’utente e solo se le risorse del computer (banda, ram, CPU) non sono utilizzate da altri processi più importanti. È possibile decidere di archiviare nuovi file in qualsiasi momento fino al completamento dello spazio disponibile Versioning: è il sistema che tiene traccia di tutte le modifiche effettuate su un determinato file per un tempo virtualmente infinito Privacy: Tutti i fornitori di servizi di Backup Online sono attenti e rispettano in modo rigoroso le norme vigenti in materia di privacy. Lo staff delle software-house che gestiscono questo tipo di servizio, aderisce ad un codice deontologico per il rispetto della privacy e utilizza le più avanzate tecnologie di sicurezza (spesso superiori a quelle previste dalla normativa) per garantire che i file degli utenti vengano archiviati nel modo più sicuro possibile. Normalmente tutte le comunicazioni con i server avvengono su un canale criptato SSL, lo stesso utilizzato dagli istituti bancari, mentre l'archiviazione dei file sui server avviene crittografando con i massimi standard internazionali.
61
Storage Area Network A SAN is a dedicated network that is separate from LANs and WANs. It is generally used to connect all the storage resources connected to various servers. It consists of a collection of SAN Hardware and SAN Software; the hardware typically has high inter-connection rates between the various storage devices and the software manages, monitors and configures the SAN. I protocolli attualmente più diffusi, usati per la comunicazione all'interno di una SAN, sono FC (Fibre Channel) ed iSCSI (Internet SCSI). Burstnet Informatica
62
Storage Area Network Il suo scopo è quello di rendere tali risorse di immagazzinamento (storage) disponibili per qualsiasi computer connesso ad essa. Il vantaggio di un'architettura di questo tipo è che tutta la potenza di calcolo dei server è utilizzata per le applicazioni, in quanto i dati non risiedono direttamente in nessuno di questi. Normalmente una SAN utilizza dischi collegati con una struttura di tipo RAID per migliorare le prestazioni e aumentare l'affidabilità del sistema. Burstnet Informatica
63
Ridondanza La “ridondanza” è definita come l'esistenza di più mezzi per svolgere una determinata funzione, disposti in modo tale che a fronte di un guasto la periferica ridondante ne prenda il posto. Nei piccoli uffici che non si possono permettere un cluster, è buona norma consigliare il Raid (mirroring), un alimentatore e una scheda di rete ridondante. Burstnet Informatica Un computer cluster, o più semplicemente un cluster (dall'inglese grappolo), è un insieme di computer connessi tramite una rete telematici. Lo scopo di un cluster è quello di distribuire una elaborazione molto complessa tra i vari computer componenti il cluster. In sostanza un problema che richiede molte elaborazioni per essere risolto viene scomposto in sottoproblemi separati i quali vengono risolti in parallelo
64
Ridondanza La ridondanza, oltre ai dischi, come già visto, può essere estesa anche ad altre parti critiche del computer come sistemi di raffreddamento, alimentazione elettrica, schede di rete ecc., o addirittura all'intero sistema in un'architettura cluster in alta affidabilità. Burstnet Informatica
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.