How To: Headless VirtualBox 3.0 i Ubuntu Server.

Nu när äntligen min virtuella host server är uppe och kör bla. denna hemsida - eller snarare server, så tänkte jag att jag skulle dela med mig av det hela - vilket hjälpte mig när den första virtual-host servern valde att kryptera sig själv och jag fick installera om.

I denna guide så ska vi gå igenom:

  • Hur man installerar senaste VirtualBox 3.0 via Sun's VirtualBox förråd.
  • Hur man sätter upp och konfiguerar en virtuell gäst.
  • Hur man installerar en virtuell insats.
  • Hur man sedan hanterar den virtuella insatsen.

Obs! All installation sker på en CLI-maskin, alltså endast via en icke-grafisk miljö - bara via terminal.

Hänvisning och definition:

  • Med "virtuell insats" menas den virtuella datorn som körs på den "riktiga" (host) datorn som en vanlig dator.
  • Med "Virtuell" menas en/ett icke-fysiskt system/hårdvara. Som "låtsas" nätverkskort på ett annat eller dyl.
  • "ubuntu-server" är bara ett namn som jag har angett som exempel och du får välja ett eget.
  • "Bryggat nätverk" innebär just det att det skapas ett virtuellt nätverkskort på det fysiska, och som får ett eget IP ifrån samma DHCP-server som huvudservern.
  • "NAT-nätverk" innebär att den fysiska servern agerar precis som en router och delar ut ett eget IP till den virtuella server. Rekommenderas för er som bara får ett IP ifrån er ISP.
  • Sun har utmärkt dokumentation för VirtualBox som du finner här: http://www.virtualbox.org/manual/UserManual.html

 

Installation:

Först ska vi ta och lägga till förrådet i sources.list.

  1. Redigera /etc/apt/sources.list med din favoritredigerare. Jag rekommenderar nano;
    $ sudo nano /etc/apt/sources.list
  2. Lägg till raden längst ner i dokumentet och spara:
    deb http://download.virtualbox.org/virtualbox/debian jaunty non-free
  3. Nu ska vi importera nyckeln för förrådet:
    $ wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
  4. Uppdatera paketlistan och installera nödvändiga paket (headerfilerna för Linux-kärnan krävs bla.) och sedan VirtualBox 3.0:
    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    $ sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-3.0
  5. Klart!

 

Konfiguering:

Nu ska vi skapa och ställa in våran virtuella insats:

  1. Vi börjar med att skapa en virtuell maskin med namnet "ubuntu-server" och registrerar den i VirtualBox som en maskin:
    $ VBoxManage createvm -name "ubuntu-server" -register

  2. Nu ska vi köra ett kommando som gör en hel det och du kan ställa in det hur du vill. Vi vill att vår server ska ha tillgång till 256MB RAM, ha tillgång till ACPI och boota ifrån en virtuell DVD-läsare:
    $ VBoxManage modifyvm "ubuntu-server" -memory "256MB" -acpi on -boot1 dvd

  3. Här är ett val som du får välja själv hur du vill ha. Det första kommandot ger den virtuella insatsen ett eget IP via ett bryggat nätverk, medans det andra kommandot skapar ett NAT-nätverk. Det är alltså lite beroende på hur du vill ha det, eller hur du kan ha det. 'eth0' anger det nätverksgränssnitt som du vill använda och är alltså anpassningsbart.
    $ VBoxManage modifyvm "ubuntu-server" -nic1 bridged -bridgeadapter1 eth0
    $ VBoxManage modifyvm "ubuntu-server" -nic1 nat eth0

  4. Jag vet inte hur det är om du nu ska installera Windows, eller en annan GNU/Linux-dist än Ubuntu på din virtuella insats, men om du ska installera Ubuntu så krävs det att du aktiverar PAE annars så kommer kärnan inte kunna laddas. Därför aktiverar vi det:
    $ VBoxManage modifyvm 'ubuntu-server' -pae on

  5. Nu skapar vi den virtuella hårddisk som den virtuella insatsen ska använda som systemdisk. Detta anges i MiB, alltså nu är inte 1024Kb=1MB och 1024MB=1GB utan '10000'=10GB. Välj efter eget behag. Den virtuella disken kommer dessutom inte ta upp hela utrymmet direkt, utan kommer att växa systematiskt. Kommandot registrerar även disken så att VirtualBox kan använda den meddetsamma:
    $ VBoxManage createvdi -filename "ubuntu-server.vdi" -size 10000 -register

  6. Här anger vi vilken huvuddisk som den virtuella insatsen ska använda, alltså den virtuella disk vi precis skapade:
    $ VBoxManage modifyvm "ubuntu-server" -hda "ubuntu-server.vdi"

  7. Detta steg är lite beroende på vad du vill installera på din virtuella insats, och det är nu vi ska välja och registrera en .iso-fil som vi ska välja att installera ifrån. I det nedstående kommandot så installeras alltså Ubuntu 9.04 Jaunty Jackalope - Server Edition, byt efter eget behag:
    $ VBoxManage registerimage dvd /home/user/ubuntu-9.04-server-i386.iso
    $ VBoxManage modifyvm "ubuntu-server" -dvd /home/user/
    ubuntu-9.04-server-i386.iso

  8. Dags att faktiskt starta vår virtuella insats och sätta igång en installation:
    $ VBoxHeadless -startvm "ubuntu-server"
  9. När nu den virtuella insatsen startas så skapas en rdp-koppling så att du kan se vad som visas på den virtuella insatsens skärm. För att se denna så kan du köra detta kommando på en dator med grafisk miljö (IP byter du givetvis ut mot det som din virtual-host server har):
    $ rdesktop -a 16 192.168.1.1

  10. Nu ska du känna igen dig precis som en installation av en fysisk server, bara att köra!

  11. När installationen är klar så kör du nedstående kommando för att avmontera .iso-filen - men servern måste vara avstängd då.
    $ VBoxManage -q modifyvm "ubuntu-server" -dvd none

 

Installera Guest Additions - Linux:

Nu kan vi även ta och installera Guest Additions för lite extra prestanda och funktioner som fildelning.

  1. Montera Guest Additions i din virtuall instats (den virtuella insatsen ska vara avstängd):
    $ VBoxManage modifyvm "ubuntu-server" --dvd /usr/share/virtualbox/VBoxGuestAdditions.iso

  2. Starta din virtuella insats.
  3. Montera nu CD skivan under /media/cdrom på den virtuella datorn:
    $ sudo mount /dev/scd0 /media/cdrom
  4. Byt mapp till cdrom, där nu Guest Additions ligger:
    $ cd /media/cdrom
  5. Nu kör vi igång installationen av Linux Guest Additions och följer instruktionerna.
    $ sudo ./VBoxLinuxAdditions-x86.run

 

Installera VBoxTool:

VBoxTool är ett mycket enklare, och mer praktiskt verktyg att använda för att låta dina virtuella insatser att startas och stoppas med div.  små inställningar. Tex att de ska autostartas när host-datorn startas, eller att de ska sättas i vila när host-datorn stängs av.

  1. Ladda ned VBoxTool:
    $ wget http://downloads.sourceforge.net/project/vboxtool/vboxtool/0.4/vboxtool-...
  2. Packa upp arkivet med unzip (sudo apt-get install unip):
    $ unzip vboxool-0.4.zip
  3. Byt mapp till den uppackade:
    $ cd vboxtool/
  4. Flytta och gör huvud-filen körbar för att kunna användas:
    $ sudo mv script/vboxtool /usr/local/bin
    $ sudo chmod +x /usr/local/bin/vboxtool
  5. Flytta och kör processfilen körbar och låt systemet sedan finna den:
    $ sudo mv script/vboxtoolinit /etc/init.d
    $ sudo chmod +x /etc/init.d/vboxtoolinit
    $ sudo update-rc.d vboxtoolinit defaults 99 10
  6. Skapa nu mappen:
    $ sudo mkdir /etc/vboxtool
  7. Där i ska vi skapa två konfig-filer:
    $ sudo nano /etc/vboxtool/machines.conf
    I den ska detta stå tex:
    ubuntu-server,13478

    Den andra filen är:
    $ sudo nano /etc/vboxtool/vboxtool.conf

    Och i denna ska det stå tex, byt det mot ditt användarnamn:
    $ vbox_user='daniel'
  8. Klart!

Nu kan du använda VBoxTool för att hantera av- och påstängning av din virtuella insats:
Starta: $ vboxtool start ubuntu-server
Stoppa: $ vboxtool stop ubuntu-server
Visa status: $ vboxtool showrun


Tips:

Du kan välja en annan port för RDP än standardporten och dessutom välja att stänga av det helt:
$ VBoxHeadless -startvm "ubuntu-server" -vrdp on 12293
$ VBoxHeadless -startvm "ubuntu-server" -vrdp off

 

Dela filer mellan host maskinen och den virtuella insatsen:

  1. Skapa en utdelning:
    $ VBoxManage sharedfolder add "VM name"  --name "sharename" --hostpath /home/ubuntu/share

  2. Starta den virtuall insatsen (Guest Additions måste vara installerat) och montera utdelningen:
    $ sudo mount -t vboxsf sharename /media/mountpoint

Använd en fysisk disk i en virtuell insats (kan ge provblem):

 

  1. Först skapar vi en sorts "genväg" till den fysiska disken som den virtuella insatsen kan montera:
    $ sudo VBoxManage internalcommands createrawvmdk -filename /home/user/raw-disk.vmdk -rawdisk /dev/sdb -register
  2. Sen måste vi ställa in rättigheter så att du som användare kan använda den i den virtuella insatsen (kan behöva göras varje gång den virtuella insatsen startas):
    $ sudo chown ubuntu:ubuntu raw-disk.vmdk
    $ sudo chmod 666 /dev/sdb*

  3. Sen stänger du av den virtuella insatsen och aktiverar användning av den fysiska disken på den virtuella insatsen:
    $ VBoxManage modifyvm "ubuntu-server" -hdb /home/user/raw-disk.vmdk

 

Hoppas att guiden kommer till hands för er ;)

Kommentarer

Tack för denna guide. Jag har inte hunnit testa detta, men jag har länge velat köra virtualbox på min Ubuntu server.

Tack! Har visserligen precis installerat om min server så denna guide sparar jag tills nästa gång jag installerar om servern eller skaffar ny!

En fråga. Hur bestämmer jag vilken ip den virtuella datorn ska få? 

En till fråga. Om man har hårdvara för det, varför inte använda KVM och andra liknande tekniker? 

Det finns väl igen anledning att inte köra det då. Jag hade inte den hårdvara som krävdes för KVM och valde då istället något annat.Sedan så tillhör det även att VirtualBox är så otroligt enkelt att använda.

Grymt, tackar!

I had a dream to make my business, but I didn't have enough amount of money to do it. Thank God my friend suggested to take the personal loans. So I used the financial loan and realized my old dream.

Tackar! Använt din guide för att installera Solaris 11 Express på en VB under Ubuntu 10.10 Server, headless. Fungerar perfekt!

Hej, tackar för en bra artikel!Jag är på jakt efter en ersättare till den Vmware Server jag använt under flera år hemma.Dom (vmware) är inte så pigga att uppdatera den så det börjar bli jobbigt.

Jag har kikat på flera olika lösningar men eftersom jag vill ha största möjlighet i valet av gästOS så verkar Virtualbox bra. Eftersom värdmaskinen kör Ubuntu Server så blev din lösning intressat.

Har du några tips utöver denna artikel för nyare versioner av denna lösning?

Lägg till ny kommentar