Posted on

Velocità di un backup remoto

Per costruire un ambiente di backup si consiglia in letteratura di seguire la regola 3-2-1.

  • Fare 3 backup
  • Fare 2 backup su supporti diversi
  • Fare 1 backup in un altra sede rispetto ai dati di origine

Per eseguire la terza disposizione molto spesso pensiamo al Cloud; è un ottima soluzione ma i costi sono ancora abbastanza alti se parliamo di TB. Se invece dobbiamo salvare dei GB la soluzione è appetibile.

Per aziende che devono spostare TB di dati una soluzione può essere il backup in una sede remota, per esempio collegata con una vpn. I costi di salvataggio del dato saranno quindi assorbiti dai costi di acquisto di una unità NAS abbastanza capiente.

Cerchiamo di dettagliare una soluzione del genere.

Velocità del backup in vpn

La velocità del backup sarà determinata dalla velocita della connessione ad internet più lenta fra le 2 sedi. Supponiamo che le 2 sedi riescano a comunicare alla velocità di 300 Mb/s.

300 Mb/s = 300.000.000 b/s

300.000.000 b/s / 8 = 37.500.000 B/s = 37,5 MB/s

Per spostare 1GB di dati in una rete a 300 Mb/s impiegheremo 1.000 / 37,5 = 26,7 secondi

Per spostare 1GB di dati in una rete a 100 Mb/s impiegheremo 1.000 / 12,5 = 80 secondi

I software di backup hanno tutti la capacità di eseguire backup incrementali ma il primo backup che viene eseguito sarà, per forza di cose, molto lungo. Quindi va pianificato con attenzione.

Se vogliamo spostare una macchina virtuale da 20GB attraverso una rete a 300 Mb/s, impiegheremo circa 27 minuti. Impiegheremo 2 ore e 15 minuti per una macchina virtuale da 1TB.  I backup incrementali dei vari software presenti sul mercato, in condizioni “normali” di attività del server, consentono di arrivare per i backup successivi a tempi che equivalgono al 20% del primo backup.

Scelta del NAS di Backup

I dati della sede di origine vengono archiviati su Nas nella sede di destinazione. E’ chiaro che la scelta di un NAS dotato di una scheda ethernet a 10Gb/S non migliora un backup remoto di questo tipo visto che la velocita di trasferimento della vpn è minore di 1Gb/s.

I dischi del NAS potrebbero ulteriormente diminuire la velocità di copia ? Per rispondere diamo uno sguardo ad una tabella che cerca di dare un valore alle velocità di scrittura dei vari sistemi di dischi. Abbiamo prelevato i dati dal sito wikipedia per poi elaborarli.

Drive

(Type / RPM )

MB/s

(64KB block, random)

MB/s

(512KB block, random)

MB/s random

average

MB/s

(large block, sequential)

MB/s sequenzial

average

FC / 15 K 9.7 – 10.8 49.7 – 63.1 33,3 73.5 – 127.5 100,5
SAS / 15 K 11.2 – 12.3 58.9 – 68.9 37,8 91.5 – 126.3 108,9
FC / 10 K 8.3 – 9.2 40.9 – 53.1 27,9 58.1 – 107.2 82,65
SAS / 10 K 8.3 – 9.2 40.9 – 53.1 27,9 58.1 – 107.2 82,65
SAS/SATA / 7200 4.4 – 4.9 24.3 – 32.1 16,4 43.4 – 97.8 70,6
SATA / 5400 3.5 22.6 13,05 47,1 (estimate)
SSD 520 520

Normalmente i software di backup scrivono i dischi in maniera sequenziale, quindi, numeri alla mano, anche un hard disk sata 5400 potrebbe essere utile nel nostro scenario. Acquistare invece hard disk superiori ai 7200 rpm non porterebbe ad un miglioramento.

Posted on

Velocità dei dischi in RAID

Proviamo a fare un quadro delle velocità dei dischi quando vengono raggruppati in un RAID. Tratteremo l’argomento arrivando a definire le prestazioni del raid relativamente alle prestazioni del singolo disco e della sua numerosità. Ci sono altri parametri che influenzano la velocità (come per esempio la cache)  ma non sono così rilevanti in termini assoluti.

Per capire le prestazioni, osserviamo 2 misure : la velocità di lettura di dati da un raid e la velocità di scrittura dei dati in un raid.  Per arrivare a definire queste due variabili, in questo articolo indicheremo con “N” il numero dei dischi che compongono il raid e con “V” la velocità del singolo disco che compone il raid.

Le prestazioni di archiviazione vengono misurate in IOPS (operazioni di input/ouput per secondo). In effetti esistono due velocità diverse: parleremo di RIOPS per indicare le operazioni di lettura e WIOPS per indicare le operazioni di scrittura.

Quindi la variabile V che indica la velocità del singolo disco è in realtà la IOPS.

RAID 0

Il RAID 0 è il più semplice di tutti. Un certo numero di dischi vengono messi insieme e visti dal sistema come un unico grande disco. Non esiste ridondanza dei dati, quindi la rottura di uno solo dei nostri dischi comporta la perdita di tutti i dati.

Il RAID 0 è il più veloce di tutti.

velocità RAID 0 = (N dischi) * (V singolo disco)

In generale il RAID-0 composto da 2 dischi  è sempre più veloce di un singolo disco perché è possibile eseguire simultaneamente le operazioni di lettura e scrittura. Il RAID 0 divide i dati in blocchi e li distribuisce su più unità. Se per esempio devo leggere i numeri da 1 a 100 memorizzati dentro il mio raid, il controller del raid potrà leggere contemporaneamente i numeri da 1 a 50 e da 51 a 101 perché si trovano in blocchi diversi : quindi il tempo di lettura dei numeri a 1 a 100 sarà dimezzato.

RAID 1

Nel RAID 1 dati vengono copiati 2 volte. Ne consegue che la capacità totale dell’array ne risulterà dimezzata.

Il RAID 1 è utile per operazioni di lettura molto veloci, tuttavia è più lento durante la scrittura sui dischi, poiché i dati devono essere scritti due volte. RAID 1 richiede almeno due dischi fisici e può essere eseguito con un numero “pari” di dischi.

Dovendo scrivere 2 volte il dato la velocità si dimezza :

velocità SCRITTURA RAID 1 = (N dischi) * (V singolo disco) / 2

La velocità di lettura è uguale a quella del RAID 0 a parità di numero di dischi ma è doppia a parità di capacità totale : perché per avere la stessa capacità raddoppiamo ii dischi. Spiegando il raid 10  entreremo nel dettaglio dei calcoli perchè le velocità sono le stesse.

RAID 10

In pratica un RAID 10 è un raid 0 ma con i dati scritti 2 volte. E’ l’insieme di un raid 1 e di un raid 0 (1 + 0 = 10). Dato che lo stesso dato viene scritto 2 volte nel raid, la capacità totale del RAID risulta dimezzata.

Per fare un raid 10 occorrono minimo 4 dischi e numero di dischi pari.

 

Dovendo scrivere 2 volte il dato la velocità si dimezza :

velocità SCRITTURA RAID 10 = (N dischi) * (V singolo disco) / 2

In realtà a parità di capacità totale del raid e non del numero di dischi, la velocità di scrittura di un raid 0 coincide con quella del raid 10. Supponiamo di avere un raid 0 con 2 hard disk da 4TB, totale 8TB. Per avere la stessa capacità con un RAID 10, utilizzando lo stesso tipo di hard disk, dobbiamo comprare 4 dischi da 4TB. totale sempre 8TB (perché la capacità si dimezza).

velocità SCRITTURA RAID 0 = (N dischi) * (V singolo disco) = 2 * V

velocità SCRITTURA RAID 10 = (N dischi) * (V singolo disco) = 4 * V / 2 = 2 * V

Inoltre a parità di capacità, e quindi aumentando il numero di dischi per ottenere il raid 10, la velocità di lettura del raid 10 raddoppia rispetto al raid 0 per quanto detto sopra descrivendo la lettura dei dati in un raid 0

velocità LETTURA RAID 0 = (N dischi) * (V singolo disco) = 2 * V

velocità LETTURA RAID 10 = (N dischi) * (V singolo disco) = 4 * V

RAID 5

Per descrivere il RAID 5, introduciamo il concetto di parità. La parità è un valore di controllo dei dati : quando viene scritto un dato viene scritto anche il dato di parità che per esempio contiene il numero totale dei bit dei dati appena scritti. Questo è un dato di controllo : quando leggiamo i dati appena scritti se il numero totale dei bit non coincide con quelli di parità memorizzati prima, significa che il raid è in errore.

Per creare un raid 5 servono almeno 3 dischi. Uno dei dischi si può rompere ed il sistema continuerà a lavorare. Dovete però cambiare il disco rotto perchè, al successivo guasto di un altro disco, perderete tutti i dati.

La capacità totale di un array in RAID 5 e data dalla capacita totale dei dischi meno 1. Quindi nel RAID 5 si perde solo un disco. Per questo motivo è sicuramente il raid chc impiega meglio le capacità (e quindi il costo) dei dischi. Di contro è un raid molto lento.

Quando viene scritto un dato su un raid 5 il controller deve leggere la parità, verificarla e riscriverla. Ciò significa che un array RAID 5 dovrà leggere i dati, leggere la parità, scrivere i dati e infine scrivere la parità : quattro operazioni per ciascuna operazione effettiva di scrittura. La velocità di scrittura diminuisce, rispetto alla condizione normale di un fattore 4.

velocità SCRITTURA RAID 5 = (N dischi) * (V singolo disco) / 4

In un raid 5 uno dei dischi dell’array viene perso. Semplifichiamo dicendo che viene usato proprio per scrivere i dati di parità. Se quindi vogliamo ottenere un disco da 8 TB in raid 5, dobbiamo acquistare 3 dischi da 4TB.

velocità SCRITTURA RAID 5 = (N dischi) * (V singolo disco) = 3 * V / 4

velocità LETTURA RAID 5 = (N dischi) * (V singolo disco) = 3 * V

RAID 6

RAID 6 su RAID 5 con un ulteriore secondo livello di parità, quindi è più sicuro di RAID 5. Ogni operazione di scrittura richiede ai dischi di leggere i dati, leggere la prima parità, leggere la seconda parità, scrivere i dati, scrivere la prima parità e infine scrivere la seconda parità. La velocità di scrittura diminuisce, rispetto alla condizione normale di un fattore 6.

velocità SCRITTURA RAID 6 = (N dischi) * (V singolo disco) / 6

Quando si fa un raid un raid 6 si perdono ben 2 dischi. Se quindi vogliamo ottenere un disco da 8 TB in raid 6, dobbiamo acquistare 4 dischi da 4TB. (nb in questo esempio raid 10 e raid 6 richiedono  entrambi 4 dischi ma nessuno, in queste condizioni, farebbe il raid 6 rispetto al raid 10 perché questo è più veloce)

velocità SCRITTURA RAID 6 = (N dischi) * (V singolo disco) = 4 * V / 6 = 2 * V / 3   (2 terzi più lenta del 10)

velocità LETTURA RAID 6 = (N dischi) * (V singolo disco) = 4 * V

IOPS E INTERFACCE

Dispositivo IOPS Interfaccia
Unità RPM 5400 75-100 IOPS SATA III
Unità RPM 7200 125-150 IOPS SATA III
Unità RPM 10.000 140 IOPS SAS
Unità RPM 15.000 175-210 IOPS SAS
Unità SSD 40K-100K+ IOPS* SATA III

Documentazione