Ho bisogno di clonare un server Linux funzionante. Non è possibile arrestare il server funzionante. Esiste un modo per ottenere un clone e distribuirlo su un altro server?
Ho bisogno di clonare un server Linux funzionante. Non è possibile arrestare il server funzionante. Esiste un modo per ottenere un clone e distribuirlo su un altro server?
Risposte:
Esistono molti modi per copiare dischi, file system o file. Generalmente, la copia del file system ti dà un buon clone con la flessibilità che può avere dimensioni leggermente diverse sul sistema di destinazione. Con il sistema di destinazione che esegue una sorta di Linux live (knoppix, ubuntu live, ecc.), Avviato da un cdrom, puoi creare le partizioni sul disco usando fdisk o la tua applicazione di partizione preferita. Supponendo di avere un server SSH in esecuzione sul sistema di origine, adottare un approccio simile al seguente:
http://www.linuxfocus.org/English/March2005/article370.shtml
La magia sta accadendo in questo comando:
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
Quando si utilizza un metodo particolare per clonare i dischi in un ambiente Linux live, l'unica preoccupazione sarebbe probabilmente con i database. Il modo migliore per eseguire il backup e il ripristino di un database è utilizzare il loro strumento di dump per creare un'istantanea del file ASCII del database appena prima del dump del file system. Per mysql c'è:
mysqldump --all-databases > mysql_databases.sql
Per postgresql, c'è:
pg_dumpall > pg_databases.sql
Se si riscontra un errore di coerenza nel nuovo sistema, ripristinare il database. In alternativa, una volta disattivati i servizi sul sistema di origine, eseguire nuovamente il dump del DB e ripristinare sulla destinazione e non si perderanno i dati modificati di recente.
Costruisci un layout del disco sul nuovo computer come lo desideri.
Utilizzare rsync per trasferire il contenuto del disco. Ripetere alcune volte per recuperare completamente.
Sulla nuova macchina sperimenta ciò che dovrai fare in più per avviare correttamente. Grub, ad esempio, e si trova in uno stato coerente.
Fino a quando non è possibile spegnere la vecchia macchina, sincronizzarla a intervalli regolari per mantenere il nuovo disco vicino a quello vecchio.
Quindi porta quello vecchio in modalità manutenzione, rsincronizza ancora una volta, e avvia quello nuovo che dovrebbe presentarsi comportandosi come quello vecchio.
Il mio collega giura di System Imager:
http://wiki.systemimager.org/index.php/Main_Page
Non so quanto funzionerebbe bene per i sistemi "live".
Altrimenti penso che tu sia bloccato a fare le cose manualmente:
A condizione che sia possibile riportare i database in uno stato coerente sul disco, è possibile semplicemente utilizzare DAR per creare una copia di tutto, quindi riscriverlo sul nuovo server.
Sincronizzare i tuoi database su uno stato coerente sul disco può essere complicato, ma solo scattare un'istantanea e poi ripristinarla dopo aver ripristinato l'immagine DAR potrebbe funzionare. DAR influirà sulle prestazioni del server mentre è in esecuzione.
Una volta ottenuta l'immagine, tuttavia, è possibile modificare le impostazioni di rete e dovrebbe essere in grado di ripristinarlo senza problemi.