Ubuntu en KVM

Door Heli0s op woensdag 5 maart 2014 14:35 - Reacties (8)
Categorie: -, Views: 3.495

Ik herinstaller mijn pc meerdere keeren per maand. Ik probeer graag niewue Linux distros, maar ik heb ook regelmatig dat ik mijn install vernaggel met het uitproberen van software. Omdat mijn vrouw nog wel eens op precies dat moment wat van mijn pc nodig heeft, moest ik opzoek naar een oplossing.
Enter KVM
KVM of Kernel-based Virtual Machine is een zogenamde type-2 Hyper Visor. Dit betekend dat hij daait op het OS (Een type 1 zoals Citrix XenServer, VMware ESX/ESXi en Microsoft Hyper-V draait op 'bare-metal') zoals plaatje aangeeft:


http://upload.wikimedia.org/wikipedia/commons/e/e1/Hyperviseur.png


Met KVM kan je dus virtual machines draaien. In princiepe is dit ontworpen voor op een server, maar omdat het gewoon in de Linux kernel zit ingebakken kan je het ook op je 'gewone' pc draaien. Enige voorwaarde is dat je cpu Intel VT-x of AMD-V ondersteunt. Dit kan je makkelijk checken met

code:
1
egrep -c '(vmx|svm)' /proc/cpuinfo


Als je het antwoord 1 is ondersteund je cpu het wel en met een 0 niet.

De meest simpele manier om de benodigde tools te installeren, is om ubuntu server te pakken. Deze geeft tijdens de installatie de optie om de vitrualisatie server te installeren. Ik had van tevoren en artiekel gelezen op itWorld wat de stappen duidelijk beschrijft. In het kort komt het neer op:

code:
1
$ sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils


Nu kan je met virt-manager VM's aan maken. Hou er wel rekening mee dat virt-manager een GUI vereist, en dus niet werkt als je geen X hebt draaien. Als je vanaf een andere machine virt-manager wilt opstarten moet je hem nog even los installeren.

code:
1
$ virt-manager -c qemu:///system kvmhost


Je kan uiteraard ook vanaf een ander machine verbinden met virt-manager dit doe je met:

code:
1
$ virt-manager -c qemu+ssh://[username]@kvmhost/system


Username is hier optioneel en alleen nodig als je met een andere username werkt dan op je lokale machiene. Hou er wel rekening mee dat je een ssh-server moet hebben draaien op je kvm host.

Je kan nu via virt-manager heel eenvoudig een nieuwe VM maken en beheeren. Als je links boven op new drukt krijg je een wizzard te zien die je heel duidelijk door de stappen heen helpt. Een kleine tip, je iso images moeten, in ieder geval op de remote host, in de map /var/lib/libvirt/images geplaatst worden, anders kan je ze niet selecteren in de wizzard.

Als je de Vm als een normale pc wilt benaderen (Dus via web of ssh) moet je de netwerk adapter op bridged zetten. Hou er wel rekening mee dat dit met de meeste wireless adapters niet kan.
Tot slot
Dit waren mijn bevindingen van gister avond. Ik had het allemaal redelijk snel aan de praat, op een paar kleine dingetjes na. Mijn test server draaide al snel, (Zentyal, maar daar over later meer) maar windows 8.1 deed wat moeilijker en heeft vervolgens ook de ingebouwde vnc om zeep geholpen. Er is dus nog werk aan de winkel!

Volgende: Inbox en Python 07-'14 Inbox en Python
Volgende: Een nieuwe baan. 02-'14 Een nieuwe baan.

Reacties


Door Tweakers user sfranken, woensdag 5 maart 2014 15:09

Toch knap dat een guest OS iets in het host OS "om zeep" helpt, lijkt me sterk.

Door Tweakers user roeleboel, woensdag 5 maart 2014 15:19

ik krijg op
egrep -c '(vmx|svm)' /proc/cpuinfo
als antwoord
4

wat moet ik daar nu mee?

Door Tweakers user himlims_, woensdag 5 maart 2014 15:27

ssh -X ip
vanuit je terminatje in je de, krijg je x omgeving van de host waar je verbinding mee hebt

[Reactie gewijzigd op woensdag 5 maart 2014 15:28]


Door Tweakers user Heli0s, woensdag 5 maart 2014 15:53

roeleboel schreef op woensdag 05 maart 2014 @ 15:19:
ik krijg op
egrep -c '(vmx|svm)' /proc/cpuinfo
als antwoord
4
Euh, heb je misschien een quadcore? Ik zal hem vanavond even thuis draaien op mijn i5 en het antwoord hier posten :+)
sfranken schreef op woensdag 05 maart 2014 @ 15:09:
Toch knap dat een guest OS iets in het host OS "om zeep" helpt, lijkt me sterk.
Ik denk het ook niet, maar de install van Win8.1 liep vast en vanaf dat moment kan ik niet meer met de ingebakken vnc van virt-manager werken. Ook niet op me linux VM, dus ik moet nog even wat debuggen.

[Reactie gewijzigd op woensdag 5 maart 2014 16:01]


Door Tweakers user sfranken, woensdag 5 maart 2014 16:52

roeleboel schreef op woensdag 05 maart 2014 @ 15:19:
ik krijg op
egrep -c '(vmx|svm)' /proc/cpuinfo
als antwoord
4

wat moet ik daar nu mee?
Dan heb je een quadcore of een dualcore met HyperThreading. Dat commando gaat namelijk per CPU regel controleren of VMX of SVM in de CPU options zit. Heb je 4 CPU's krijg je dat terug.

Wat geeft

code:
1
nproc


of

code:
1
grep processor /proc/cpuinfo | wc -l


terug?

Door Tweakers user zitwelbaard, woensdag 5 maart 2014 22:31

>> $ egrep -c '(vmx|svm)' /proc/cpuinfo
>> 8
:)


Weet iemand in hoeverre de volgende scenarios mogelijk zijn:

Twee besturingssystemen(2x gnoe/pinguin) tegelijk aan hebben staan en dat ik dan twee beelschermen in één videokaart plug, 2 toetsenborden, 2 muizen, en 2 geluidskaarten en dat je dan in feite twee gebruikers op 1 pc laat werken alsof het er eentje is?

Of misschien iets realistischer, dat bij het opstarten van de pc een download/nas os en mijn hoofd os worden gestart. Dat dan het hoofd os lekker rustig afwacht tot cryptsetup door de full disk encryption heen komt van de ssd. Het Nas OS runt dan headless, maar heeft volledige controle over alle harde schijven (dus alles behalve de ssd van het main os) en dat die dan lekker in zfs-raidz aangeboden worden aan het mainOS en wat andere netwerk apparaten en dat sabnzbd daar ook gelijk op werkt. Dat lijkt me een leuke optie om wat freebsd dingen te kunnen proberen en een nas te hebben zonder een nas te hebben.

Door Tweakers user sfranken, donderdag 6 maart 2014 00:36

zitwelbaard schreef op woensdag 05 maart 2014 @ 22:31:
>> $ egrep -c '(vmx|svm)' /proc/cpuinfo
>> 8
:)


Weet iemand in hoeverre de volgende scenarios mogelijk zijn:

Twee besturingssystemen(2x gnoe/pinguin) tegelijk aan hebben staan en dat ik dan twee beelschermen in één videokaart plug, 2 toetsenborden, 2 muizen, en 2 geluidskaarten en dat je dan in feite twee gebruikers op 1 pc laat werken alsof het er eentje is?

Of misschien iets realistischer, dat bij het opstarten van de pc een download/nas os en mijn hoofd os worden gestart. Dat dan het hoofd os lekker rustig afwacht tot cryptsetup door de full disk encryption heen komt van de ssd. Het Nas OS runt dan headless, maar heeft volledige controle over alle harde schijven (dus alles behalve de ssd van het main os) en dat die dan lekker in zfs-raidz aangeboden worden aan het mainOS en wat andere netwerk apparaten en dat sabnzbd daar ook gelijk op werkt. Dat lijkt me een leuke optie om wat freebsd dingen te kunnen proberen en een nas te hebben zonder een nas te hebben.
Waarom niet gewoon 2 X sessies over het netwerk?

Door Tweakers user Demo, zaterdag 8 maart 2014 18:50

zitwelbaard schreef op woensdag 05 maart 2014 @ 22:31:
Weet iemand in hoeverre de volgende scenarios mogelijk zijn:

Twee besturingssystemen(2x gnoe/pinguin) tegelijk aan hebben staan en dat ik dan twee beelschermen in één videokaart plug, 2 toetsenborden, 2 muizen, en 2 geluidskaarten en dat je dan in feite twee gebruikers op 1 pc laat werken alsof het er eentje is?
Dat kan met één OS, je moet op zoek naar 'multiseat' configuraties. Als je hele stukken hardware wil doorgeven aan een gevirtualiseerd OS, moet je hardware IOMMU ondersteunen.
Of misschien iets realistischer, dat bij het opstarten van de pc een download/nas os en mijn hoofd os worden gestart. Dat dan het hoofd os lekker rustig afwacht tot cryptsetup door de full disk encryption heen komt van de ssd. Het Nas OS runt dan headless, maar heeft volledige controle over alle harde schijven (dus alles behalve de ssd van het main os) en dat die dan lekker in zfs-raidz aangeboden worden aan het mainOS en wat andere netwerk apparaten en dat sabnzbd daar ook gelijk op werkt. Dat lijkt me een leuke optie om wat freebsd dingen te kunnen proberen en een nas te hebben zonder een nas te hebben.
Dat kan, maar ZFS wil je liefst niet op een virtuele machine draaien. Ook dat zou met IOMMU kunnen als je de hele SATA-controller doorgeeft aan het guest OS.

Reageren is niet meer mogelijk