Malmö 08.03.2012

VirtualBox

Beskrivning



Kopiering virtuella disken mellan olika datorer

Testar VB på min FreeBSD, samma som installerade jag jail på. Jag vill använda en virtuell disk VB som jag använder på ett desktop Ubuntu - kollar för backup möjligheter och migration av virtuella system till en annan dator med annat OS. Migrationsverktyg finns i menyn, innehåller guiden genom processen av kopiering av disken och alla de virtuella maskinens inställningar men jag vill testa en annan ideé. Desktop är Ubuntu + GNOME (IP 192.168.2.100), är den virtuella systemet en Ubuntu - ingen desktopsmiljö.

VB
   VirtualBox på Ubuntu

Jag kör sshd på Ubuntu och jag fjärrlogga in på FreeBSD server (IP 192.168.2.103) från desktop - med möjlighet att översända X, eftersom jag kommer att använda programmet med ett grafiskt gränssnitt.

/etc/init.d/ssh start
ssh -X pawel-bsd@192.168.2.103
Jag är på FreeBSD. Jag loggar in som root och öppnar filen med reglerna för brandväggen. Väljer de regler som gör att jag kan använda ftp - kommer att installera programmet:
vi /etc/ipf-ftp.rules
Lägg till regel till brandväggen så jag kan använda ssh i båda riktningarna:
pass out quick on xl0 proto tcp from any to any port = 22 flags S keep state
Ladda om reglerna:
ipf -Fa -f /etc/ipf-ftp.rules
Jag installerar ett binärt paket av VirtualBox Open Source Edition (ge upp portarna, för att installationen tar för mycket tid - ignorera varningar att de befintliga beroenden är nyare än den som krävs):
pkg_add -r virtualbox-ose
Laddar kärnmodulen VB:
kldload vboxdrv
Redigerar /etc/rc.conf:
vboxnet_enable="YES"
Jag skapar och registrerar en virtuell maskin ubu-123 från kommandoraden för att skapa lämpliga kataloger. Detta kan utelämnas och sedan skapa en maskin med ett grafiskt gränssnitt.
VBoxManage createvm --name "ubu-123" --register
Kopiera sedan den virtuella disken ubu-4.vdi från Ubuntu till FreeBSD:
scp "pawel-ubuntu@192.168.2.100:/home/pawel-ubuntu/VirtualBox\ VMs/ubu-4-R/ubu-4.vdi" /home/pawel-bsd/VirtualBox\ VMs/ubu-123/

VB körs från kommandotolken:

VirtualBox

VB
   VirtualBox på FreeBSD

Jag sätter på maskinen ubu-123 som hade en liknande konfiguration i Ubuntu - t.ex. 64MB RAM, nätverk - bryggad (på FreeBSD fysiska gränssnittet kallas xl0), väljer jag den importerad virtuella disk ubu-4.vdi.

Remote användning av virtuella disken över nätverket

Mitt mål är att använda en virtuell disk som inte befinner sig fysiskt på samma dator som VB. Detta möjliggör användning av virtuella diskar utan att kopiera dem. Virtuella diskar kan vara på en separat lagrings enhet i NAS medan en virtuell maskin på en dator med ett litet utrymme på sin hårddisk. I verkliga livet, är andra tekniker användas, såsom iSCSI - Jag använder ssh filsystem.

Kommer att använda den virtuella disk med en gäst Windows 7 från Ubuntu på FreeBSD med VB. VB köras på FreeBSD. Jag installerar fusefs-sshfs på FreeBSD:
 pkg_add -r fusefs-sshfs
Under installationen får jag viktiga instruktioner - överväga att använda omdirigeringar STDOUT till en fil. Adderar ett rad till /etc/rc.conf:
fusefs_enable="YES"
Starta sshfs - kanske första gången du behöver använda "onestart" istället för "start":
/usr/local/etc/rc.d/fusefs start
Jag skapar målkatalogen:
mkdir /usr/home/pawel-bsd/VirtualBox\ VMs/win7
Montera katalogen med en virtuell enhet från Ubuntu på en maskin med FreeBSD:
sshfs "pawel-ubuntu@192.168.2.100:/home/pawel-ubuntu/VirtualBox VMs/win7/" "/usr/home/pawel-bsd/VirtualBox VMs/win7/"

VirtualBox köras i grafiskt läge och konfigurerar jag den virtuella maskinen. Tyvärr har FreeBSD bara 256MB RAM och till det virtuella systemet kan jag tilldela endast 128MB RAM. Det visar sig att det inte räcker:

VB
  Windows7 på FreeBSD. För lite RAM

Repetera med den virtuella Ubuntu. I VB den enda förändringen är den typ av operativsystem och virtuella diskar.

VB
  Ubuntu på FreeBSD med en fjärransluten virtuella disken

Det fungerar långsamt, men jag tycker det är på grund av den lilla mängden RAM-minne. Jag räknar att om jag ger 64 MB för Gästen så VirtualBox på Host använder totalt ca. 120MB RAM. Här finns tecken på FreeBSD:

# freecolor -m -o
             total       used       free     shared    buffers     cached
Mem:           238        237          1          0          0          5
Swap:          477        101        376

Maximal transfer hastighet är i detta fall omkring 3400KB/sek, i genomsnitt cirka 1400KB/sek. Med hjälp av andra tekniker för dataöverföring borde vara bättre.
Virtuell maskin som körs i textläge, och 64MB RAM fungerar bra, men med små förseningar.

Man kan använda den samma disken samtidigt (men inte samtidigt) - på lokal och fjärr VB, men efter att ha installerat SSH på fjärrdisken - jag kan inte hitta det på lokala disken. Beåller inte heller nätverksinställningar och sparade filer. Det är som om de vore två separata enheter. Det verkar som själva enheten inte är allt som behövs för att utföra full migration.

VB
   Samma disken öppnad samtidigt på lokala och fjärr datorn. För den första gången och den sista.

UPDATE:
Det går att använda samma virtuella disken på två datorer - men inte samtidigt! Man kan förlora data - även förstöra disken. Så det bättre att använda den växelvist - ev. bara på en maskin och behålla disken på andra datorn som backup/storage. Mitt tidigare fel var att jag monterade disken i samma katalogen som den som använder remote maskin för sin VB. Jag tänkte att - samma som i lokala mount - alla befintliga filer i mount-katalogen blir "täckta" med dem nya, monterade filer. Men det fungera inte så. Man måste skapa en annan, tom katalogen som mount-katalog (på remote FreeBSD i mitt fall):

mkdir VirtualBox\ VMs/testing
sshfs "pawel-ubuntu@192.168.2.100:/home/pawel-ubuntu/VirtualBox VMs/ubu-5/" "/usr/home/pawel-bsd/VirtualBox VMs/testing/"
Sen skapa virtuell maskin utan disk. Man kan montera disken senare.

Export/import av virtuella maskiner

För den full migration det är bästa att använda verktyg från VB-programmet. Arkiv-menyn innehåller alternativ för att exportera och importera virtuella maskiner med alla inställningar som i själva verket kan redigeras under importen.

VB
  Import av en virtuell maskin till VB på FreeBSD

En kopia av den virtuella systemet väger 261MB. Virtuell disk behåller sina egenskaper, dvs - en dynamisk expandering till storleken av 4GB.