backup (clone) disco su server ubuntu a caldo

programmazione & dintorni
Rispondi
admin
Site Admin
Messaggi: 205
Iscritto il: dom mar 20, 2016 9:24 pm

backup (clone) disco su server ubuntu a caldo

Messaggio da admin »

Sicuramente è già capitata a molti l'esigenza di effettuare un clone del disco del server (da poter sostituire in caso di rottura) senza dover spegnere la macchina sulla quale probabilmente girano un web server, un blog, un forum e chi ne ha più ne metta
L'accortezza è quella di effettuarlo in un momento di minore attività della macchina e quindi di notte, ma comunque a macchina accesa e funzionante.
Ci sono riuscito ed è funzionato perfettamente. Qui di seguito è spiegato come effettuarlo e in fondo una considerazione
Vediamo cosa serve:

macchine e dischi
chiamiamo macchina A con ip 192.168.123.100 il server Ubuntu 14.04 (in funzione) con un disco da 1Tb da clonare a caldo (disco che chiameremo sda)
chiamiamo macchina B con ip 192.168.123.107 un pc con distribuzione Linux Ubuntu, un disco da 250 Gb per il sistema operativo e un disco da 1Tb sul quale clonare quello del server (disco che chiameremo sdc)

servizi
attivo il servizio ssh su entrambi i pc

altro
sulla macchina A (server) poichè la connetteremo in remoto dalla macchina B, e chiederemo di effettuare comandi da sudo, per non fare tornare errore tipo: nessun terminale tty attivo sulla macchina remota dovremo abilitare l'utente di A a poter lanciare il comando dd senza anteporre il sudo e quindi da superutente. Per fare ciò dovremo (sulla macchina A) modificare il file sudo con il seguente comando:

sudo visudo
aggiungere la riga: utente_macchina_A ALL = (ALL) NOPASSWD: /bin/dd if=/dev/sda

fatto questo possiamo passare sulla macchina B, aprire un terminale e digitare:

ssh utente_macchina_A@192.168.123.100 'sudo dd if=/dev/sda' | sudo dd of=/dev/sdc

dove dev/sda è il disco del server da clonare e dev/sdc è il disco di pari o superiore capacità posto nella macchina B sul quale verrà copiato settore per settore tutto il disco del server

se tutto è ok,nel terminale dovrebbe apparirvi la richiesta di password riferita alla parte della macchina B (in quanto su A lutente lo abbiamo abilitato precedentemente a poter eseguire il comando dd if=/dev/sda senza richiesta psw) e iniziare il processo più o meno lungo in base alla rete cablata che state usando per collegare i due pc (nel mio caso 10mb) e la capacità del disco (nel mio caso 1Tb)
Il processo di fatto è invisibile a meno che non vogliate ogni tanto vedere a che punto si è della clonazione e per farlo dovrete aprire (sempre sulla macchina B) un altro terminale e digitare:

sudo pkill -USR1 ^dd

nel terminale da dove avete lanciato il processo di clonazione dovrebbe apparirvi lo stato lavoro

conclusione: come ho detto nel mio caso in gioco vi erano una rete a 10mb e un disco da clonare da 1Tb, i tempi sono stati lunghissimi e il lavoro è stato effettuato in 24 ore... la cosa buona è che per tutto il tempo il server è stato up e con tutti i servizi funzionanti normalmente (webserver, blog,forum ecc)
Rispondi