Virtualisering med VirtualBox

Hvad er virtualisering

Virtualisering er grundlæggende at lave en computer i computeren, hvor den virtuelle maskine får tildelt nogle af den fysiske computers ressourcer, som f.eks. RAM, netkort, Harddisk, tastetur og skærm. Nyere computere har masser af RAM og harddiskplads, og flere kerner i CPU'en, og især på serverområdet kan dette udnyttes. På en fysisk maskine kan der således kører flere virtuelle servere, og hvor man relativt simpelt kan tilføje eller fjerne ressourcer.

I denne sammenhæng vil vi anvende virtualisering til at teste og konfigurere klientsystemer som Windows 7 og Ubuntu 14.04. Vi kan forbinde disse systemer med den fysiske computers netværksforbindelse, eller lave helt lukkede netværk. På denne måde behøver vi ikke at have fysiske computere, routere, switches og kabler, men vi kan virtualisere det og arbejde med det som om vi sad foran en fysisk computer.

I denne vejledning vil du blive ført igennem at:

  1. Installere VirtualBox
  2. Oprette en virtuel maskine
  3. Konfigurere et NAT-netværk (Valgfrit)
  4. Konfigurere en virtuel maskine
  5. Få overblik over virtuelle netværk
  6. Anvende VirtualBox funktioner i den virtuelle maskine

Punkt 3 er valgfrit, da det kun er vigtigt hvis du vil have flere virtuelle maskiner på samme virtuelle netværk. Anvender du en direkte forbindelse (netværksbro), så vil din virtuelle maskine være koblet på det samme net som rigtige PC er på.

Konkret vil du blive ført igennem at oprette en virtuel maskine, installere Ubuntu 14.04 på den.

Installation af VirtualBox

Virtualbox hentes på hjemmesiden: https://www.virtualbox.org/wiki/. Her er der installationsvejledninger til både Linux, OS X og Windows

Under installationen bliver Virtualbox nød til at genstarte netværket, og det skyldes at den skal have konfigureret netværksadgangen. Netop fordi vi roder med netværket er det en rigtig god ide at genstarte computeren efter installationen.

Når man arbejder med virtualisering skal man være opmærksom på at man kan komme ud for fejl der ikke findes i et fysisk netværk. F.eks. kan andre programmer man har installeret på computeren ændre i værtsmaskinens netværkskonfiguration. Dette gælder specielt for windows computere.. Det kan betyde at Virtualbox' netværket kan ophøre med at fungere. Derfor kan det være nødvendigt at geninstallere Virtualbox en gang imellem, for at få de nødvendige netværksindstillinger gendannet. Dette skyldes ikke Virtualbox, men at windows tillader nogle programmer at ændre i dens netværkskonfiguration.

Installation på Ubuntu

Virtualbox installeres efter metoden angivet på hjemmesiden: https://www.virtualbox.org/wiki/Linux_Downloads

Opdater repositories og styresystemet

sudo apt-get update && sudo apt-get dist-upgrade -y

Tilføj Virtualbox' repository til afslutningen af /etc/apt/sources.list

sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" >> /etc/apt/sources.list.d/virtualbox.list'

Hent og tilføj sikkerhedsnøglen

wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

Opdater repositories og styresystemet

sudo apt-get update && sudo apt-get upgrade -y

installer Virtualbox 5.1

sudo apt-get install dkms virtualbox-5.1 -y

Tilføj din bruger til vboxusers gruppen

sudo adduser *din_bruger* vboxusers

Første opstart

Ved første opstart er vinduet tomt og have følgende udseende.

Installation af extension-pack

For at kunne anvende USB2/3 og avanceret 3D understøttelse skal du installere VirtualBox' "extension pack". Den skal hentes på selve hjemmesiden: https://www.virtualbox.org/wiki/Downloads.

Ved at installere denne pakke ændres licensen fra at være Opensource til at være PEUL (Personal Use and Evaluation License. Generelt kan den anvendes frit hvis det er:

  • privat på en enkelt PC og med højst en klient koblet til
  • i undervisningssammenhæng som lærer og studerende
  • til evaluering (et par uger)

Læs selv betingelserne igennem i starten af PEUL'en (https://www.virtualbox.org/wiki/VirtualBox_PUEL).

Efter download navigere du hen til filen og dobbeklikker på den, accepterer betingelserne og genstarter Virtualbox.

Overblik over VirtualBox

Virtualiseringssoftware er specialiseret og komplekst. Der er mange begreber, metoder og arbejdsgange der skal læres og arbejdes med. Det som softwaren gør, er at den emulerer (efterligner) en fysisk PC hvor man har stor frihed til at konfigurere den virtuelle hardware, og at ændre på den løbende.

For at få et overblik over hvordan programfladen er opbygget vil jeg her vise det ved et screenshot af vinduet med flere virtuelle maskiner og hvor de er grupperet.

  1. Ikoner til at oprette, konfigurere og starte virtuelle maskiner.
  2. Valg mellem om du vil se den den virtuelle maskines opsætning eller antallet af øjebliksbilleder.
  3. Oversigt over de installerede virtuelle maskiner. De virtuelle maskiner kan grupperes, så man får et bedre overblik.
  4. Datavindue hvor man får overblik over konfiguration eller øjebliksbilleder.

Oprettelse af Virtuel maskine

Herunder vil vi oprette en virtuel maskine til Ubuntu 14.04.4 x64, som du kan hente her: http://releases.ubuntu.com/14.04/ubuntu-14.04.4-desktop-amd64.iso. Med en god Internetforbindelse skulle den gerne være hentet når du skal anvende den.

Guidet mode

For at oprette en ny virtuel maskine skal den først konfigureres. Det gøres igennem en guide, som startes ved at klikke på "Ny" i øverste venstre hjørne. Når du vælger "Ny" kommer der et vindue frem, hvor du skal vælge "Expert mode". På den måde skal man kun igennem 2 vinduer for at have konfigureret sin virtuelle maskine.

På det første vindue skal du angive:

Navn Ubuntu 14.04 Navnet på den virtuelle maskine
Type Linux Hvilken type operativ system. Indstiller sig selv når du har skrevet Ubuntu i navnefeltet.
Version Ubuntu (64-bit) Hvilken version af operativsystemet du vil installere. Indstiller sig selv når du har skrevet Ubuntu i navnefeltet.
Hukommelsesstørrelse 2048 (4096) Mængden af RAM maskinen skal have. Har din PC 16GB RAM anvendes 4096kb.
Hard disk Create a Virtual hard disk now

Under installationen har VirtualBox oprettet en mappe (VirtualBox VMs), hvori du installerer alle dine virtuelle maskiner. Den vil blive installeret i en mappe med samme navn du angiver her.

Herefter skal du angive størrelsen, typen og hvordan harddisken skal installeres. I denne sammenhæng vil vi blot anvende VirtualBox's eget format VDI. Den kan oprettes på to måder. Enten hvor der oprettes en fil der har den samme størrelse som du angav ovenfor eller hvor den bliver "dynamisk allokeret". Det sidste betyder at harddisken kun fylder det samme som der bliver lagt på den. I denne sammenhæng vælger vi det sidste, da den er den mest fleksible.

Efter du har trykket "Opret" har vi en funktionel virtuel maskine, som nu kan konfigueres specifikt til vores behov.

Konfiguration af NAT-netværk (valgfri)

Nedestående er kun nødvendigt hvis du ønsker at lave et lukket natnetværk med flere computere, f.eks. til at afprøve både klient og serverdelen i Ubuntuguiden og ikke ønsker at rekonfigurere dit fysiske netværk. Ønsker du blot at virtualisere en enkelt maskine så gå videre til næste kapitel.

Vælg menuen: Fil -> Indstillinger, eller tast Ctrl+g og marker herefter Netværk

Klik på for lave et nyt natnetværk.

Marker netværket og klik på

Det eneste du skal lave om på er, at fjerne fluebenet ved Understøtter DHCP. Det vil være for omfattende i dette materiale at forklare netværket. Det vigtigste er, at gateway-adressen er 10.0.2.1 (den første ledige adresse), som sørger for at der er forbindelse mellem det virtuelle netværk og værtscomputerens net.

Når du senere skal konfigurere netværket på de computere der skal ligge på nettet gælder det at:

Gateway 10.0.2.1
IP-adresser 10.0.2.5-10.0.2.254
Netmaske *IP*/24 eller 255.255.255.0 (Henholdsvis CIDR metoden og den fulde IP)
DSN 8.8.8.8 eller 8.8.4.4 (Googles DNS servere)
37.235.1.174 eller 37.235.1.177 (Free DNS - ingen logning)

De ovenstående informationer skal anvendes hvis du vælger at anvende NAT-netværk, da der er problemer med DNS integrationen i VirtualBox' NAT-netværk. Vi vil af praktiske årsager også inddele IPadresserne, sådan at 10.0.2.10 - 10.0.2.99 anvendes til statiske (faste) IP-adresser (f.eks. servere) og 10.0.2.100 - 10.0.2.200 til DHCP.

Beskrivelse Start IP Slut IP
Statiske (faste) adresser 10.0.2.5 10.0.2.99
Dynamiske adresser 10.2.2.100 10.0.2.200

Hvis du senere ønsker at fjerne et netværk, markerer du NAT-netværket og klikker på

Konfiguration af den virtuelle maskine

Generelt

Under generelt er der 4 faner.

Basic Under denne menu undstilles det mest basale: Den virtuelle maskines navn, og typen af operativsystem

Behold standardindstillingerne
Avanceret Her vælges mappen der skal indeholde øjebliksbilleder (snapshots), til at kunne gendanne den virtuelle maskine til en tidligere tilstand. Her indstilles også om der kan kopieres til og fra den virtuelle maskine ved hjælp af udklipsholderen

Ændr både "Delt udklipsholder" og "Drag'n'Droop" til "Begge Veje", Det giver det bedste workflow. Det kan kun anvendes i GUI.

"Øjebliksbillederne" bliver som default installeret i en undermappe, i den samme mappe som den installeres i.
Beskrivelse Her kan der laves en uddybende beskrivelse og noter til den virtuelle maskine.

Behold standardindstillingerne
Encryption Under denne fane er det muligt at kryptere den virtuelle maskine.

Behold standardindstillingerne

System

System har tre faner:

Bundkort Her sættes de parametre der ligger på et bundkort (RAM, enheder, Chipsæt).

Fjern Diskettedrev fra opstartrækkefølgen
CPU VirtualBox afsætter som standard en processor til at køre den virtuelle maskine. Kræver den virtuelle maskine flere CPU kræfter kan det sættes her.

Behold standardindstillingerne
Acceleration Moderne CPU'er og styresystemer tilbyder acceleration til virtuelle maskiner. De er som standard slået til.

Behold standardindstillingerne

Skærm

Skærm har tre faner

Screen Her indstilles parametre for skærmen. .

Ændr "Grafikhukommelse" til 128 MB
sæt et fllueben i "Tillad 3D-acceleration", hvis du har installeret extension pakken..
Fjernskærm Her sættes indstillingerne for at andre maskiner kan tilgå skærmen på den virtuelle maskine.

Behold standardindstillingerne
Videooptagelse Her er det muligt at slå videooptagelse af skærmen på den virtuelle skærm til.

Behold standardindstillingerne

Lagerenheder

Lydkort

Netværk

Her skal du vælge netværkskonfiguration. I tabellen herunder er der en matricie over hvordan de 4 mest almindelige netværk anvendes:

Netværk Forklaring Adgang til
lokalnet
Flere
computeren
Internet
NAT Beregnet til en enkelt maskine. Nej Nej Ja
NAT-Netværk Beregnet til flere computere Nej Ja Ja
Netværksbro Den virtuelle maskine optræder som en fysisk maskine for alle computere på dit lokale netværk Ja Ja Ja
Internt netværk Et virtuelt netværk uden forbindelse til din fysiske maskine Nej Ja Nej
Værtsbegrænset netværk Et virtuel netværk der med et virtuelt netværkskort på den fysiske maskine. Det virtuelle netværk kan kun nås af din fysiske maskine som VirtualBox kører på Nej Ja Nej

Til et simpelt setup anvendes enten NAT eller Netværksbro.

Vil du lave et mere kompliceret setup, hvor du vil eksperimetere med klienter og servere bør du vælge NAT-netværk.

Serielle porte og USB

Hvis du har installeret Virtualbox extension pack kan du her tilføje f.eks. dit webcam eller en USB-disk til den virtuelle maskine.

Delte mapper

Hvis du ønsker at den virtuelle maskine skal kunne dele mapper med værten. Det kan f.eks. være relevant, hvis man installerer et ekstra styresystem på maskinen og vil have adgang til f.eks. ens dokumenter og billeder.

User Interface

Øjebliksbilleder

En af de helt store fordele ved at anvende virtualisering er, at man kan kan klone og tage øjebliksbilleder af sin virtuelle maskine. Ved at tage et øjebliksbillede kan man gå tilbage til dette punkt igen. F.eks. har jeg en fast praksis med at tage et øjebliksbillede af nye installationer efter jeg har opdateret dem. På den måde har jeg altid en frisk maskine at kunne starte forfra med, hvis der er noget jeg ønsker at arbejde med.

Herunder vil det blive vist hvordan man opretter og anvender øjebliksbilleder. Her anvendes kameraikonerne øverst til højre i

Oprettelse af øjebliksbillede

Herunder ser du en virtuel maskine hvor der allerede er lavet et øjebliksbillede da den var nyinstalleret. Vælg "Aktuelle tilstand" og klik på det blå kamera øverst i data vinduet.

Herefter kommer der et vindue frem hvor du kan tilføje en beskrivelse af øjebliksbilledet. Dette er praktisk, hvis man f.eks. eksperimenterer med forskellige indstillinger til programmet. På den måde kan man hele tiden komme tilbage til et tidligere punkt hvis noget ikke forløber som det skulle.

Herefter vil der være dannet et nyt øjebliksbillede, og alle ændringer vil ske i "aktuel tilstand". Læg mærke til at når du holder musen hen over øjebliksbilledet, så vil der komme en boks frem med en beskrivelse.

Læg mærke til at den "aktuelle tilstand" bygger på "Installation 1".

Gendannelse af øjebliksbillede

Når du markere et øjebliksbillede, bliver menuen oven over dem aktiv, og du får 4 ikoner til rådighed:

Ikon Forklaring
Genindlæser øjebliksbilledet
Sletter et øjebliksbillede
Viser informationer om øjebliksbilledet.
Anvendes til at klone maskinen (Vil blive gennemgået senere).

Her vælger jeg at gendanne "Nyinstalleret med gæstetilføjelser". Marker øjebliksbilledet og vælg ikonet "gendan". Herefter kommer der en advarsel om man ønsker at gendanne øjebliksbilledet.

Når det er gendannet erstattes den "Aktuelle tilstand" med det valgte øjebliksbilledet. Læg mærke til at den nye "Aktuelle tilstand" linker direkte til "nyinstalleret med gæstetilføjelser".

Sletning af øjebliksbillede

Hvis man ved der er øjebliksbilleder, som man ikke skal anvende mere, kan de med fordel slettes, for at spare harddisk plads.

For at slette et øjebliksbilleder sørger man for at indlæse et af de andre øjebliksbilleder, og er øjebliksbilledet ikke "rod" til andre øjebliksbilleder bliver blot slettet efter man har godkendt advarslen.

Hvis ens øjebliksbillede er rod til andre øjebliksbilleder bil disse blive "merged" (samlet). Det skyldes at øjebliksbillederne bygger videre på de oprindelige images, for at spare diskplads. Når man så sletter et underliggende øjebliksbillede, sørger Virtualbox for at skrive de to øjebliksbilleder sammen (merge). Det kan godt tage længere tid, da det kan være store mængder data der skal skrives til den nye virtuelle maskine.

Kloning

Nogle gange kan man have behov for at arbejde på en nøjagtig kopi (klon) af sin virtuelle maskine, f.eks. hvis man gerne vil have adgang til et større antal ens maskiner. VirtualBox har anvender fåret Dolly som ikon til dette.

Man bør altid klone en virtuel maskine, når den ikke er aktiv.

For at klone en maskine markeres den og der klikkes på klonings ikonet.

Navn

I "navn" skrives den nye klonede maskines navn. Dernest skal du tage stilling til hvordan maskinen skal klones:

Klontype

Forskellen mellem den fulde og den koblede klon er, at den fulde er uafhængig af den oprindelige maskine. Den koblede klon registrerer kun ændringer og anvender stadig den oprindelige virtuelle maskines harddiske og indstillinger.

Forskellen mellem de to klontyper er lettest at forklare ved hjælp af den koblede klon. Den koblede klon er afhængig af den oprindelige virtuelle maskine, og det eneste som registreres er de ændringer man foretager. Hvis den oprindelige virtuelle maskine slettes kan den ikke længere anvendes. Den fulde klon er en nøjagtig kopi af den oprindelige virtuelle maskine, og kan køre selvstændig. Den kan også kopieres over til en anden computer.

Anbefaling: Anvend altid den fulde klon, med mindre du mangler plads på din harddisk. Den koblede klon fungere udemærket, og kan være langsommere end den fulde klon.

Øjebliksbilleder

Her skal du tage stilling til om du ønsker øjebliksbillederne kopieret med over til klonen.
Anbefaling: Med mindre der er en god grund til det så fravælg øjebliksbillederne. Man bør alligevel ikke klone en virtuel maskine hvis den ikke er færdig konfigueret.

Reinitialiser MAC-adresse

Alle netværkskort er født med en unik MAC-adresse. Det er disse adresser netværket anvender til at holde styr computerne. Derfor bør du altid reinitialsere netværkskortet, hvis den klonede maskine skal anvendes sammen med den oprindelige maskine. Skal den erstatte den oprindelige maskine skal netværkskortet ikke reinitialiseres.

Kørsel af VirtualBox

I dette kapitel gennemgås, den praktiske anvendelse brug af virtuelle maskiner

Gæstetilføjelser

Når den virtuelle klient er installeret skal man installere gæstetilføjelserne. De gør, at operativ systemet kører bedst muligt.

Gæstetilføjelsen bliver installeret ved at vælge menuen: Enheder -> Indsæt Gæstetilføjelser CD-aftryk... og følg instruktionerne på skærmen.

Genvejstaster

Den virtuelle maskine
H_Ctrl+e Tag et skærmbillede af den virtuelle maskine
H_Ctrl+f Gå til fuld skærm
H_Ctrl+n Informationer om den kørende session
H_Ctrl+m Minimer den virtuelle maskine
H_Ctrl+s Opsætning af den virtuelle PC
H_Ctrl+t Tag et øjebliksbillede af den virtuelle maskine
H_Ctrl+Home Åbner menuen inde i den virtuelle maskine

Input
H_Ctrl+h Send et ACPI nedlukningssignal. Svarer til at trykke på tænd knappen.
H_Ctrl+p Sæt den virtuelle maskine på pause
H_Ctrl+q Giver dig et vindue hvor du kan vælge mellem at:

•   Gemme maskinens tilstand (Lukker maskinens ned, så den kan genstartes fra samme punkt)
•   Sende signal til nedlukning (svarer til at trykke på start knappen)
•   Slukke for maskinen (Svarer til at hive ledningen ud)
•   Indlæse forrige øjebliksbillede.
H_Ctrl+r Genstart den virtuelle maskine ved hjælp af reset
H_Ctrl+Backspace Svarer til Ctrl+Alt+Backspace
H_Ctrl+Delete Svarer til Ctrl+Alt+Delete

Virtuelle netværk

Netværks begreber

Herunder bliver nogle af grunbegreberne om netværk gennemgået:

Router Routeren er en intelligent bro mellem to netværk. Den sørger for at to forskellige netværk har forbindelse til hinanden. Routere har forskellige mekanismer til at styre netværkstrafikken, bl.a. NAT
LAN Local Area Network, er betegnelse for ens lokale netværk. I et hjem svarer det til alt det som man selv har sluttet til routeren.
WAN Wide Area Network er alt det som er uden for ens LAN, f.eks. Internettet.
Switch En switch danner et bindeled mellem flere computere og sørger for at fordele netværkstrafikken imellem dem.
IP-adresser En IP-adresse er computeren identitet på et netværk (TCP-IP). F.eks. beskriver adressen 159.20.6.38 dr.dk's webserver dr.dk.
DNS Domain Name System (server/service) er en tjeneste (funktionalitet) der sørger for at oversætte IP-adresser til navneopslag. Det er nemmere at huske dr.dk fremfor IP-adressen 159.20.6.38.
DHCP Dynamic Host Configuration Protocol er en tjeneste der sørger for at uddele IP-adresser til klienter. På den måde kan man centralt styre og konfiguere computeres netværksforbindelser
Klient En klient er en computer der bruger netværkets ressourcer. Den virtuelle maskine vil nogle gange blive omtalt som en klient (virtuel klient), da den netop anvender virtualiseringstjenesten på dens vært
Server, vært, host, En computer der udbyder ressourcer til netværket og virtuelle maskiner

Matricien herunder er en meget simpel gennemgang af VirtualBox' netværksmuligheder. Efter skemaet bliver de enkelte netværk grundere forklaret og vist ved hjælp af diagrammer.

Netværk Forklaring Adgang til
lokalnet
Flere
computeren
Internet
NAT Beregnet til en enkelt maskine. Nej Nej Ja
NAT-Netværk Beregnet til flere computere Nej Ja Ja
Netværksbro Den virtuelle maskine optræder som en fysisk maskine for alle computere på dit lokale netværk Ja Ja Ja
Internt netværk Et virtuelt netværk uden forbindelse til din fysiske maskine Nej Ja Nej
Værtsbegrænset netværk Et virtuel netværk der med et virtuelt netværkskort på den fysiske maskine. Det virtuelle netværk kan kun nås af din fysiske maskine som VirtualBox kører på Nej Ja Nej

NAT og NAT netværk

NAT (Network Adress Translation) er en netværkstjeneste der fungere som "bro" og omstilling mellem to netværk f.eks. LAN og WAN. Den letteste måde at beskrive det på er den Internet opkobling vi bruger privat. Når vi installerer en router fra vores udbyder har vi et "hul" ud til internettet, som har en specifik IP-adresse. For at routeren kan holde styr på det har det en tabel kørende som registrere hvilke computere der sender og modtager noget. Så når en computer på LAN siden beder om at se siden https://www.virtualbox.org/, så "overtager" routeren forspørgslen. For Virtualbox.org ser det ud somom det er din router der beder om adressen, men når routeren modtager svar fra Virtualbox.org, så laver videresender routeren svaret til din lokale maskine. Man siger at netværket er NAT'et.

Forskellen mellem forskellen mellem de to typer NAT netværk er, at det er muligt at sætte flere virtuelle maskiner på på NAT-netværket da dette netværk har indbygget en router.

Desværre er der en fejl i VirtualBox, så man ikke kan anvende DHCP i NAT-netværket. Det skyldes at computerne på netværket ikke får en DNS-adresse. Det betyder at computerne godt nok er på netværket, men at de ikke kan få kontakt med Internettet. Af den årsag er det bedst at slå DHCP helt fra og selv sætte alle indsstillingerne.

Netværksbro

Netværksbroen sætter den virtuelle maskine direkte på den virtuelle værts fysiske netværk. Den vil altså blive opfattet som en fysisk maskine på LAN af netværkets andre maskiner. Dette kan f.eks. anvendes hvis man ønsker at køre en selvstændig webserver.

For at konfigurere en netværksbro skal man vælge hvilket fysisk netværkskort man ønsker maskinen skal køre på. På Linux hedder netværkskortet ethX. eth er en forkortelse for ethernet og X er nummeret på netværkskortet. Første netværtkskort er nummer 0, næste er 1 osv.. Generelt bør man undgå at anvende WIFI (wlanX) til netværksbroer, da de kan være ustabile.

Internt netværk

Det interne netværk er helt afskåret fra den fysiske maskines netværk. Dette kan anvendes til test af ting, man ikke ønsker skal være tilgængeligt andre steder.

Værtsbegrænset netværkskort

Det værtsbegrænsede netværkskort er en speciel funktion der gør det muligt at have installeret netværkstjenester, som kun programmer på værtcomputeren skal have adgang til. Det kan f.eks. være et program der skal have adgang til en database, men det er kun den lokale PC der må have denne adgang. Ved at lave netværkskortet virtuelt, kan man altså ikke tilgå netværket uden at sidde ved den fysiske maskine.