Qemu-Kvm + Virt-Manager på Debian - datanätverk för små och medelstora företag

Allmänt index för serien: Datornätverk för små och medelstora företag: introduktion

I maj 2013 publicerade vi i den här bloggen, två artiklar tillägnad installationen av Qemu-Kvm i Debian 7 «wheezy«. De är fortfarande giltiga. Eftersom installationen och konfigurationen i Debian 8 "Jessie" har förändrats lite vill vi uppdatera proceduren.

Det skulle inte vara annat än innan du fördjupade dig i att läsa detta Hur man gör detkommer de att besöka den tidigare artikeln Virtualisering i Debian: Introduktion - Datornätverk för små och medelstora företag, att ha lite bakgrund om ämnet.

Webbplatser som vi föreslår att du besöker

observation

  • Vi kopierar utdata från kommandona, eftersom de är mycket mer didaktiska än någon annan komposition skriven av oss. Vi föreslår att du läser noggrant meddelandena från de olika mandaten, eftersom det är ett av de bästa sätten att lära sig utan att behöva gå till en internetsökning. Det är åtminstone vår åsikt.

installation

Vi börjar från den grundläggande installationen av en Debian "Jessie" som vi såg i Installation av arbetsstationer - Datornätverk för små och medelstora företag. Sedan installerar vi skrivbordet eller skrivbordet enligt våra önskemål som vi såg i 6 Debian-datorer - Datornätverk för små och medelstora företag.

För den här artikeln valde vi Kanel Desktop. Vi valde det eftersom många läsare älskar denna skrivbordsmiljö. 😉

De allmänna uppgifterna för vår arbetsstation är:

Domän namn: fromlinux.fan
Lagets namn: sysadmin
FQDN: sysadmin.fromlinux.fan
IP-adress : 192.168.10.3
SubNet: 192.168.10.0 / 24
Normal användare: surr
Användarens fullständiga namn: Debian First OS Buzz

Vi kontrollerar support för virtualisering

I en konsol kör vi:

buzz @ sysadmin: ~ $ egrep -c "(svm | vmx)" / proc / cpuinfo
2

I vårt fall returnerar kommandot oss att vi har 2 processorer med vederbörligt stöd.

Paket vi kommer att installera

Först och främst får vi reda på att vi ska installera med följande kommandon:

buzz @ sysadmin: ~ $ aptitude search kvm
p ikvm - Java-virtuell maskin för CLI          
v kvm                             - p libicsharpcode-nrefactory-ikvm5 - C # Parsing and Refactoring Library - IKVM p libikvm-native - native-bibliotek för IKVM.NET p nova-compute-kvm - OpenStack Compute - beräkningsnod (KVM)    
p qemu-kvm - QEMU Full virtualisering på x86-hårdvara

buzz @ sysadmin: ~ $ aptitude visar nova-compute-kvm
Paket: nova-compute-kvm Nytt: ja Status: inte installerat Version: 2014.1.3-11 Prioritet: extra Avsnitt: net Utvecklare: PKG OpenStack Arkitektur: alla Okomprimerad storlek: 50.2k Beror på: adduser, dpkg-dev, qemu-kvm | kvm, libvirt-daemon-system, nova-common, nova-compute, python-libvirt Beroende på: dpkg (> = 1.15.6 ~) Rekommendation: gästmontering Har konflikter med: nova-baremetal, nova-compute-lxc, nova- compute-qemu, nova-compute-uml, nova-compute-xen Ger: nova-compute-hypervisor Beskrivning: OpenStack Compute - beräkningsnod (KVM) OpenStack är en pålitlig molninfrastruktur. Dess uppdrag är att producera den allestädes närvarande molndatorplattformen som uppfyller behoven hos offentliga och privata molnleverantörer oavsett storlek, genom att vara enkel att implementera och massivt skalbar. OpenStack Compute, med kodenamnet Nova, är en molntjänststyrning konstruerad för att vara modulär och lätt att utöka och anpassa. Förutom det "inbyggda" OpenStack API stöder det också Amazon EC2 API, och det stöder många olika databasbackends (inklusive SQLite, MySQL och PostgreSQL), hypervisorer (KVM, Xen) och användarkatalogsystem (LDAP, SQL ). Detta är ett beroendepaket för beräkningsnoder med KVM. Huvudsida: http://www.openstack.org/software/openstack-compute/
  • Vi kommer inte att installera paketet Openstackeftersom vi inte behöver en hel virtualiseringsinfrastruktur för molnet - cloud, 😉
buzz @ sysadmin: ~ $ aptitude visar qemu-kvm
Paket: qemu-kvm Nytt: ja Status: inte installerat Multi-Arch: utländsk Version: 1: 2.1 + dfsg-12 + deb8u1 Prioritet: valfritt Avsnitt: diverse Utvecklare: Debian QEMU Team Arkitektur: amd64 Okomprimerad storlek: 60.4 k Beror på: qemu-system-x86 (> = 1.7.0 + dfsg-2 ~) Har konflikter med: kvm Break: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Ersätter: qemu-system-x86 (<1.7.0 + dfsg-2 ~) Ger: kvm Beskrivning: QEMU Full virtualisering på x86-hårdvara QEMU är en snabb processoremulator. Detta paket tillhandahåller bara ett omslagsskript / usr / bin / kvm som kör qemu-system-x86 i kvm-läge för bakåtkompatibilitet. Observera att gamla qemu-kvm-konfigurationsfiler (i / etc / kvm /) inte längre används.
Huvudsida: http://www.qemu.org/

Vi installerar virtualiseringsplattformen Qemu-Kvm

buzz @ sysadmin: ~ $ sudo aptitude installera qemu-kvm libvirt-bin bridge-utils
Följande NYA paket kommer att installeras:     
  augeas-lenses {a} bridge-utils dmeventd {a} ebtables {a} ethtool {a} hdparm {a} ipxe-qemu {a} libaio1 {a} libapparmor1 {a} libaugeas0 {a} libboost-thread1.55.0 {a } libdevmapper-event1.02.1 {a} libfdt1 {a} libiscsi2 {a} liblvm2cmd2.02 {a} libnetcf1 {a} libnuma1 {a} librados2 {a} librbd1 {a} libreadline5 {a} libseccomp2 {a} libspice-server1 {a} libvdeplug2 {a} libvirt-bin libvirt-clients {a} libvirt-daemon {a} libvirt-daemon-system {a} libvirt0 {a} libx86-1 {a} libxen-4.4 {a} libxenstore3.0 { a} libxml2-utils {a} lvm2 {a} netcat-openbsd {a} pm-utils {a} powermgmt-base {a} qemu-kvm qemu-system-common {a} qemu-system-x86 {a} qemu -utils {a} seabios {a} vbetool {a} 0 paket uppdaterade, 42 nya installerade, 0 att ta bort och 0 inte uppdaterade. Jag måste ladda ner 8,422 kB / 14.8 MB filer. Efter uppackning kommer 53.3 MB att användas. Vill du fortsätta? [Y / n /?] Och

Viktigt

  • När vi installerar på ett skrivbord behöver vi ett gränssnitt för att hantera KVM. Om vi ​​installerade på en eller flera servrar, både installationen av skrivbordet och installationen av Virtuell maskinhanterare, som vi kommer att installera senare. Ci en enda instans av detta grafiska gränssnitt, vi kan hantera alla servrar där vi har installerat paketen qemu-kvm, libvirt-bin y bro-verktyg.
  • Huvuddemonen - daemon av virtualisering är libvirtd. För att känna till dess status utför vi:
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd
buzz @ sysadmin: ~ $ sudo service libvirtd status
  • Om vi ​​läser några rader i rött i utdata från någon av de tidigare kommandona, är det hälsosamt att starta om tjänsten libvirtd och kontrollera igen, eller starta om datorn och kontrollera. han skriptlibvirtd.service som kör SYSTEMD, är i /lib/systemd/system/libvirtd.service. Observera att vi också kan åberopa den demonen på det gamla sättet, det vill säga:
buzz @ sysadmin: ~ $ sudo service libvirtd
Användning: /etc/init.d/libvirtd {start | stopp | starta om | ladda om | force-reload | status | force-stop}

buzz @ sysadmin: ~ $ sudo service libvirtd starta om buzz @ sysadmin: ~ $ sudo service libvirtd statuslibvirtd.service - Virtualiseringsdemon
   Laddad: laddad (/lib/systemd/system/libvirtd.service; aktiverad)
   Aktiva: aktiv (kör) sedan sön 2016-11-27 11:23:53 EST; 8 minuter sedan Dokument: man: libvirtd (8) http://libvirt.org Huvud-PID: 1112 (libvirtd) CGroup: /system.slice/libvirtd.service └─1112 / usr / sbin / libvirtd
  • El skript beläget i /etc/init.d/qemu-system-x86, ansvarar för att infoga de moduler som behövs för att Qemu-Kvm ska fungera korrekt. När det har gjort sitt jobb framgångsrikt är det gjort. Om vi ​​kontrollerar dess status kommer den att återge att den är 0 eller lyckad.
buzz @ sysadmin: ~ $ sudo systemctl status qemu-system-x86 ● qemu-system-x86.service - LSB: QEMU KVM-modul laddningsskript laddat: laddat (/etc/init.d/qemu-system-x86)
   Aktiva: aktiv (avslutad) sedan sön 2016-11-27 11:18:17 EST; 18 minuter sedan Process: 172 ExecStart = / etc / init.d / qemu-system-x86 start (kod = avslutad, status = 0 / SUCCESS)
  • Om vi ​​är nyfikna och vill veta vilka moduler och deras placering, kör vi:
buzz @ sysadmin: ~ $ sudo uppdateradb

buzz @ sysadmin: ~ $ lokalisera kvm | grep ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/kvm.ko

buzz @ sysadmin: ~ $ ls -l /lib/modules/3.16.0-4-amd64/kernel/arch/x86/kvm/
totalt 1016 -rw-r - r-- 1 rotrot 97120 juli 17 2015 kvm-amd.ko
-rw-r - r-- 1 rotrot 223680 17 juli 2015 kvm-intel.ko
-rw-r - r-- 1 rotrot 715920 17 juli 2015 kvm.ko

Vi installerar Virtual Machine Manager

buzz @ sysadmin: ~ $ sudo aptitude install virt-manager
[sudo] lösenord för buzz: Följande NYA paket kommer att installeras: gir1.2-gtk-vnc-2.0 {a} gir1.2-libvirt-glib-1.0 {a} gir1.2-spice-client-glib-2.0 { a} gir1.2-spice-client-gtk-3.0 {a} libvirt-glib-1.0-0 {a} python-ipaddr {a} python-libvirt {a} python-urlgrabber {a} virt-manager virt-viewer {a} virtinst {a} 0 paket uppdaterade, 11 nya installerade, 0 att ta bort och 0 inte uppdaterade. Jag måste ladda ner 2,041 12.5 kB filer. Efter uppackning kommer XNUMX MB att användas. Vill du fortsätta? [Y / n /?] Och
  • Efter installation av paketet konsulterar vi:
buzz @ sysadmin: ~ $ cat /usr/share/doc/virt-manager/README.Debian 
Åtkomstkontroll ============== Åtkomst till libvirt-uttaget styrs av medlemskap i gruppen "libvirt". Om du vill hantera virtuella maskiner som icke-root måste du lägga till din användare i den gruppen eller så måste du använda sessionens uris som qemu: /// session. Se även /usr/share/doc/libvirt-bin/README.Debian. - Guido Guenther Tor, 04 juni 2010 11:46:03 +0100
  • Ovanstående indikerar att vi måste göra användaren till en medlem av libvirt-gruppen för att komma åt det nyligen installerade gränssnittet:
buzz @ sysadmin: ~ $ sudo adduser buzz libvirt
Lägger till användaren 'buzz' till gruppen 'libvirt' ... Lägger till user buzz till gruppen libvirt Klar.
  • Nu avslutar vi sessionen och startar den igen. Efter att ha gått in i vårt Cinnamon Desktop går vi till Meny -> Administration -> Virtual Machine Manager, och vi får åtkomst till administrationsgränssnittet för vår KVM. virt-manager

Virtuella nätverk i Virtual Machine Manager

Trots att Virtual Machine Manager är lätt att använda och att vi med daglig träning kan få en magisterexamen i dess användning, erbjuder vi en Tips om hur man ändrar det virtuella nätverket som Qemu-Kvm installerar som standard.

Vi navigerar i din Meny -> Redigera -> Anslutningsdetaljer, och vi går till fliken «Virtuella nätverk«. Om vi ​​klickar på länken IPv4-konfiguration, den Red, och informerar oss också om att DHCP-servern är aktiverad för den. Den servern körs tack vare paketet dnsmasq-bas, som är installerad.

Mer information finns i filen: /usr/share/doc/libvirt-bin/README.Debian. nätverk

Om vi ​​vill ändra nätverkskonfigurationen «standard«, Vi fortsätter enligt följande:

buzz @ sysadmin: ~ $ sudo cp /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/default.xml.original
buzz @ sysadmin: ~ $ cat /etc/libvirt/qemu/networks/default.xml.original
standard 

buzz @ sysadmin: ~ $ sudo nano /etc/libvirt/qemu/networks/default.xml
standard 

buzz @ sysadmin: ~ $ sudo systemctl starta om libvirtd
buzz @ sysadmin: ~ $ sudo systemctl status libvirtd

Om vi ​​inte hade stängt Virtual Machine Manager innan vi startade om demon libvirtdfår vi följande felmeddelande, vilket är normalt för att detta ska hända: fel Vi måste bara stänga Virt Manager och öppna den igen. Vi återgår till den del av konfigurationen för virtuella nätverk och vi verifierar att nätverket standardhar du redan de modifierade parametrarna.

Vi föreslår att du aktiverar nätverket automatiskt standard, genom att markera rutan «Autonicize".

Lagring i Virt-Manager

En annan aspekt vi vill beröra är Lagring - lagring i Virt-Manager. Som standard finns systemmappen för att spara alla virtuella maskinbilder på / var / lib / libvirt / images. Anta att vi har en hårddisk helt dedikerad till den funktionen, och vi har den monterad på / hem / vms. För att lägga till det i Virt Manager, vi navigerar genom menyn -> Redigera -> Anslutningsdetaljer -> Lagring. I det nedre vänstra hörnet klickar vi på knappen «+«. Sedan visas en guide för «Skapa lagringshink': lagring

Låt oss ta en titt på de olika typerna av lagring vi kan välja mellan. Detaljerad dokumentation hittar vi i Guide för virtualiseringsdistribution och administration, från Red Hat. Vi väljer den första «dir: File System Directory". lagring2 lagring3

I slutet av guiden är den nya lagringstanken aktiv och startar automatiskt.

Första virtuella maskinen

Vi måste navigera igenom och läsa de olika alternativen som Virt-Manager erbjuder. Låt oss observera i den näst sista bilden av de som visas senare, att när vi kommer till utgåvan av den nyskapade virtuella maskinen och innan Starta installationen, i alternativet «processor«, Vi markerar rutan "Konfiguration" Kopiera CPU-konfiguration från värddatorn. Det kanske inte är nödvändigt att göra det, men vi följer Debians rekommendation och vår HP-serverpraxis.

Mer information finns i filen: /usr/share/doc/libvirt-bin/README.Debian. skapa-vm01 skapa-vm02 skapa-vm03 skapa-vm04 skapa-vm05 skapa-vm06 skapa-vm07 skapa-vm08 skapa-vm09

Vi kommer bara att tillägga att vi i mer än tre år har haft denna virtualiseringsplattform i produktion i två företag. Trots strömavbrott, vanliga datorer «anpassad»Så att de fungerar som tjänare och av alla svårigheter som kan finnas i ett underutvecklat land som vårt, Qemu-Kvm det har alltid fungerat korrekt, liksom de virtuella servrarna som körs på den.

Vi hoppas att den här artikeln är användbar för dig.

Nästa leverans?

«Virsh på Debian«

Kom ihåg att detta kommer att vara en serie artiklar av Datornätverk för små och medelstora företag. Vi väntar på dig!


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

12 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Zodiaken sade

    Didaktisk artikel som hjälper mig i min implementering av mitt par servrar med Qemu-KVM. Tack så mycket Federico och vi kommer att fortsätta vänta på dina inlägg.

  2.   Alberto sade

    Mycket bra artikel för alla inledningar i Qemu-KVM.
    Det vore väldigt intressant att du i framtida artiklar förklarar XML-filerna på de virtuella maskinerna och den tunna tillförseln av hårddiskarna, vilket ger en mycket effektiv distribution.
    Hälsningar och tack för ditt bidrag.

  3.   Federico sade

    Tack så mycket för dina kommentarer !.

    Alberto: huvudmålet med våra artiklar, som vi redan har skrivit i många av dem, är att erbjuda en ingångspunkt för de ämnen som tas upp. Ibland mycket kortfattat och ibland lite mer tydligt. Det beror på ämnets komplexitet. Av den anledningen ger vi en hel serie länkar till andra webbplatser så att läsare, oavsett om de initieras eller inte, hittar mer litteratur för att berika sin kunskap. Jag toppar listan över läsare. 😉

    Från din kommentar ser jag att du inte är en initierad i ämnet. Du ber mig förklara en ganska teknisk funktion som "Tunn försörjning", även om vi använder det på ett eller annat sätt i vårt dagliga arbete.

    "Tunn tilldelning", för praktiska ändamål, är när vi använder virtualiseringstekniker för att ge utseendet att vi har fler hårdvaruresurser än vad vi faktiskt har. Om ett system alltid har nödvändiga hårdvaruresurser till förfogande för att stödja alla virtualiserade resurser, kan vi inte prata om att implementera Light Provisioning i det systemet.

    Jag försöker att nödvändiga minnesresurser, hårddiskutrymme, antal processorer, etc., för körning av de virtuella servrarna eller gästerna, inte överskrider resurserna för själva värden.

    Jag försöker ha en tung leverans eller Markera Provisioning. Jag organiserar virtualisering - när jag kan - så att de totala resurserna som används i gästen ungefär är totala tillgängliga resurser.

    Det föreslås att effektiviteten för typen av provisionering beror på hur vi använder den och inte på virtualiseringstekniken. Heavy Provisioning är mest effektivt när mängden hårdvaruresurser som används ungefär mängden tillgängliga resurser. Thin Provisioning är effektivare när mängden hårdvaruresurser som används är mycket mindre än vad som är tillgängligt.

    För mer information om upphandling, besök i första hand: https://en.wikipedia.org/wiki/Thin_provisioning.

    Förresten, jag kommer att berätta det i dokumentet "Guide för virtualiseringsdistribution och administration" nämns i den här artikeln, det hänvisar bara till tunn provisionering en gång, och det är att berätta för oss att denna typ av provisionering inte stöds av Storage Depots eller Storage Pool, med LVM eller Logical Volume Manager.

    Slutligen vill jag uppmärksamma dig på att ett inlägg inte kan täcka eller ersätta specialiserad litteratur om ett visst ämne. Till exempel är det gamla Red Hat-dokumentet 565 sidor långt.

  4.   federico sade

    Luigys, jag har svårt att få kommentarerna.

    1.    Luigys toro sade

      Vi jobbar med det

  5.   Marty mcfly sade

    Varför har det inte varit någonting sedan Linux sa om lanseringen 25 av den populära Fedora-distributionen? Jag får intrycket att den här bloggen bara är specialiserad på Debian och Ubuntu ... Hur ledsen jag är att jag är en ivrig läsare och användare av Fedora samtidigt

    1.    Luigys toro sade

      Min kära Marty, utan tvekan har vi glömt bort Fedora, det är inte av nöje, utan av nödvändighet. GNU / Linux och den fria världen rör sig ständigt och vår förmåga att testa, lära och kommunicera är begränsad. Vi skulle vilja ha 48-timmarsdagar, att på ett eller annat sätt kunna bidra mer och om fler ämnen.

      Vid något tillfälle ska vi skriva om Fedora, ledsen om det inte är nu, vi jobbar med att nå fler och fler medarbetare för att hjälpa oss att skapa innehåll, på det sättet kommer det att finnas fler poäng som vi kan täcka.

      Alla är inbjudna att samarbeta i DesdeLinux, för detta finns Guide för Writers and Editors Guide https://blog.desdelinux.net/guia-redactores-editores/ Vi hoppas därför någon gång i tiden att ha mycket mer material att erbjuda.

    2.    federico sade

      Vill du att vi också publicerar om CentOS?

  6.   crespo88 sade

    Specialartikel, vi är vana vid det. Tack för den här leveransbroren, du spelar redan mycket mer intressanta ämnen, som inte tar bort från resten av inläggen, jag säger det på så sätt ur min synvinkel eftersom min uppföljning till Qemu-KVM började för några år sedan och sedan jag träffade honom Jag har inget klagomål om det.
    Jag hoppas att Qemu-KVM förblir stark och fortsätter i Debians framtid.

  7.   Federico sade

    Om du är observatör Crespo88, i dessa nya artiklar om Qemu-KVM, gräver jag djupare, som du redan såg i nästa, och du kommer att se i de två till som jag snart kommer att publicera. I dagens värld är virtualisering en viktig teknik. Det är värt att gräva i dess användning. Tack för kommentaren !!!.

  8.   Ismael Alvarez Wong sade

    Mycket bra artikel om hur man på ett enkelt och prisvärt sätt omsätter teorin om virtualisering baserad på KVM (eller Kernel-based Virtual Machine), det vill säga detta är alla grunderna att börja:
    1: a) Installera virtualiseringsplattformen Qemu-Kvm.
    2: a) Eftersom värden har ett grafiskt gränssnitt behöver vi Virtual Machine Manager för att hantera KVM-virtualisering.
    3: e) Mycket bra TIPS för att lägga till vårt användarsumma i libvirt-gruppen för att få tillgång till Virtual Machine Manager-gränssnittet; för att ändra det virtuella nätverksgränssnittet och standardlagringen i Virt-Manager till en annan "monterad" partition på en andra hårddisk.
    4: e och sista) Skapandet av den första MV.
    Tack för att du delar denna information "osjälviskt" för att förbättra oss ytterligare i Linux-världen.

  9.   federico sade

    Tack så mycket för din kommentar, vän Wong. Meddelanden som din är det som får mig att fortsätta skriva för FromLinux Community och för alla Linux-älskare