Copia di un server fisico in esecuzione su Virtual Box

7

Ho un server con Ubuntu 10.04. Poiché voglio testare alcuni lavori di manutenzione, come l'aggiornamento alla 12.04, ho pensato di creare una copia VM del server usando Virtual Box. Non ho un accesso fisico al server, quindi ho preso in considerazione le seguenti opzioni: I do

  • dd 'l'intero disco rigido a un'immagine raw sul mio pc e quindi crea un VDI fuori dall'immagine dd raw.
  • Installando la stessa versione di Ubuntu, installa l'aggiornamento e monta il VDI localmente e rsync il filesystem dal server al VDI montato creando una copia logica del server.

La soluzione rsync è un po 'più complicata, ma sembra risparmiare larghezza di banda e mi consente di creare una "copia" del server con una configurazione leggermente diversa (ad esempio un disco più piccolo).

Quale pensi sia il modo migliore per farlo? Uno dei metodi sopra? Uno diverso?

    
posta Guy 28.12.2012 - 13:09

2 risposte

3

L'utilizzo di rsync è risultato essere più problematico di quanto pensassi inizialmente:

  1. Il comando deve essere eseguito come root sul computer remoto.
  2. Non ho intenzione di abilitare il login root remoto.
  3. Il filesystem basato su LVM ed era una seccatura per montare la partizione di root effettiva della VM dall'interno di LVM nel file VDI.

Per questi motivi ho finito con un processo in 2 fasi:

  1. Copia tutti i file dalla macchina remota al computer host locale.
  2. Copia i file sul guest.

Alla fine sono andato con tar di base, anche se avrei potuto usare rdiffdir fornito da duplicity per risparmiare un po 'di larghezza di banda.

Ho iniziato creando un tunnel SSH che potevo usare per tunnelare i file tar in modo da non dover scrivere l'archivio sul filesystem che stavo copiando.

local$ ssh [email protected] -R 3000:localhost:3000
loacl$ nc -l 3000 > filesystem.tar.gz
remote$ sudo tar -vcz / --exclude={/dev,/proc,/sys,/tmp} | nc localhost 3000

Questo ha creato un archivio tar dell'intero filesystem nel mio computer host locale. Il passo successivo è stato decomprimerlo sul guest:

guest$ cd /
guest$ nc -l 3000 | sudo tar -xvz
local$ nc guest_ip 3000 < filesystem.tar.gz 

Nel mio caso /etc/fstab ha fatto riferimento ai filesystem con i loro UUID, quindi ho dovuto aggiornarlo con l'output di guest$ sudo blkid . Ho anche dovuto aggiornare le impostazioni di rete in /etc/udev/rules.d/70-persistent-net.rules (nomi interfaccia) e /etc/network/interfaces (indirizzi ip).

    
risposta data Guy 29.12.2012 - 20:33
2

Ammetto che il dd -approach o la creazione di un'immagine diversa del server è probabile che abbia problemi di larghezza di banda nel caso in cui si abbia solo accesso remoto al server.

Installare il server Ubuntu 10.04 su un VDI solo per poter copiare un'installazione esistente anche non è realmente necessario (ma potrebbe salvare un po 'di banda).

Consentitemi di suggerire il seguente approccio:

  • Crea una macchina virtuale con un disco rigido virtuale vuoto di dimensioni desiderate.
  • Avvia la VM con qualsiasi sistema live (Ubuntu) da un file .iso.
  • Partiziona il disco rigido (includi il flag di avvio e il formato con lo stesso file system del vecchio server)
  • Monta questa partizione al tuo ambiente live.
  • Copia tutti i file dal vecchio server alla partizione ancora vuota della tua VM

    rsync -avze ssh [email protected]:/ /<mountpoint>
    
  • Installa Grub risp. Grub2 all'MBR del disco VDI ora popolato.

  • Reboot.
risposta data Takkat 28.12.2012 - 14:18

Leggi altre domande sui tag