[MontelLUG] Ottimizzare/velocizzare tar in rete

LinuX de Lupis linus.de.lupis a virgilio.it
Ven 16 Set 2011 19:44:51 CEST


ubox :)
questo rti risolverebbe ogni problema!
usb over ip quindi non sul server, remoto ma come se fosse sul server

----- Original Message ----- 
From: "Samuele" <samuele.zanin a tiscali.it>
To: "Lista generale del MontelLUG" <montellug a montellug.it>
Sent: Thursday, September 15, 2011 9:55 PM
Subject: [MontelLUG] Ottimizzare/velocizzare tar in rete


Buonasera.
Posto di avere una macchina che fa backup tramite rnsapshot (qundi una
serie di file hardlinkati assieme), tengo un backup giornaliero per 90
giorni + 53 settimanali.
Posto che questo backup è di circa 350 GB a crescere.

Devo copiare questi 350 GB ogni giorno su un disco usb (faccio un tar
per preservare gli hard link).
La complicazione è posta dal fatto (per una serie di motivi che non sto
a spiegare) che il disco usb non è attaccato alla macchina che su cui
sono i dati, ma ad un'altra macchina più user friendly per l'utonto di
turno ed il disco è condiviso via samba.
Le due macchine sono collegate tramite una connessione ethernet a 100 MB
(effettivi 50).

Devo trovare il modo di far transitare questi 350 GB in un tempo
all'incirca di 6/8 ore.
L'utilizzo della copia su disco usb sarebbe solo in caso di crash della
macchina che fa i backup ed andrebbe ripristinato completamente tutto
l'archivio.

L'unico modo per far viaggiare quei dati su quella connessione in quel
tempo è la compressione.
I dati sono un misto, una stima approssimativa, dava un rapporto di
compressione massimo di 1 a 4.
Il primo tentativo è stato di tar + bzip2.
Velcità di circa mezzo mega al secondo.
Secondo tentativo tramite tar + gzip con livello di compressione 3.
Sembrerebbe un buon compromesso, ogni tanto saturavo la connessione di
rete, ma spesso, specie con file non comprimibili, tar + gzip andavano
alla velocità di 4 MB/s, mi è capitato di vedere anche che in alcuni
casi si saturava il disco in lettura (presumo a causa della presenza di
file piccoli (un fottio di operazioni di i/o, ma transfer rate di pochi
MB)).
Domani mattina saprò quanto ci sarà stato a fare la copia in queste
condizioni (stasera dopo 9 ore la copia era ancora in alto mare).

Possibili soluzioni:
1) Splitto il job di backup in più parti (attualmente le directory di
top level sono da 10 GB, 100 GB e 250 GB) e li lancio in contemporanea,
riuscendo a sfruttare i 2 core della macchina.

2) Mi ispirava il comando buffer, impostandogli ad esempio 1 GB di
cache, dovrei riuscire ad evitare che tar + gzip e copia in rete si
aspettino a vicenda, facendoli lavorare il più possibile in parallelo ed
al massimo della velocità (non l'ho ancora provato).

3) La soluzione ottimale sarebbe (se funzionasse, ma l'ho provato a casa
per altri motivi e non era affidabile) fusecompress. Questo memorizza i
file già compressi, quindi una volta fatto girare rsnapshot per la prima
volta, le volte successive la cosa sarebbe molto veloce.

Qualche altra ipotesi?
Ah, fare un rsync della directory di backup sul disco usb non è
fattibile in quanto il disco di destinazione DEVO tenerlo in ntfs dove
gli hard link non è che funzionino benissimo.



_______________________________________________
montellug mailing list
montellug a montellug.it
http://mail.montellug.it/mailman/listinfo/montellug_montellug.it





More information about the montellug mailing list