Virtualiseringslösningar på Linux-system-KVM och VirtualBox

Virtualiseringspaket är medel för användare att köra olika operativsystem utan ”bara metall” hårdvara-i grund och botten kan du köra mer än ett operativsystem på en enda dator utan dubbelstart eller liknande tillvägagångssätt. Virtualiseringsprogram emulerar en riktig maskin och” lurar ” gästoperativsystemet att tro att det körs på en riktig dator. Förutom de mer uppenbara fördelarna hjälper virtuella maskiner att skapa en grönare och lättare att administrera datormiljön. Om man tittar på trenderna inom IT-branschen har virtualisering sett en ganska högkonjunktur de senaste åren, eftersom den passar begreppen verktygsberäkning och/eller programvara som en tjänst. Virtualisering kan vara användbart för dig om du är en företagsarkitekt, Utvecklare, hemanvändare eller i princip allt däremellan. Vi börjar med en kort introduktion om virtualisering i allmänhet, då kommer vi specifikt att behandla VirtualBox och KVM eftersom de verkar vara mest populära Open source-fullständiga virtualiseringslösningar. Du förväntas känna dig runt Linux-system, hur du installerar en Linux-distribution och hur du installerar programvara på den, även om vi visar dig hur du installerar de två ovannämnda virtualiseringspaketen på några av de populära Linux-distributionerna.

det finns två typer av virtualisering : en som kan köra gästsystemet som det är (som i, omodifierat) och en annan som begär en modifierad kärna på Gästens sida för att kunna köras. Den första kategorin heter full virtualisering, eftersom den emulerar en komplett hårdvarumiljö, den andra heter paravirtualisering , eftersom den inte emulerar hårdvara och därför behöver speciella ändringar på gästnivå, ett bra exempel på att denna typ av virtualisering är Xen. Dessa är en del av en större kategori som heter hardware virtualization, men det finns också andra (programvara, nätverk eller lagring, bland andra) virtualiseringstyper, som vi inte kommer att beskriva här. De två programvarorna vi kommer att prata om passar in i hela virtualiseringskategorin. Andra populära hårdvaruvirtualiseringstekniker inkluderar QEMU, Bochs, VMware, Parallels, HyperV eller OpenVZ.

prenumerera nyhetsbrev & RSS
prenumerera på RSS och nyhetsbrev och få senaste Linux nyheter, jobb, karriärrådgivning och handledning.

när är virtualisering användbar?

Linux-distributioner

Linux-världen är full av intressanta och frestande erbjudanden. Det finns över 600 (!) Linux-distributioner att välja mellan, vilket gör det svårt för en person som bara har en dator att prova dem alla, eller bara några till och med. LiveCDs är inte alltid till hjälp, så man kan behöva installera för att få kärnan i det. Varje Linux distribution release ger nya och spännande funktioner, och du kan känna spänningen och impulsen att installera och testa den. Ange virtualisering. Du laddar ner ISO, installerar distro i en virtuell miljö och du är bra att gå, allt på kort tid. Du gillar det inte, du tar bort det. Speciellt när du är ganska ny i Linux-världen och du kan bli förvirrad av det stora antalet tillgängliga distributioner, kan det bara vara vad du behöver. Om du är en utvecklare och behöver köra utvecklingsgrenen i din distro (tänk Fedora Rawhide eller Debian Sid) men det är för instabilt för vardagligt bruk, installera i en VM och börja utveckla.

andra operativsystem

detta sträcker sig till andra operativsystem du kanske behöver : kanske har du ett propgram som bara körs på Windows och du vill inte installera Windows bara för det enda programmet. Kanske vill du lära dig Solaris men saknar hårdvaran. Förutsatt att du har rätt Datorkonfiguration som stöder virtualisering, kan du nu göra det.

vad du behöver

moderna processorer har speciella CPU-instruktioner för hårdvaruemulering. Du kan leva utan, men du vill verkligen inte, eftersom värdoperativsystemet måste emulera den saknade virtualiseringsinstruktionen och detta kommer att sakta ner din gäst(er) avsevärt. Vi antar att ditt värd-operativsystem har Linux installerat och din CPU har nödvändiga virtualiseringsfunktioner. Det enklaste sättet att kontrollera om din CPU har vad som krävs, Gör

 $ egrep '(vmx|svm)' /proc/cpuinfo 

och om det returnerar antingen vmx (Intel-processorer) eller svm (AMD-processorer), är du bra att gå. Men det är naturligtvis inte den enda begäran på hårdvarusidan. Kontrollera webbsidan för systemet du vill installera som gäst för att kontrollera om du uppfyller dess hårdvarukrav. Vi rekommenderar minst 20 GB gratis i din hemkatalog och minst 2 GB minne på värden, så att du kan tilldela en genomsnittlig mängd 768 MB till gästen för optimal prestanda. Naturligtvis, om du vill köra flera virtuella maskiner (kanske parallellt), växer dessa krav avsevärt.

KVM eller VirtualBox?

först och främst, varför skulle vi erbjuda dig två virtualiseringspaket? Varför inte en för alla dina behov? Tja, vi tror på konceptet” rätt verktyg för jobbet”. KVM erbjuder några funktioner som VirtualBox inte gör och tvärtom. Det finns inget sådant i IT-världen som ett universellt verktyg, så det är viktigt att använda något som passar dina behov. Grundtanken är : om du vill installera en binär Linux-distribution som gäst, använd KVM. Det är snabbare och dess drivrutiner ingår i det officiella kärnträdet. Om din gäst involverar massor av kompilering och behöver några mer avancerade funktioner, och/eller inte är ett Linux-system, gå bättre med VirtualBox.

de tekniska skälen är ganska enkla: KVM är bättre integrerad med Linux, det är mindre och snabbare, och medan du kan använda den med andra gäster förutom Linux, fann vi att upplevelsen var ganska besvärlig : BSD: er tenderar att ha långsam I/O och Solaris (OpenIndiana, för att vara exakt) tenderar att få panik omedelbart efter att ha startat installationen ISO. Eftersom vi använder nuvarande versioner av BSD (och kompilerar/uppdaterar systemet från källan ofta) och också behöver Solaris, fann vi VirtualBox att vara ett bättre alternativ.

ett annat plus för Oracle VirtualBox är det faktum att det stöder suspend, det vill säga att du kan spara maskintillståndet på värdens hårddisk och stänga VirtualBox och när (åter)startar kommer systemet att hämta från var det lämnade. Det är därför vi hänvisade till källkompilering : om du har en bullrig maskin vill du inte lämna över natten men din Gentoo virtuella maskin sammanställer bara en ny gcc-version, avbryter maskintillståndet, stänger av värden och fortsätter imorgon.

vad du lär dig

vi visar dig hur du installerar KVM och VirtualBox och hur du installerar och konfigurerar en Linux-gäst på en Linux-värd. Exempel med andra Unices är mycket lika, så vi ser inget behov av att upprepa oss själva.

Installation

även KVM annonserar Solaris, BSD, ReactOS, Windows och andra som stöds gäster, våra erfarenheter var mindre än givande. Detta är inte en kritik, eftersom vi inte, i ärlighetens namn, sitta ner och undersöka frågan för mycket. Men det här är inte av latskap : efter att ha pratat med andra på nätet fann vi att vi inte är de enda med problem med Unix(-liknande) gäster förutom Linux, så vi gick bara med VirtualBox för dem. Som alltid kan din körsträcka variera: vi vill också använda KVM uteslutande för att det är mer ”gratis”, men på grund av de ovan nämnda problemen, som naturligtvis bara kan vara något specifikt för vår installation, var vi tvungna att använda VirtualBox. För närvarande är KVM utvecklad av Red Hat och kan enkelt installeras på de flesta Linux-distributioner. Som vi gjorde tidigare kommer vi bara att beskriva installationsprocedurerna för stora Linux-distributioner.

Fedora

eftersom Red Hat, sponsor för Fedora, nu utvecklar KVM, erbjuder Fedora en mängd verktyg för virtualisering. Den officiella dokumentationen, även om den är för Fedora 13, är tillämplig på senare versioner. Du kan bara installera KVM med

 # yum install kvm 

för att gå kommandoraden, eller du kan installera några grafiska verktyg som hjälper dig att hantera dina virtuella installationer :

 # yum install virt-manager libvirt libvirt-python python-virtinst 

du behöver inte utföra ytterligare kommandon eftersom installationsprocessen på Fedora markerar kvm-modulen för autoloading. Om du inte vill starta om, använd modprobe för att ladda modulen på plats.

Debian

Debians wiki kommer till undsättning ännu en gång, och om man följer instruktionerna kommer man att ha KVM installerat och redo att gå på nolltid. Det handlar om

 # apt-get install qemu-kvm libvirt-bin 

för att installera, installera och ha kvm-(amd|intel) kärnmodul laddad vid start.

Slackware

Slackbuild för KVM som du kan använda enligt denna guide. Om du har en modifierad kärna eller bara vill se till att din kärna har KVM aktiverat, skriv

 $ cat /boot/config |grep -i kvm 

och kolla även /etc/rc.d / rc.moduler för att se om kvm-modulen är inställd att laddas vid start.

Arch

wiki Arch Linux är en bra guide för allt KVM-relaterat. Eftersom Arch, som Slackware, är en DYI-distribution, kan du behöva ta några extra steg för att börja använda KVM. Installationen är så enkel som

 # pacman -S qemu-kvm 

samma steg ska tas här som på en Slackware-maskin : lägg till din användare, kontrollera att din CPU stöder virtualisering och att KVM är aktiverat i din kärna.

VirtualBox

Fedora

VirtualBox-webbplatsen erbjuder en repo-fil som ska läggas till i /etc/yum.repor.d / och utför sedan en

 # yum update

för att låta yum veta om din nya repo och indexera den. Utför sedan en

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

och du borde vara inställd.

Debian

vi vill inte ta ställning här, men det ser ut som att Debians dokumentation är bättre och grundligare. För att installera, skriv bara

 # apt-get install linux-headers-$version virtualbox-ose 

som installerar alla nödvändiga paket, kompilerar kärnmodulen för dig och ställer in den för att ladda vid start.

Slackware

SlackBuilds.org har en VirtualBox (Open Source edition, som är den enda vi kommer att prata om här). För en HOWTO på att använda slackbuilds, gå hit. Ytterligare information finns på linuxquestions.org, information som du kanske tycker är användbar, särskilt om du är på en Slackware 13.37 64-bitars maskin. Kom ihåg att läsa README av slackbuild och det borde vara ok.

Arch

archs dokumentation är användbar och komplett, i nivå med Debians, så du borde inte ha några problem med att hitta den information du behöver. Allt du behöver göra installationsmässigt är

 # pacman -S virtualbox qt 

och du är inställd. Du behöver Qt för GUI, om du behöver bara CLI, inte installera det.Resten av konfigurationsstegen liknar Fedoras så använd dokumentationen för att kunna komma igång.

prenumerera nyhetsbrev & RSS
prenumerera på RSS och nyhetsbrev och få senaste Linux nyheter, jobb, karriärrådgivning och handledning.

användning

som du kanske har märkt är vi emot att kopiera blint från en manualsida och försöka ersätta manualen. Vi kommer att beskriva allmänna och vanliga alternativ och kommandoradsflaggor (Ja, Vi rekommenderar användning av CLI när du arbetar med KVM och GUI när du arbetar med VirtualBox), men du läser manualsidan är viktigt, särskilt när det handlar om en bit av något komplex programvara som denna.

Lagring

vi rekommenderar att du skapar en separat katalog där du lagrar de virtuella diskbilderna och en annan separat katalog som innehåller ISO-filerna som används för installation. I slutändan vet bara du bäst hur du organiserar dina filer, men den här inställningen tror vi kommer att göra ditt liv enklare. För exempel, låt oss säga att vi vill installera Fedora. Vi märkte när vi använde KVM en något mindre bandbredd än den som finns tillgänglig från vår ISP, ett problem som VirtualBox inte verkar ha. Så installerar vi från DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

naturligtvis, om du föredrar curl, kget eller annan nedladdningshanterare, använd den. Detsamma gäller spegeln: använd en nära dig för snabbare nedladdning. Nu för att ställa in vår virtuella disk (s) miljö :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

innan vi går vidare rekommenderar vi att du kör kvm-img utan argument för att se dess huvudalternativ och diskformat. Vad den andra raden ovan gör: den skapar en virtuell diskfil (img-format) med namnet fedora15 och har 15 gigabyte i storlek.

Installation

nu är vi redo att starta installationen av Fedora 15 på vår nyskapade disk :

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

vad vi just gjorde : -m representerar storleken i megabyte av tilldelat minne,- boot berättar kvm den primära startenheten (tänk Windows-enhetsbokstäver),- cdrom är uppenbart, – hda är den första hårddisken (du kan använda mer än en disk, om du har utrymme, med-hdb är den andra disken, och så vidare), och vi använde ampersand i slutet av kommandoraden för att återfå kontrollen över terminalen. Ctrl + Alt kommer att ge / ta kontroll till / från den virtuella maskinen när det gäller mus fånga.

använda den virtuella maskinen

 $ kvm -m 768 -boot c -hda fedora15.img & 

förslag: skapa en fil i Kvm-HDD (eller namnet du valde för arbetskatalogen) med namnet fedora15.sh det kommer att innehålla ovanstående rad, göra den körbar och, när du behöver den, kör den bara :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

det handlar om det. Om du behöver fler alternativ, se kvm-manualsidan eftersom den är välskriven och hjälper dig säkert.

VirtualBox

skapa en virtuell maskin

VirtualBox GUI tar guiden tillvägagångssätt för att hjälpa dig att skapa en ny virtuell maskin och vi ser gränssnittet som en ganska smart mjukvara. Tryck Ctrl + N för att skapa en ny VM, ange sedan namnet du vill ge det (använd något suggestivt, som ”Fedora15x86_64”. Baserat på sådan namngivning bestämmer VirtualBox automatiskt vilken typ av system du vill ställa in och justera sig automatiskt.

välj sedan hur mycket minne du vill att Fedora ska ha, och VirtualBox försöker föreslå ett värde beroende på operativsystem och arkitektur. Vi rekommenderar att du inte går mycket lägre, eftersom din VM kan frysa på grund av problem utan minne (förresten kommer Anaconda att vägra att starta installationen i grafiskt läge med mindre än 768 MB). Skapa sedan hårddisken och ange dess storlek (rekommendationen relaterad till förslag gäller också här), fördela den dynamiskt (inte ett stort problem om du inte gör det, bara att vi tyckte att den här metoden var lite snabbare när det gäller I/O) och du är inställd. I huvudfönstret VirtualBox ser du din nya virtuella maskin listad och till höger, dess inställningar. Ändra dem som du tycker passar, och var noga med att starta från DVD. Om du har flera kärnor och vill använda dem är systemavsnittet platsen att gå till.

kör en virtuell maskin

efter installationen, stoppa VM och ändra startordningen så att du kan starta från hårddisken, börja sedan med att högerklicka på posten till vänster och, naturligtvis, ”Start”. Om allt är okej startar du nu Fedora 15 i en VirtualBox-miljö. Vi sa tidigare att Gäst OS på KVM och VBOX inte behöver ändringar. Medan vi hade rätt kan gästupplevelsen förbättras i VirtualBox med saker som helskärmsvy eller delade mappar genom att installera VirtualBox gästtillägg. Detta är i grunden en kärnmodul och några xorg-drivrutiner för gästen, som du kan installera på din nya Fedora genom att följa följande steg :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

starta om VM efter installationen, gå sedan till enhetsmenyn, välj ”Installera Gästtillägg”, som kommer att montera de befintliga Gästtilläggen ISO-bild på gästen (på /media) och, som root, gör bara

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

efteråt, starta om igen och du kommer att ha avancerade funktioner i VirtualBox till ditt förfogande.

slutsats

när det gäller att välja virtualiseringslösningar, som det är med redaktörer, skrivbordsmiljöer eller till och med operativsystem, har alla en personlig åsikt baserad på erfarenhet, läsning och vad deras vänner använder. Detta är vår erfarenhet, och vi inbjuder dig att experimentera och justera tills du hittar den bästa vägen att följa. Det finns naturligtvis andra virtualiseringsprogramvarupaket men det begränsade utrymmet skulle inte låta oss skriva om dem alla. Det här är de mest lämpliga lösningarna för en hemanvändare (öppen källkod, det vill säga), men det betyder inte att de inte används på företagsnivå också. Vi hoppas bara att detta hjälper dig att komma igång.

Lämna ett svar

Din e-postadress kommer inte publiceras.