Meny
Är gratis
checka in
den huvudsakliga  /  FÖRBI / Vds KVM Ubuntu 14.04 med grafiskt skal. Rysslands dokumentation på Ubuntu

Vds KVM Ubuntu 14.04 med grafiskt skal. Rysslands dokumentation på Ubuntu

Tidigare skrev jag redan om installationen Qemu-kvm. i Debian.. Men enligt min mening visade sig informationen vara ofullständig. Dessutom ansåg jag inte några nyanser. Därför uppmärksammar jag en uppdaterad artikel om hur du installerar qemu-kvm-virtuell maskin. Gamla artikeln, naturligtvis, raderad.

Jag tror att förklara vad som är virtuell maskin, inte värt det. Du vet förmodligen det (om du läser den här artikeln). Om inte - . Vi kommer att bo direkt på sabet. Qemu-kvm. - Detta är ett projekt för att kombinera två märkbara (enligt min mening) full virtualiseringsteknik. Qemu. - Det här är en typ av datoremulator, som stöder de stora många hårdvaruarkitekturerna. Du kan köra nästan alla operativsystem för någon enhet (till exempel lanserade jag gamla versioner. Mac OS X.som för PowerPC.). Nackdelen med qemu är sin långsamhet på grund av bristen på en acceleration av tillvägagångssätt. Och sedan kommer ett annat projekt till räddningen - KVM. . Eller kärnan virtuell maskin. KVM är en Linux-kärnteknik som tillåter hårdvaruacceleration Med full virtualisering. Nackdelen med KVM är stödet till endast X86-arkitektur

Varför QMU-KVM? För Linux är detta det mest rekommenderade virtualiseringsprojektet. Det fungerar snabbare än VirtualBox. och VMware-spelare. (Enligt mina test) är KVM en teknik som är infödd till Linux. Plus, om du är en bra ägare speldator Med två videokort kan du installera i Qemu-KVM Fönster, vi bryter in i det ett av videokorten och glömmer omstart till ett annat operativsystem. Ville spela - lanserade en virtuell med fönster och spel. Prestanda kommer att vara 95% av prestanda som är installerat på "järn" av Windows. Men det är bara underbart, enligt min mening. Jag ska skriva en separat artikel om den. Det ska bli intressant:)

Nu ska jag beskriva planen för våra handlingar. Först kommer jag att utföra installationen i exemplet Debian 8,2 GNOME 64 bitÄven om det inte finns några speciella skillnader i andra grafiska miljöer. För det andra - jag kommer att beskriva arbete med KVM endast i grafiskt läge (vi lägger inte på servern). Därför kommer inga terminaler, skript och så vidare, som vanligen i fallet med serverns virtualisering. För det tredje rekommenderar jag att du dessutom läser QEMU och KVM-dokumentationen (Ladies Link i slutet av artikeln). Det är mycket användbart för dig om du vill ha ett maximalt att använda den fulla potentialen i denna bunt. Tja, ja, planen för våra handlingar är tydlig. Nu steg åtgärder:

  • qemu-kvm installation;
  • installera en grafikhanterare och ytterligare verktyg;
  • ställa in nätverksbroen;
  • skapa ett förråd för virtuella maskiner;
  • installera ett gästsystem.
Till att börja med, kontrollera om datorn stöder maskinvaru-virtualisering. För att göra detta, utför kommandot i terminalen:

egrep "(VMX | SVM)" / PROC / CPUINFO

I gruppens utgång bör vara närvarande heller vmxantingen svm.. Om det inte finns något - om virtualisering är aktiverad i BIOS (leta efter föremål Intel vt-i eller liknande för AMD.). Om det inte finns något - betyder det att det inte är lyckligt.

Installera de nödvändiga komponenterna:

sudo apt Installera Qemu-KVM Bridge-Utils Libvirt-Bin Virt-Manager

Vi lägger till dig till Libvirt-gruppen:

sudo adduser $ användar libvirt

Ange nu nätverket. För att alla Ventaal-bilar ska gå till nätverket och kommunicera med varandra måste du skapa en nätverksbro och virtuella nätverkskort för varje virtuell ( tryck på enheter). Sedan virtuella maskiner kommer vi att installera från grafiskt gränssnittDu behöver inte skapa manuellt tryck på "s. Virt Manager. Gör det för oss varje gång du börjar. Vi behöver bara konfigurera bron. Till att börja med, sätt på routing i kärnan:

sudo nano /etc/sysctl.conf.

Vi letar efter en sträng net.ipv4_forward \u003d 0 och ändra sitt värde till 1 . Spara och:

sudo sysctl -p.

Därefter kommer jag att anta följande: 1) På din dator finns det en lAN-kortTa emot IP-adressen från routern. 2) Du går online via ett 3G-modem, och ditt nätverkskort är gratis. Det här alternativet föreslår mer handgjorda, men det har kontrollerats upprepade gånger (på en av själva bilarna). Så öppna gränssnittsfilen:

sudo nano / etc / nätverk / gränssnitt

Standardinnehållet är:



auto Lo.
iface lo inet loopback

Ändra innehållet. För det första alternativet:

källa /etc/network/interfaces.d/*

# Loopback Network-gränssnittet
auto Lo.
iface lo inet loopback

Auto Eth0.
iface Eth0 Inet Manual

Auto BR0.
iface BR0 Inet Static
adress 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
nätverk 192.168.0.0.
broadcast 192.168.0.255
Bridge_ports Eth0.
Bridge_stp av.
Bridge_maxwait 0.
Bridge_fd 0.

För det andra alternativet:

källa /etc/network/interfaces.d/*

# Loopback Network-gränssnittet
auto Lo.
iface lo inet loopback

AUTO PPP0.
iface ppp0 inet wvdial

Auto Eth0.
iface Eth0 Inet Manual

Auto BR0.
iface BR0 Inet Static
adress 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
nätverk 192.168.0.0.
broadcast 192.168.0.255
Bridge_ports Eth0.
Bridge_stp av.
Bridge_maxwait 0.
Bridge_fd 0.
up Route del Standard BR0

Notera: Om du inte behöver automatiskt ansluta Internet via modemet efter starten av systemet, ta bort AUTO PPP0-linjen från config
iface ppp0 inet wvdial. Annars, se till att modemet sätts in i USB-porten när du startar systemet.

Vi sparar. Nu för ett alternativ med ett modem måste du installera uppringningsprogrammet wvdial:

sudo apt installera wvdial

Korrekt config (Obs: 3G-modem används som ett exempel Beeline.. Exempel på konfigurationer för andra modem som du enkelt kan hitta på Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d atz.
INIT2 \u003d ATQ0 V1 E1 S0 \u003d 0 & C1 & D2 + FCLASS \u003d 0
Init3 \u003d vid + cgdcont \u003d 1, "IP", "Home.Beeline.ru"
Dumma läge \u003d 1
ISDN \u003d 0.
Modemtyp \u003d USB-modem
Ny PPPD \u003d Ja
Telefon \u003d * 99 #
Modem \u003d / dev / tyacm0
Användarnamn \u003d Beeline.
Lösenord \u003d Beeline
Baud \u003d 9600.
Land \u003d Ryssland.
Auto Reconnect \u003d på
Auto DNS \u003d OFF
Tomgång sekunder \u003d 0

Vi sparar. Nu kommer modemet att slås på omedelbart efter att ha laddat systemet. UP Route Del Standard BR0-strängen raderar standardvägen genom bron. Om det inte är klart kan du inte ansluta till Internet, eftersom trafiken går på bron, och inte genom ett 3G-modem.

Sista etappen vi behöver säga larwallSå att han missade trafik från vår virtuella och tillbaka till nätverket. För att göra detta kan du gå på två sätt: skriv ett skript med flera regler för iptebles.som kommer att köras tillsammans med systemet, eller ange dessa regler manuellt och spara dem. Jag kommer att utnyttja det första alternativet. För det andra måste du installera paketet iptebles-persistent Och bara växelvis ange reglerna (med sudo). Så. Skapa ett skript (i någon textredigerare). Sätt in följande innehåll där:

#! / bin / sh

# Definiera det utgångsgränssnitt för vilket adressutbytet kommer att tillämpas (NAT)
iPTABLES -V -T NAT -A POSTROUTING -O PPP0 -J MASQUERADE

# Vi skickar alla paket som kom till modemet från globalt nätverk (0.0.0.0/0) till det lokala nätverket (192.168.0.0/24)
iPTABLES -V -A FORWARD -I PPP0 -O BR0 -S 0.0.0.0/0-192.168.0.0/24 -J Acceptera

# Vi skickar alla paket som kom ifrån lokalt nätverk (192.168.0.0/24) till Global (0.0.0.0/0)
iPTABLES -V -A FORWARD -I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J Acceptera

Hålla det till gateway.sh. och ge rätt att utföra (eller i filens egenskaper, eller i terminalkommandot chmod + x gateway.sh). Nu kan du antingen köra det manuellt, efter att systemet har laddats eller lägg till AutoLoad. För att göra det här, flytta manuset i ~ / .config / autostart (i filhanterare Slå på showen dolda fileroch du kommer att se katalogen .config i hemkatalogen).

Nu är allt klart att installera en virtuell maskin. Från applikationsmenyn kör Virt Manager (Virtual Machine Manager):

Högerklicka på linjen lokal värd. och välj Detaljer. Gå till fliken Lagring. Vi måste ange en katalog (eller disk / disk-avsnitt) för att lagra virtuella maskiner.

I nedre vänstra hörnet klickar du på plustecknet ( Lägg till pul), Anger jag typ av förråd och vägen till den.

På fliken NätverksgränssnittDu kan kontrollera om allt fungerar.

Klicka nu Fil - Ny virtuell maskin. Ange sökvägen till diskbilden, vilken typ av virtuell maskin. Ange sedan antalet RAM för det och antalet processorkärnor. Ange sedan vår lagring och klicka på Ny volym. Ange namnet, typen är kvar qcow2.och storlek. Det blir virtuellt hdd. Om du planerar att installera ett system med ett grafiskt skal och en massa program, ge platser mer (spelningar 50). På den sista fliken, lägg på ett tick på Ändra inställningar innan du börjarKontrollera det som nätverksenhet Vår bro är vald, skriver något namn för virtuella och klick Komplett. Du öppnar parametrarfönstret på den här virtuella maskinen.





Gå till fliken Cpuoch lägg på ett tick på Kopiera värdsystemprocessorinställningar.

Bredvid fliken Netto (Nästa), och specificera också vitio.. På fliken Visa Specificera Krydda.och på fliken Video - Qxl. Vanligtvis tillhandahåller denna bunt maximal produktivitet Rekrytera grafer, men om du vill kan du experimentera. Observera det för gästerna windows-system, Krävs separat installation QXL-drivrutiner (i Windows).


Nu när allt är klart, klickar du i det övre vänstra hörnet Starta installationen. Och vi sätter systemet som vanligt, med ett undantag: Så snart installationsprogrammet startar automatiskt justering av nätverket, tryck på Avbrytoch välj Ställ in ett nätverk manuellt. Ange önskad IP-adress för virtuella (i vårt fall 192.168.0.3 ), subnätmask ( 255.255.255.0 ), porten (gatewayen kommer att vara värdens adress, jag äter 192.168.0.2 ) och DNS-server (här skriv bara in Google 8.8.8.8 ). Och det är allt. Nästa gör ingenting. Sätt systemet och konfigurera. I allmänhet är allting. De beskrivna åtgärderna är sättet att ersätta, säger VirtualBox på mer bästa alternativet. Efter att ha läst dokumentationen förstår du hur breda möjligheterna till qemu-kvm. Jag har avsiktligt inte beskrivit här ytterligare konsolparametrar och metoder för att starta virtuella maskiner via terminalen, eftersom det inte alltid behövs på en hemmaskin. Jag kommer att skriva om den här separata artikeln, om hur du konfigurerar en multifunktionell server (som också kan fungera som en virtuell maskinserver). För dem som av någon anledning inte förstod vad som skrevs, eller förblev oförståliga stunder - jag föreslår att titta på videon, där jag inte beskriver, men jag ska visa dig hur allt är bra och melodi. Om du har några förslag eller tillägg till artikeln - skriv i kommentarerna.

Tidigare skrev jag redan om installationen Qemu-kvm. i Debian.. Men enligt min mening visade sig informationen vara ofullständig. Dessutom ansåg jag inte några nyanser. Därför uppmärksammar jag en uppdaterad artikel om hur du installerar qemu-kvm-virtuell maskin. Gamla artikeln, naturligtvis, raderad.

Jag tror att förklara vad som är virtuell maskin, inte värt det. Du vet förmodligen det (om du läser den här artikeln). Om inte - . Vi kommer att bo direkt på sabet. Qemu-kvm. - Detta är ett projekt för att kombinera två märkbara (enligt min mening) full virtualiseringsteknik. Qemu. - Det här är en typ av datoremulator, som stöder de stora många hårdvaruarkitekturerna. Du kan köra nästan alla operativsystem för någon enhet (till exempel lanserade jag gamla versioner. Mac OS X.som för PowerPC.). Nackdelen med qemu är sin långsamhet på grund av bristen på en acceleration av tillvägagångssätt. Och sedan kommer ett annat projekt till räddningen - KVM. . Eller kärnan virtuell maskin. KVM är en Linux-kärnteknik som låter dig tillhandahålla hårdvaruacceleration med full virtualisering. Nackdelen med KVM är stödet till endast X86-arkitektur

Varför QMU-KVM? För Linux är detta det mest rekommenderade virtualiseringsprojektet. Det fungerar snabbare än VirtualBox. och VMware-spelare. (Enligt mina test) är KVM en teknik som är infödd till Linux. Plus, om du är ägare till en bra speldator med två grafikkort, kan du installera i Qemu-KVM Fönster, vi bryter in i det ett av videokorten och glömmer omstart till ett annat operativsystem. Ville spela - lanserade en virtuell med fönster och spel. Prestanda kommer att vara 95% av prestanda som är installerat på "järn" av Windows. Men det är bara underbart, enligt min mening. Jag ska skriva en separat artikel om den. Det ska bli intressant:)

Nu ska jag beskriva planen för våra handlingar. Först kommer jag att utföra installationen i exemplet Debian 8,2 GNOME 64 bitÄven om det inte finns några speciella skillnader i andra grafiska miljöer. För det andra - jag kommer att beskriva arbete med KVM endast i grafiskt läge (vi lägger inte på servern). Därför kommer inga terminaler, skript och så vidare, som vanligen i fallet med serverns virtualisering. För det tredje rekommenderar jag att du dessutom läser QEMU och KVM-dokumentationen (Ladies Link i slutet av artikeln). Det är mycket användbart för dig om du vill ha ett maximalt att använda den fulla potentialen i denna bunt. Tja, ja, planen för våra handlingar är tydlig. Nu steg åtgärder:

  • qemu-kvm installation;
  • installera en grafikhanterare och ytterligare verktyg;
  • ställa in nätverksbroen;
  • skapa ett förvaring för virtuella maskiner;
  • installera ett gästsystem.
Till att börja med, kontrollera om datorn stöder maskinvaru-virtualisering. För att göra detta, utför kommandot i terminalen:

egrep "(VMX | SVM)" / PROC / CPUINFO

I gruppens utgång bör vara närvarande heller vmxantingen svm.. Om det inte finns något - om virtualisering är aktiverad i BIOS (leta efter föremål Intel vt-i eller liknande för AMD.). Om det inte finns något - betyder det att det inte är lyckligt.

Installera de nödvändiga komponenterna:

sudo apt Installera Qemu-KVM Bridge-Utils Libvirt-Bin Virt-Manager

Vi lägger till dig till Libvirt-gruppen:

sudo adduser $ användar libvirt

Ange nu nätverket. För att alla Ventaal-bilar ska gå till nätverket och kommunicera med varandra måste du skapa en nätverksbro och virtuella nätverkskort för varje virtuell ( tryck på enheter). Eftersom vi kommer att installera virtuella maskiner från det grafiska gränssnittet, behöver du inte skapa en manuellt kran. Virt Manager. Gör det för oss varje gång du börjar. Vi behöver bara konfigurera bron. Till att börja med, sätt på routing i kärnan:

sudo nano /etc/sysctl.conf.

Vi letar efter en sträng net.ipv4_forward \u003d 0 och ändra sitt värde till 1 . Spara och:

sudo sysctl -p.

Därefter kommer jag att anta följande: 1) På din dator finns ett nätverkskort som tar emot IP-adressen från routern. 2) Du går online via ett 3G-modem, och ditt nätverkskort är gratis. Det här alternativet föreslår mer handgjorda, men det har kontrollerats upprepade gånger (på en av själva bilarna). Så öppna gränssnittsfilen:

sudo nano / etc / nätverk / gränssnitt

Standardinnehållet är:



auto Lo.
iface lo inet loopback

Ändra innehållet. För det första alternativet:

källa /etc/network/interfaces.d/*

# Loopback Network-gränssnittet
auto Lo.
iface lo inet loopback

Auto Eth0.
iface Eth0 Inet Manual

Auto BR0.
iface BR0 Inet Static
adress 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
nätverk 192.168.0.0.
broadcast 192.168.0.255
Bridge_ports Eth0.
Bridge_stp av.
Bridge_maxwait 0.
Bridge_fd 0.

För det andra alternativet:

källa /etc/network/interfaces.d/*

# Loopback Network-gränssnittet
auto Lo.
iface lo inet loopback

AUTO PPP0.
iface ppp0 inet wvdial

Auto Eth0.
iface Eth0 Inet Manual

Auto BR0.
iface BR0 Inet Static
adress 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
nätverk 192.168.0.0.
broadcast 192.168.0.255
Bridge_ports Eth0.
Bridge_stp av.
Bridge_maxwait 0.
Bridge_fd 0.
up Route del Standard BR0

Notera: Om du inte behöver automatiskt ansluta Internet via modemet efter starten av systemet, ta bort AUTO PPP0-linjen från config
iface ppp0 inet wvdial. Annars, se till att modemet sätts in i USB-porten när du startar systemet.

Vi sparar. Nu för ett alternativ med ett modem måste du installera uppringningsprogrammet wvdial:

sudo apt installera wvdial

Korrekt config (Obs: 3G-modem används som ett exempel Beeline.. Exempel på konfigurationer för andra modem som du enkelt kan hitta på Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d atz.
INIT2 \u003d ATQ0 V1 E1 S0 \u003d 0 & C1 & D2 + FCLASS \u003d 0
Init3 \u003d vid + cgdcont \u003d 1, "IP", "Home.Beeline.ru"
Dumma läge \u003d 1
ISDN \u003d 0.
Modemtyp \u003d USB-modem
Ny PPPD \u003d Ja
Telefon \u003d * 99 #
Modem \u003d / dev / tyacm0
Användarnamn \u003d Beeline.
Lösenord \u003d Beeline
Baud \u003d 9600.
Land \u003d Ryssland.
Auto Reconnect \u003d på
Auto DNS \u003d OFF
Tomgång sekunder \u003d 0

Vi sparar. Nu kommer modemet att slås på omedelbart efter att ha laddat systemet. UP Route Del Standard BR0-strängen raderar standardvägen genom bron. Om det inte är klart kan du inte ansluta till Internet, eftersom trafiken går på bron, och inte genom ett 3G-modem.

Sista etappen vi behöver säga larwallSå att han missade trafik från vår virtuella och tillbaka till nätverket. För att göra detta kan du gå på två sätt: skriv ett skript med flera regler för iptebles.som kommer att köras tillsammans med systemet, eller ange dessa regler manuellt och spara dem. Jag kommer att utnyttja det första alternativet. För det andra måste du installera paketet iptebles-persistent Och bara växelvis ange reglerna (med sudo). Så. Skapa ett skript (i någon textredigerare). Sätt in följande innehåll där:

#! / bin / sh

# Definiera det utgångsgränssnitt för vilket adressutbytet kommer att tillämpas (NAT)
iPTABLES -V -T NAT -A POSTROUTING -O PPP0 -J MASQUERADE

# Vi skickar alla paket som kom till modemet från det globala nätverket (0.0.0.0/0) till det lokala nätverket (192.168.0.0/24)
iPTABLES -V -A FORWARD -I PPP0 -O BR0 -S 0.0.0.0/0-192.168.0.0/24 -J Acceptera

# Vi skickar alla paket som kom från det lokala nätverket (192.168.0.0/24) till Global (0.0.0.0/0)
iPTABLES -V -A FORWARD -I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J Acceptera

Hålla det till gateway.sh. och ge rätt att utföra (eller i filens egenskaper, eller i terminalkommandot chmod + x gateway.sh). Nu kan du antingen köra det manuellt, efter att systemet har laddats eller lägg till AutoLoad. För att göra det här, flytta manuset i ~ / .config / autostart (I filhanteraren, sätt på visning av dolda filer, och du kommer att se katalogen .config i hemkatalogen).

Nu är allt klart att installera en virtuell maskin. Från applikationsmenyn kör Virt Manager (Virtual Machine Manager):

Högerklicka på linjen lokal värd. och välj Detaljer. Gå till fliken Lagring. Vi måste ange en katalog (eller disk / disk-avsnitt) för att lagra virtuella maskiner.

I nedre vänstra hörnet klickar du på plustecknet ( Lägg till pul), Anger jag typ av förråd och vägen till den.

På fliken NätverksgränssnittDu kan kontrollera om allt fungerar.

Klicka nu Fil - Ny virtuell maskin. Ange sökvägen till diskbilden, vilken typ av virtuell maskin. Ange sedan antalet RAM för det och antalet processorkärnor. Ange sedan vår lagring och klicka på Ny volym. Ange namnet, typen är kvar qcow2.och storlek. Det blir en virtuell hårddisk. Om du planerar att installera ett system med ett grafiskt skal och en massa program, ge platser mer (spelningar 50). På den sista fliken, lägg på ett tick på Ändra inställningar innan du börjar, Kontrollera att vår bro är vald som en nätverksenhet, skriv något namn för virtuella och klicka Komplett. Du öppnar parametrarfönstret på den här virtuella maskinen.





Gå till fliken Cpuoch lägg på ett tick på Kopiera värdsystemprocessorinställningar.

Bredvid fliken Netto (Nästa), och specificera också vitio.. På fliken Visa Specificera Krydda.och på fliken Video - Qxl. Vanligtvis ger denna gäng maximal ritningsprestanda, men om du vill kan du experimentera. Observera att för gästsystem Windows krävs en separat QXL-drivrutinsinstallation (i själva Windows).


Nu när allt är klart, klickar du i det övre vänstra hörnet Starta installationen. Och vi sätter systemet som vanligt, med ett undantag: Så snart installationsprogrammet startar automatiskt justering av nätverket, tryck på Avbrytoch välj Ställ in ett nätverk manuellt. Ange önskad IP-adress för virtuella (i vårt fall 192.168.0.3 ), subnätmask ( 255.255.255.0 ), porten (gatewayen kommer att vara värdens adress, jag äter 192.168.0.2 ) och DNS-server (här skriv bara in Google 8.8.8.8 ). Och det är allt. Nästa gör ingenting. Sätt systemet och konfigurera. I allmänhet är allting. De beskrivna åtgärderna är sättet att ersätta, säger VirtualBox för ett bättre alternativ. Efter att ha läst dokumentationen förstår du hur breda möjligheterna till qemu-kvm. Jag har avsiktligt inte beskrivit här ytterligare konsolparametrar och metoder för att starta virtuella maskiner via terminalen, eftersom det inte alltid behövs på en hemmaskin. Jag kommer att skriva om den här separata artikeln, om hur du konfigurerar en multifunktionell server (som också kan fungera som en virtuell maskinserver). För dem som av någon anledning inte förstod vad som skrevs, eller förblev oförståliga stunder - jag föreslår att titta på videon, där jag inte beskriver, men jag ska visa dig hur allt är bra och melodi. Om du har några förslag eller tillägg till artikeln - skriv i kommentarerna.

I denna inledande artikel kommer jag att berätta i korthet om alla programvaraanvänds i utvecklingsprocessen. Mer detaljerat kommer de att få veta i följande artiklar.

Varför? Det här operativsystemet är nära mig och förståeligt, så att när man väljer en fördelning av plågor, testades plågor och miniatyrer. Han har inga speciella fördelar med Red Hat Enterprise Linux, men det bestämdes att arbeta med ett välbekant system.

Om du planerar att självständigt distribuera infrastrukturen med liknande tekniker, skulle jag rekommendera dig att ta Rhel: tack vare bra dokumentation och välskriven tillämpade program Det kommer att vara om inte en storleksordning, då exakt två gånger lättare, och tack vare det utvecklade certifieringssystemet utan mycket svårighet kommer det att vara möjligt att hitta ett visst antal specialister, på rätt nivå av bekanta i detta operativsystem.

Vi, jag upprepar, bestämde oss för att använda Debian squeeze med en uppsättning paket från Sid / experimentell Och vissa paket, backported och samlades med våra fläckar.
Planerna har ett publiceringsförråd med paket.

Vid val av en virtualiseringsteknik ansågs två alternativ - Xen och KVM.

Det faktum att tillgängligheten beaktades också stort antal Utvecklare, gästare, kommersiella lösningar precis på grundval av Xen - desto mer intressant var det att fatta ett beslut på grundval av KVM.

Den främsta anledningen till att vi bestämde oss för att använda exakt KVM är behovet av att köra virtuella maskiner med FreeBSD och i perspektiv MS Windows.

För körning virtuella maskiner Det visade sig vara mycket bekvämt att använda produkterna med det API: virsh., virt-Manager., virtlig, etc.

Detta är ett system som lagrar inställningarna för virtuella maskiner, styr dem, leder statistik över dem, säkerställer att när du startar den virtuella maskinen, stiger gränssnittet, ansluter enheterna till maskinen - i allmänhet utför en massa användbart arbete och a lite mer.

Självklart är lösningen inte perfekt. Av minuserna bör kallas:

  • Absolut investeringsfelmeddelanden.
  • Oförmågan att ändra delen av den virtuella maskinkonfigurationen på flugan, även om QMP (QMU Monitor Protocol) är helt tillåtet.
  • Ibland är det omöjligt att ansluta till libvirtd för en oförståelig anledning - det upphör att svara på externa händelser.

Det största problemet med genomförandet av tjänsten i början var begränsningen av resurser för virtuella maskiner. I Xen löstes detta problem med hjälp av en intern chaduler som distribuerade resurser mellan virtuella maskiner - och vad som är vackraste, möjligheten att begränsa och diskoperationer genomfördes.

I KVM har ingenting hänt innan nukleär resursfördelningsmekanismen framträder. Som vanligt i Linux implementerades tillgången till dessa funktioner med hjälp av en speciell filsystem cgroup.där du kan lägga till processen till gruppen med konventionella systemsamtal till gruppen, tilldela det dess vikt i papegojor, ange den kärna som den kommer att fungera, ange genomströmning Skivan som denna process kan använda, eller, igen, tilldela vikten till den.

Resultatet är att allt detta implementeras inuti kärnan, och det är möjligt att använda detta inte bara för servern, men också för skrivbordet (som används i den kända "~ 200-linjen Linux Kernel Patch som gör underverk"). Och enligt min mening är detta en av de viktigaste förändringarna i 2,6-filialen, inte räknar din favorit # 12309, snarare än att samla nästa filsystem. Tja, med undantag för Pohmelfs (men rent på grund av namnet).

Attityden till detta biblioteksverktyg Jag har ganska tvetydigt.

Å ena sidan ser det ut så här:

Och den här är jävla det är svårt att samla från källan och ju mer i paketet: Ibland verkar det som att Linux från Scratch samlar in från början lättare.

Å andra sidan, en mycket kraftfull sak som låter dig skapa bilder för virtuella maskiner, ändra dem, klättra, för att sätta grub, ändra partitionstabellen, hantera konfigurationsfiler, överföra "järn" -maskiner till den virtuella miljön, överföra virtuella Maskiner från en bild till en annan för att överföra virtuella maskiner från en bild till järn och, ärligt, här jag fantasi misslyckas. Åh, ja: Du kan fortfarande köra demonen inuti Linux-virtuella maskinen och få tillgång till den virtuella maskindata som är live, och gör allt på Shell, Python, Perl, Java, Ocaml. Detta är en kort och långt ifrån full lista vad som kan göras med.

Intressant genereras det mesta av koden B vid tidpunkten för montering, liksom dokumentationen för projektet. Ocaml, Perl används mycket allmänt. Koden själv är skriven på C, som sedan blir till OCAML, och upprepade kodar genereras själva. Arbeta med bilder utförs genom att köra en speciell servicebild (supermin apparat), i vilka kommandon skickas via kanalen inuti den. Inuti den här bilden innehåller viss räddning på en uppsättning verktyg, som avskild, mkfs och annan användbar systemadministratör.

Med nyligen började jag ens använda honom hemma när jag smälte från bilden av Nandroid jag behövde data. Men det kräver kärnan med stöd för Yaffs.

Övrig

Nedan är några mer intressanta referenser till beskrivningen av de använda korten - läs och diskutera dig själv, om intressant. Till exempel,

Jag personligen lättare att tänka på KVM (kärnbaserad virtuell maskin), som en abstraktionsnivå över tekniken för Hardwork Virtualization Intel VT-X och AMD-V. Vi tar en bil med en processor som stöder en av dessa tekniker, sätt på detta maskin linux, I Linux, installera KVM, som ett resultat får vi möjlighet att skapa virtuella. Så ungefär arbetsklyfthotell, som Amazon Web Services. Tillsammans med KVM används även Xen, men diskussionen om denna teknik är redan bortom omfattningen av detta inlägg. Till skillnad från Container Virtualization Technologies, till exempel, samma docker, kan KVM köra något operativsystem som ett gästsystem, men det har också handla omleap overhead på virtualisering.

Notera: De åtgärder som beskrivs nedan testades av mig på Ubuntu Linux 14.04, men i teorin kommer i stor utsträckning att gälla både för andra versioner av Ubuntu och andra Linux-distributioner. Allt ska fungera på skrivbordet och på servern, tillgång till som utförs av SSH.

KVM-installation

Vi kontrollerar om Intel VT-X eller AMD-V stöds av vår processor:

grep -e "(VMX | SVM)" / PROC / CPUINFO

Om något är fast, är det stöds, och du kan agera vidare.

Installera KVM:

sudo apt-få uppdatering
sudo apt-få installera qemu-kvm libvirt-bin Virtinst Bridge-Utils

Vad som används för att behålla:

  • / var / libvirt / boot / - ISO-bilder för installation av gästsystem;
  • / VAR / Lib / libvirt / Bilder / - Bilder hårddiskar gästsystem;
  • / Var / log / libvirt / - Här bör du leta efter alla stockar;
  • / etc / libvirt / - Katalog med konfigurationsfiler;

Nu när KVM är installerat, skapa vår första virtuella.

Skapa första virtuella konst

Jag valde FreeBSD som gästsystem. Swing Iso-bild av systemet:

cD / VAR / Lib / libvirt / boot /
sudo wget http: // ftp.freebsd.org/ väg / till / någon-frefebsd-disk.iso

Hantering av virtuella maskiner I de flesta fall utförs med hjälp av Virsh Utility:

sudo virsh --help.

Innan vi påbörjar virtuella måste vi samla ytterligare information.

Vi tittar på listan över tillgängliga nätverk:

sudo Virsh Net-list

Visa ett specifikt nätverk (namngiven standard):

sudo Virsh Net-Info standard

Vi tittar på listan med tillgängliga optimeringar för gästerna:

sudo Virt-install --os-variantlista

Så, skapa nu en virtuell maskin med 1 CPU, 1 GB RAM och 32 GB-diskutrymme ansluten till standardnätverket:

sudo virt-install \\
--Virt-Type \u003d KVM \\
--Name FreeBSD10 \\
--Ram 1024 \\
--vcpus \u003d 1 \\
--Os-variant \u003d FreeBSD8 \\
--HVM \\
- cdrom \u003d / var / lib / libvirt / boot / freeBSD-10.2 -ReleS-AMD64-DISC1.ISO \\
--Network Network \u003d Standard, Model \u003d Virtio \\
- Graphics vnc \\
--Disk väg \u003d / var / libvirt / bilder / frefobsd10.img, storlek \u003d 32, buss \u003d Virtio

Du kan se:

VARNING Kan inte ansluta till grafisk konsol: Virt-Viewer inte
Installerad. Vänligen installera paketet "Virt-Viewer".

Domäninstallation pågår fortfarande. Du kan återansluta till konsolen
För att slutföra installationsprocessen.

Detta är normalt och borde vara.

Se sedan de virtuella egenskaperna i XML-format:

sudo Virsh dumpxml FreeBSD10

Här är det mesta fullständig information. Inklusive till exempel och MAC-adressen som behövs för oss ytterligare. Hittills hittar vi information om VNC. I mitt fall:

Med hjälp av din favoritklient (jag använder personligen RAMMINA), gå igenom VNC, om det behövs, med hjälp av SSH Port-vidarebefordran. Hitta rätt i FreeBSD Instant. Vidare är allt som vanligt - nästa, nästa, vi får det installerade systemet.

Huvudlag

Låt oss nu överväga de viktigaste kommandona att arbeta med KVM.

Få en lista över alla virtuella:

sudo Virsh List --all

Ta emot information om en viss virtuell maskin:

sudo Virsh Dominfo FreeBSD10

Kör den virtuella:

sudo Virsh Starta FreeBSD10

Sluta virtuellt om:

sudo Virsh Shutdown FreeBSD10

Styvt att döda en virtuell (trots namnet, det inte Borttagning):

sudo Virsh förstör FreeBSD10

Tillvägagera en virtuell:

sudo Virsh Reboot FreeBSD10

Bygg virtuell:

sudo virt-clone -o FreeBSD10 -N FreeBSD10-klon \\
- File / var / lib / libvirt / bilder / frefobsd10-klon.img

Aktivera / inaktivera autorun:

sudo Virsh Autostart FreeBSD10
sudo Virsh AutoStart --Disable FreeBSD10

Running Virsh i dialogläge (alla kommandon i dialogläget - som beskrivits ovan):

sudo Virsh.

Redigera egenskaperna hos virtuella i XML, inklusive här kan du ändra gränsen på mängden minne och så vidare:

sudo Virsh redigera FreeBSD10

Viktig! Kommentarer från redigerad XML, tyvärr raderas.

När en virtuette är stoppad kan skivan också levereras:

sudo qemu-img Ändra storlek / var / lib / libvirt / bilder / frefobsd10.img -2g
sudo qemu-img info / var / lib / libvirt / bilder / frefebsd10.img

Viktig! Ditt gäst OS är sannolikt inte så att skivan plötsligt blev mer eller mindre. I bästa fall startar det i nödläge med ett förslag om att lösa in disken. Mest troligt bör du inte vilja göra det. Det är mycket lättare att vara för att starta en ny virtuell och växla all data på den.

Backup och återhämtning är ganska enkla. Det är nog att spara någonstans utmatning dumpxml, liksom en diskbild och sedan återställa dem. På Youtube lyckades hitta video Med demonstrationen av denna process är allt väldigt enkelt.

Inställningsnätverk

En intressant fråga - hur man bestämmer vilken IP-adress som mottogs en virtuell efter nedladdning? I KVM görs detta genom listighet. Jag skrev så småningom ett skript på Python:

#! / usr / bin / env python3

# Virt-ip.py script
# c) 2016 Aleksander Alekseev
# http: // plats /

import sys
import Re.
importera OS.
importera subprocess
från XML .etree Import ElementTree

dEF EPRINT (STR):
skriv ut (STR, FILE \u003d SYS .STERR)

om LEN (SYS .ARGV)< 2 :
EPrint ("Användning:" + sys .ARGV [0] + " " )
EPrint ("Exempel:" + Sys .ARGV [0] + "FreeBSD10")
sys .exit (1)

om OS .geteuid ()! \u003d 0:
EPrint ("Fel: Du shold vara root")
EPrint ("Hint: Run" sudo "+ sys .ARGV [0] +" ... ");
sys .exit (1)

om subprocess .call ( "Som arrings 2\u003e & 1\u003e / dev / null", Skal \u003d sant)! \u003d 0:
EPrint ("Fel: Arring hITTADES INTE." )
EPrint ( "Hint: Run` sudo apt-få installation arring`)
sys .exit (1)

Domän \u003d sys .ARGV [1]

om inte re .match ("^ * $", domänen):
EPrint ( "Fel: Ogiltiga karaktärer i domännamn")
sys .exit (1)

Domout \u003d subprocess .Check_output ("Virsh dumpXML" + Domain + "|| True",
Skal \u003d sant)
Domout \u003d Domout.decode ("UTF-8"). Strip ()

om domout \u003d\u003d "":
# Felmeddelande som redan skrivits ut av dumpxml
sys .exit (1)

Doc \u003d elementtree.fromstring (Domout)

# 1. Lista alla nätverksgränssnitt
# 2. Kör `arping` på varje gränssnitt parallellt
# 3. Greste svar
cmd \u003d "(IFCONFIG | CUT -D" "-F 1 | Grep -e". "|" + \
"XARGS -P0 -I IFACE ARPING -I IFACE -C 1 () 2\u003e & 1 |" + \
"Grep" byte från ") || sant"

för barn i doc.iter ():
om barn.tag \u003d\u003d "Mac":
Macaddr \u003d Child.Attrib ["Adress"]
Macout \u003d subprocess .Check_output (cmd.Format (MacAddr),
Skal \u003d sant)
skriv ut (macout.decode ("UTF-8"))

Skriptet fungerar både med standardnätet och med det överbryggade nätverket vars inställning vi kommer att se nästa. Men i praktiken är det mycket bekvämare att konfigurera KVM så att den alltid tilldelar samma IP-adresser till gästsystem. För denna nätverksinställningsregler:

sudo Virsh Net-Redigera standard

... om detta sätt:

>



>

Efter att ha gjort dessa ändringar


>

... och ersätt något som:




>

Starta om gästsystemet och kontrollera att det mottog IP från DHCP från routern. Om du vill gästsystem Hade en statisk IP-adress, den är konfigurerad som vanligt inom gästsystemet själv.

Virt-Manager-programmet

Du kanske också är intresserad av programmet Virt-Manager:

sudo apt-få installera virt-manager
sudo usermod -a -g libvirtd användarnamn

Detta är huvudfönstret:

Som du kan se är den virthanteraren inte bara GUI för virtuella som löper lokalt. Med det kan du hantera virtuella maskiner som arbetar på andra värdar, liksom titta på vackra scheman i realtid. Jag hittar personligen speciellt bekvämt i den Virt-Manager vad du inte behöver söka efter CONFIGS, vilken port spinner en VNC av ett visst gästsystem. Du hittar bara en virtuell om listan, du gör ett dubbelklick, och du får tillgång till bildskärmen.

Även med hjälp av Virt-Manager är det väldigt bekvämt att göra saker som annars skulle kräva den tidskrävande redigeringen av XML-filer och i vissa fall utför ytterligare kommandon. Till exempel, byta namn på virtuella maskiner, konfigurera CPU-affinitet och liknande saker. Förresten reducerar användningen av CPU-affinitet signifikant effekten av bullriga grannar och effekten av virtuella maskiner på värdsystemet. Om möjligt, använd det alltid.

Om du bestämmer dig för att använda KVM som ersättning för VirtualBox, ta hänsyn till att de inte kan dela hårdvaru virtualiseringen. För att KVM tjänar på skrivbordet behöver du inte bara stoppa alla virtuella i VirtualBox och Vagrant, men starta också om systemet. Jag hittar personligen KVM mycket bekvämare än VirtualBox, åtminstone, eftersom det inte kräver kommandot sudo / sbin / rcvboxDrv setup Efter varje kärnuppdatering fungerar C-enheten tillräckligt, och i allmänhet kan du dölja alla fönster.

KVM (virtuell maskin baserad på kärn- eller kärnbaserad virtuell) - Gratis virtualiseringsprogram med öppen källkod. Du kan skapa flera virtuella maskiner (VM), varje virtuell maskin har sin egen virtuella utrustning, till exempel disk, processor, bagge etc. Det ingick i huvuddelen av Linux-kärnan i version 2.6.20 kärna.

Om du letar efter ett alternativ VirtualBox.Vi rekommenderar starkt att använda KVM. Vi använder också personligen denna fantastiska virtualiseringsprogram.

Installera KVM Ubuntu 17.04

För att installera KVM måste du ha följande preliminära ämnen.

  1. Aktivera virtualisering i systemet BIOS.
  2. Kontrollera systemets CPU om det stöder virtualisering. Följ kommandot nedan.

egrep - C '(VMX | SVM)' / PROC / CPUINFO

När du får en slutsats från ovanstående kommando eller 1, eller mer, betyder det att processorn stöder virtualisering annat än 0 eller mindre betyder att den inte stöder.

3. Kontrollera arkitekturen Ubuntu. 16.04 LTS genom att köra ett kommando ..

X86_64 är en 64-bitars kärna.
I386, I486, I586 eller I686 är en 32-bitars kärna.

32-bitars OS är begränsat till 2 GB RAM så mycket som möjligt för den här virtuella maskinen.
32-bitars kärnan kommer att placeras endast en 32-bitars gästkärna, medan i 64-bitars kärnan kan vara både 32-bitars och 64-bitars gäst O.s.

Utför steg för att installera KVM på Ubuntu

I det här avsnittet skriver vi ner stegen för att installera KVM. I vårt tidigare inlägg har vi lärt oss. Kanske är det också intressant för dig.

1. Installera KVM Ubuntu 17.04 och andra beroende paket

I Ubuntu 17.04 LTS kan du använda kommandot bENÄGEN eller apt-få båda. Det kommer inga skillnader i de paket som är installerade med hjälp av APT eller APT-Get-kommandot, så du är bra här.

sudo apt uppdatering.

sudo apt Installera Qemu - KVM libvirt - Bin Bridge - Utils

2. Lär dig om nya användare och en KVM-programvaruprogram.

Efter installationen av förpackningarna kommer vissa tillägg att inträffa i antalet användare och grupper.

(A) Två användare skapas.
- libvirt-qmu
- libvirt-dnsmasq

[E-post skyddad] : ~ $ Svans - 2 / etc / passwd

libvirt - qemu: x: 64055: 129: libvirt qemu,: / var / lib / libvirt: / bin / false

libvirt - DNSMASQ: X: 121: 130: libvirt DNSMASQ ,: / var / lib / libvirt / dnsmasq: / bin / false

s. [E-post skyddad] :~ $

B) Två grupper kommer att skapas.

- KVM.
- libvirtd.

[E-post skyddad] : ~ $ Svans - 2 / etc / grupp

kVM: X: 129:

libvirtd: x: 130: Sharad

[E-post skyddad] :~ $

Du kanske märker att den så kallade "Sharad" som används är medlem i Libvirtd-gruppen. Det betyder att den här användaren kan använda KVM.

3. Kontrollera KVM-installationen

Det är ganska enkelt att kontrollera KVM-installationen. Kör laget -

VIRSH - C QMU: /// Systemlista

För första gången visar han ett misstag.

fel: Misslyckades med att ansluta till hypervisoren

fel: Misslyckades med att ansluta uttaget till '/ Var / Run / Libvirt / libvirt-sock': Åtkomst nekad.

[E-post skyddad] :~ $

För att lösa detta problem måste du gå ut och logga in på skrivbordet. Indikerar att den aktuella användaren måste logga in.

Efter att ha loggat in i systemet, starta om kommandot. Den här gången måste du få resultatet som anges nedan. Det är tomt eftersom den virtuella maskinen inte skapas.

[E-post skyddad] : ~ $ VIRSH - C qemu: /// Systemlista

ID-namn.

—————————————————-

[E-post skyddad] :~ $

4. Installera den virtuella maskinhanteraren

Här använder vi Virtual Machine Manager, som är ett skrivbordsansökan för hantering av KVM virtuella maskiner via libvirt.

Kör det här kommandot för att installera den virtuella maskinhanteraren.

sudo apt installera Virt - Manager

Du kan öppna den virtuella maskinhanteraren genom att ange den i Dash Home.Click i ikonen, den öppnar programmet.

För att öppna den virtuella maskinhanteraren genom kommandorad, stiga på -

virt - Manager.

Tidigare, när vi installerade KVM i Ubuntu 14.04 LTS Desktop, stötte vi på ett problem när vi skapade den första virtuella maskinen, men vi bestämde oss det väldigt enkelt. I Ubuntu 16.04 LTS Desktop hittade vi inte ett sådant problem.

Om du har frågor om ämnet "Installera KVM Ubuntu 17.04" - skriv dem till oss i formuläret för kommentarer. Vi hjälper dig att hantera din fråga mycket snabbare.

Om du har hittat ett misstag, välj textfragmentet och klicka på Ctrl + Enter..