Il momento più difficile per un sistemista? Scegliere l’ora giusta per il backup.
Che dipenda o meno dalle abitudini, scegliere il momento giusto per eseguire un backup su uno o più server non è quasi mai semplice. Il motivo è presto detto. Il backup sovraccarica il sistema ed è un grande divoratore di risorse, soprattutto di cpu.
Le operazioni più stressanti per il server sono :
- il dump dei database
- la copia dei file
- la compressione di database e file
Il backup segue spesso una procedura standard che comprende il salvataggio dei database e dei file presenti sul server con una successiva compressione di tutti i dati per facilitarne l’eventuale trasporto o archiviazione attraverso la rete.
In particolare copia e compressione influiscono pesantemente sulla cpu del server e diventano dunque operazioni che devono essere programmate in determinati momenti della giornata, solitamente in orari notturni quando il traffico attorno al server è scarso. D’accordo ma se ci venisse richiesto un backup nelle ore di punta, da consegnare con una certa urgenza?
Controllare lo scheduling sullo storage
Se la necessità di eseguire un backup durante uno di quei momenti in cui il server potrebbe trovarsi sotto carico è davvero urgente, possiamo affidarci a ionice.
Ionice permette di controllare come e quando un processo avrà diritto ad eseguire operazioni di scrittura e lettura su disco. Ionice consente di avviare un processo scegliendo fra tre modalità :
- real time
- best effort
- idle
Un processo avviato con un ionice in modalità idle, ovvero in classe 3, avrà accesso allo storage solo se nessun altro processo tenterà accessi IO al disco. Una funzionalità davvero comoda per evitare imbottigliamenti.
Per avviare il dump di un database utilizzando la funzionalità fornita da ionice digiteremo :
# ionice -c3 mysqldump --opt mydb > mydb.sql
Allo stesso modo potremo controllare la compressione dei file :
# ionice -c3 tar cxf directory.tgz directory
Controllare lo scheduling dei processi permette di evitare che un’applicazione diventi causa di disturbo per gli altri processi attivi sul sistema, funzione utile soprattutto su quegli ambienti server condivisi dove risulta molto importante calibrare e limitare l’utilizzo delle risorse da parte dei vari utenti.
Alla prossima.

Pingback: Il backup? Semplice come uno script « Servizi managed e gestione server – servermanaged.it blog