Estratto del documento

LVM

Un “Logical Volume Manager” è un sistema di virtualizzazione dello storage che prevede un unico punto di accumulo

dello storage tramite il raggruppamento di tan dischi fino al raggiungimento della dimensione adeguata alle proprie

necessità, che è ridimensionabile e ges bile flessibilmente a livello logico. Prevede 3 livelli:

Primo livello: lo strato basso dove sono i dischi fisici, un disco viene messo dentro il sistema di storage (che

può essere un server o un pc, non necessariamente parte di un MNAS) e viene forma ato dividendolo in

unità discrete, andando a definire quello che viene chiamato un “Physical Volume” con le unità date dalla

suddivisione in piccoli blocchi, di dimensione eguale nell’intero LVM, al suo interno che prendono invece il

nome di “Physical extent”.

Secondo livello: i PV, per poter essere u lizza , vanno aggrega , cioè presi e messi dentro ad un “Volume

Group” dedicato solitamente all’amministrazione di un qualcosa (es. un database), qui il sistema non vede

più dischi singoli (sda, sdb), ma un'unica risorsa di spazio per ges re lo storage. Non è ancora presente un file

system a questo livello. Anche il VG viene diviso in unità discrete che possono coincidere o no con le unità

discrete del PV (i PE), per esempio si potrebbero avere corrispondenze del po 2:1 (2 VE per 1 PE), e

prendono la dicitura di “Volume Extent” (in sostanza perme ono di ges re virtualmente i PE).

Terzo livello: lo strato alto dove si ha il file system, se si immagina il VG come una torta, se ne taglia una fe a

grande quanto serve de a “Logical Volume” con all’interno i “Logical Extent”, il LV è l’equivalente

virtualizzato di un disco con cui si può fare tu o quello che si fa con i dischi con file system (es. par zioni,

ecc.), non serve sapere com’è fa o lo storage fisico, quando si ha bisogno di più storage si “prende più torta”

e la si integra al resto della torta che si è già presa, se si raggiunge la capacità massima si comprano altri hard

disk al primo livello e di nuovo si “ha più torta”. Il LVM man ene delle tabelle durante le operazioni che

tengono delle corrispondenze tra LE e VE e tra VE e PE, un “doppio salto” che perme e di arrivare al dato

fisico sul disco.

RAID

È una metodologia per cui non ci si affida alla durabilità e sicurezza in generale dei dischi e si prende

dell’hardware (un controller) a cui si a acano due dischi che appaiono al SO come un unico disposi vo.

Ne esistono più pi:

-RAID-0: punta a migliorare le prestazioni. I da vengono divisi in blocchi (striping) e i blocchi vengono

distribui su due o più dischi. I dischi scrivono (o leggono) i rispe vi blocchi in parallelo e

contemporaneamente (A1 sul disco 1 e A2 sul disco 2 nello stesso istante), raddoppiando la velocità di

trasferimento. Si hanno però dei rischi importan nel caso in cui uno dei due dischi dovesse rompersi: si

perdono i da e si rimane solo con metà di essi, che è comunque inu lizzabile (A2 con ene parte dei da che

completano A1 e così via). Per risolvere si possono tenere due backup dei da presen nel RAID-0, una su

cloud e una su un disco locale. Tu avia, ques backup non cos tuiscono una ridondanza in tempo reale del

sistema, ma solo una possibilità di ripris no.

-RAID-1: non ci si concentra sulla velocità ma sulla ridondanza (immediata), infa un dato scri o finisce su

entrambi i dischi (mirroring).

-RAID-5: combina il principio dello striping (del RAID-0) per le prestazioni e come il mirroring (del RAID-1),

anche il RAID-5 protegge dal guasto di un disco, ma invece di duplicare tu o, usa un trucco matema co (XOR)

per essere più efficiente con lo spazio. I da e i codici di parità sono suddivisi (a livello di blocchi) e distribui

su tu i dischi. I codici di parità sono un meccanismo di controllo degli errori che perme e di rilevare la

perdita o la corruzione di da . I bit di parità (calcola tramite operazione XOR sui blocchi corrisponden degli

altri dischi) vengono scri a rotazione su ogni disco. I da sul disco guasto possono

essere ricostrui u lizzando l'operazione XOR sui da e sulla parità rimanen dai dischi supers . Una volta

sos tuito fisicamente il disco guasto, vengono ricostrui i da originali sul nuovo disco (può comunque

richiedere molto tempo), durante la quale il sistema è ancora opera vo. Il RAID-5 è intrinsecamente più

sicuro di un LVM in termini di protezione dai guas fisici dei dischi. Il LVM da solo non offre alcuna

protezione; i da risiedono "così come sono" sui dischi fisici so ostan , è necessario combinarlo con una

soluzione di ridondanza so ostante (ad es. questo po di RAID)

Es. di calcolo di parità

Blocco A1 su Disco 1: 0110

Blocco A2 su Disco 2: 1100

Blocco A3 su Disco 3: 1010

Blocco (dedicato allo stripe con i blocchi A1, A2, A3; con parità P(A)) su Disco 4: 0000

La parità è data dallo XOR del blocco A, con il B e il C:

A: 0110

XOR B: 1100 (ricordiamo che lo XOR tra due bit vale 1 solo quando i bit sono diversi)

= 1010

XOR C: 1010

= 0000

Supponendo che il Disco 2 si guas , perdendo il blocco A2, si calcola A2 = A1 XOR A3, cioè 1100, XOR P, cioè

1100, ed effe vamente A2 corrispondeva a 1100.

Il problema: i qua ro dischi devono essere tu iden ci per dimensione, numero di pia , ecc., se devo

scrivere un blocco e trovare il corrispondente sugli altri dischi, ques devono essere nella stessa posizione, se

compro un disco e il SO deve rimanere opera vo per anni, la probabilità di trovare quello stesso disco

disponibile per l’acquisto è pra camente zero, si deve cambiare tu o il RAID oppure farselo costruire

appositamente però entrambe le opzioni hanno cos esorbitan rispe o a comprare un disco qualunque.

Una soluzione più efficiente è data da quello che si è de o sull’u lizzo delle tabelle delle corrispondenze nel LVM, si

possono aggregare dischi anche con dimensioni e cara eris che diverse in base alle necessità e, tramite funzionalità

come lo striping e la concatenazione (cioè l’unione sequenziale dello spazio dei dischi), si possono realizzare

configurazioni equivalen a un “RAID basato su LVM”, senza le rigidità piche dei RAID tradizionali.

Ma c’è un altro problema: la strategia di backup. È essenziale mantenere mul pli backup dello stesso dato su

suppor di natura diversa, con almeno una copia conservata "fuori sede" (off-site), cioè fisicamente in un'altra

loca on. Il collo di bo glia in questo processo è il trasferimento dei da dallo storage primario ai suppor di backup,

che richiede molto tempo. Questo è un problema insostenibile per servizi che devono rimanere opera vi 24/7, come

ad es. Ne lix o server aziendali. Il LVM offre per queste ragioni la funzionalità di snapshot:

1. Congelamento dello Stato: si me e lo storage in uno stato di congelamento (freeze) tramite comandi del

sistema. Non si blocca l'esecuzione dei processi o la scri ura di nuovi da , ma si "fotografa" lo stato coerente

del file system in un istante preciso.

2. Creazione dello Snapshot: viene creato un volume snapshot speciale, che funge da area di differenza (delta).

Tu e le nuove operazioni di scri ura successive al congelamento vengono reindirizzate e “parcheggiate” in

quest'area, mentre i da originali rimangono inta .

3. Backup Trasparente: l'immagine che il sistema "vede" è composta dai da originali congela + tu

i delta accumula nell'area snapshot. In questo stato, si può avviare il backup sicuro dei da originali, senza

fermare il servizio.

4. Rilascio e Sincronizzazione: al termine del backup, si "scongela" il file system, si elimina lo snapshot e tu e le

operazioni parcheggiate nell'area delta vengono propagate (merged) nel file system principale. Il servizio ha

con nuato a funzionare senza disservizi.

Ges one e o mizzazione del file system

Per memorizzare file di n byte sono possibili due strategie:

-Allocazione di n byte consecu vi su spazio disco: se il file aumenta di dimensione dovrà probabilmente

essere spostato.

-Suddivisione del file in un numero di blocchi di dimensione fissa non necessariamente con gui: scegliamo

questa strada per il mo vo appena descri o.

Se il disco fosse una torta, il se ore è un singolo "pezzo" di uno degli anelli della torta. Una traccia è composta da

mol se ori (è un anello circolare su una faccia del pia o del disco su cui poggia la tes na di le ura/scri ura), il

cilindro è l'insieme di tracce alla stessa distanza dal centro su tu i pia del disco. I dischi hanno più pia impila

uno sull'altro, immaginando di prendere la traccia numero 10 sul pia o superiore, la traccia numero 10 sul pia o

centrale e la traccia numero 10 su quello inferiore, insieme, queste formano un cilindro. Tu e queste componen

sono candidate come unità di allocazione. Tu avia, scegliendo un’unità di allocazione troppo grande, si finisce per

sprecare spazio, dato che per file piccoli viene comunque riservata più memoria (la stessa per ogni file), mentre se è

troppo piccola si spreca tempo, dato che bisogna distribuire la maggior parte dei file su molteplici blocchi (quindi più

ricerche e ritardi di rotazione).

Esiste un confli o intrinseco tra velocità di trasferimento da ed u lizzo dello spazio del disco. Con blocchi piccoli si

ha un migliore u lizzo dello spazio, poiché viene minimizzata la frammentazione interna, ma aumentano i tempi di

ricerca e i ritardi di rotazione, viceversa, con blocchi grandi si ha più velocità di trasferimento da ma un u lizzo dello

spazio meno efficiente.

Considerazioni sui blocchi liberi

-Perché non usare sovrascrivere il blocco riempiendolo di zeri per marcarlo come libero?

 Un blocco pieno di zeri non è necessariamente libero. Potrebbe contenere da validi di un file (ad

esempio, una matrice di zeri).

 Cancellare un file sovrascrivendo i suoi blocchi con zeri è uno spreco di risorse (tempo e cicli di I/O).

Per tenere traccia dei blocchi liberi vi sono due metodi:

-Usare una lista collegata di blocchi del disco: ognuno di ques con ene tan numeri di blocchi di disco liberi

quanto possibile, es. con un blocco di 1KB (1024 byte) e indirizzi da 32 bit, cioè 4 byte, si hanno 1020 byte

disponibili per memorizzare i numeri dei blocchi liberi (1020 – 4 byte del puntatore al successivo), 1020 / 4 =

255 blocchi liberi che si possono memorizzare nella “free list”. Per non occupare ulteriore memoria si usano

blocchi liberi per memorizzare la lista dei blocchi liberi (ad es. nel superblock). Basta prendere il primo blocc

Anteprima
Vedrai una selezione di 20 pagine su 142
Sistemi operativi Pag. 1 Sistemi operativi Pag. 2
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 6
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 11
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 16
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 21
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 26
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 31
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 36
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 41
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 46
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 51
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 56
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 61
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 66
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 71
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 76
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 81
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 86
Anteprima di 20 pagg. su 142.
Scarica il documento per vederlo tutto.
Sistemi operativi Pag. 91
1 su 142
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher c00_ale di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano o del prof Meggiorini Dario.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community