Il modo migliore per clonare un sistema Linux live


17

Qualcuno sa come clonare un sistema Linux live? Ho un'installazione live che gestisce un sito di produzione. Il problema è che ho bisogno di clonarlo (senza farlo cadere), quindi spostarlo (ripristinare) su una macchina virtuale. In pratica sto migrando dall'hardware fisico all'hardware virtuale.


Dovrai eliminarlo indipendentemente, per avviarlo sulla macchina virtuale.
Ignacio Vazquez-Abrams,

L'hardware fisico sarà attivo -> la clonazione avviene -> passa alla VM -> cambia l'indirizzo dell'URL -> fatto. Ho bisogno di specifiche delle migliori pratiche per la clonazione di sistemi live.
Drewrockshard,

4
Il primo passo è provare a determinare quale sistema operativo è in esecuzione.
In pausa fino a nuovo avviso.

Risposte:


12

Sulla macchina di origine:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Questo scaricherà il file fs sul tuo computer di origine, lo copierà su ssh e sul computer di destinazione lo ripristinerà.

Naturalmente è necessario ripetere questo per ogni fs.

"Blowfish" è lì solo per renderlo più veloce per la compressione e la decompressione.


Questo sembra funzionare nel modo più efficiente.
Drewrockshard,

non riesco a renderlo simile al minuscolo r. ho fatto parte di questo lavoro separando -rf to -r -f, ma ora ripristina: opzione non valida - 'r' cat: opzione non valida - 'r'
rjt

4
Questa risposta è ancora valida? Cosa accadrebbe se avessi un servizio MySQL in esecuzione sulla scatola?
MirroredFate,

6

VMWare Converter può eseguire la maggior parte dei sistemi operativi moderni senza arrestare il server, ma come ha sottolineato Dennis, dobbiamo davvero sapere quale sistema operativo stai utilizzando.

Al termine, otterrai un'immagine virtuale del tuo server, anziché un'immagine del disco non elaborata, ma di solito è abbastanza buona per la maggior parte del lavoro, a seconda di ciò che vuoi fare con esso una volta che lo hai fatto.


Funziona su Fedora. Cordiali saluti, sto pianificando di immaginarlo per la virtualizzazione in seguito, probabilmente a Xen.
Str

Ai fini della virtualizzazione, se non sbaglio l'immagine deve essere nell'immagine virtuale piuttosto che nell'immagine del disco grezzo, giusto?
Str

1
@Str, se sai qual è il sistema operativo, modifica la domanda per dirlo e usa tag appropriati.
John Gardeniers,

@Str - è corretto, comunque non hai detto se avresti virtualizzato la macchina o no, solo che volevi clonarla.
Mark Henderson

1

In quale piattaforma VM stai migrando? VMWare ha un convertitore per Linux . Convertirà una macchina accesa.


Alla fine, è in casa e basato su VMWare. Il pannello di controllo è personalizzato, quindi in pratica dovremmo caricare un CD live ed espandere / estrarre / etc sulla VM. Non sono sicuro di poter accedere all'infrastruttura VM per fare il convertitore VMWare, ma tutto dipende da cosa è coinvolto. Per testare, comunque, stavo per provare a migrarlo su un virtualbox VM solo per vedere se questa dimostrazione di concetto funzionava affatto.
Drewrockshard,

Pensi che potrei eseguire il convertitore sulla macchina fisica e quindi "importare" il vm convertito in vmware (non ho mai usato il convertitore, quindi la mia terminologia potrebbe essere disattivata).
Drewrockshard,

Il convertitore non funziona davvero in questo modo. Dai un'occhiata a questo link. Dovrebbe mostrarti le basi di come funziona una conversione vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Jason Berg

Esiste un modo per aggirare l'importazione dell'infrastruttura vmware in modo che io possa conservare l'immagine "convertita" localmente sul mio sistema o devo migrare su un'altra infrastruttura (nessuna capacità locale)?
Drewrockshard,

Si noti che il convertitore VMWare (attualmente) richiede Windows, sebbene possa migrare un computer fisico Linux su una macchina virtuale.
Greg Glockner,

1

Dai un'occhiata al convertitore VMWare che a mio avviso consente la clonazione del sistema live.


1

Generalmente facciamo questo:

  • Avvia l'host virtuale di destinazione da un cd (o esegui il netboot)
  • Preparare i filesystem sull'host virtuale (ovvero, preparare i dischi, creare i file system e montarli).
  • Sincronizza i file dall'host fisico all'host virtuale
  • Installa il boot loader sull'host di destinazione

Funziona alla grande, purché i dati su cui stai copiando siano relativamente apolidi. Se ad esempio hai a che fare con un server di database, in particolare uno con molta attività, devi assicurarti che il database sia inattivo prima di effettuare il ritaglio finale ... quindi, qualcosa del genere, dopo tutto il resto è pronta:

  • Ferma il database
  • Eseguire una risincronizzazione finale dei dati
  • Chiudere l'host fisico
  • Avvia l'host virtuale

1
Quale comando rsync usate voi ragazzi?
Drewrockshard,

0

Guarda VMware Converter (è gratuito se hai vCenter) o Plate Spin (uno dei loro prodotti è un convertitore).

Plate Spin farà funzionare una macchina dal vivo, con tempi di fermo minimi da tagliare.

Con il convertitore VMware, eseguirà una macchina live (se c'è un database che potrebbe non essere sincronizzato), non averlo avviare la VM al termine. Quindi scollegare la vNIC e quindi avviare la macchina, accedere tramite la console e modificare gli IP, ecc. Quindi ricollegare la vNIC.


0

È impossibile ottenere un'istantanea coerente senza interrompere tutte le operazioni che potrebbero modificare lo stato del sistema.

A meno che l'applicazione non sia stata esplicitamente progettata per adattarsi a questo tipo di operazione (ovvero tutta l'elaborazione gestita tramite messaggi accodabili), è impossibile ottenere un'istantanea coerente senza arrestare il sistema (o almeno disabilitare il componente transazionale).

Tuttavia è possibile ridurre significativamente la finestra temporale per lo snap-shotting del sistema (ad esempio rimuovendo un mirror da un set RAID e rimontandolo altrove). E più breve è il tempo necessario per generare l'istantanea, minore è la probabilità che le transazioni coprano l'operazione.

E la maggior parte dei filesystem / DBS supporterà una sorta di journaling che dovrebbe consentire il ripristino o il rollback della maggior parte delle operazioni interrotte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.