Maskiner/Vrimmel: Difference between revisions

From Programvareverkstedet
No edit summary
(benkemerking av VM, litt mer info)
Line 2: Line 2:


Vrimmel kjører hypervisoren Xen. Denne lar deg kjøre Linux (og andre portede OS) virtualisert med tilnærmet full hastighet, selv uten noe spesiell hardware-støtte.
Vrimmel kjører hypervisoren Xen. Denne lar deg kjøre Linux (og andre portede OS) virtualisert med tilnærmet full hastighet, selv uten noe spesiell hardware-støtte.
== Ytelse ==
Her er en (dårlig) benchmark som viser ytelsesforskjellen på vrimmel og i en vm.
Først kjører jeg en dum test av CPU-ytelse (SuperPi, regner ut desimaler i π).
Så laster jeg ned en stor fil fra flode over sftp.
Deretter laster jeg ned emacs fra ftp.gnu.org, pakker ut og kompilerer både rett på jernet og i VMen (ikke samtidig).
Jeg bruker standard konfigurasjon og ingen opsjoner på noe som helst.
Vrimmel kjører her 4x 10k rpm disker i RAID-5, har 2GB minne (hvorav 1GB er brukt av VMen) og full tilgang til alle CPUene.
VMen har tilgang til 2 VCPUer, 1GB minne og en 10k rpm disk. Nettverkstilgangen til VMen er bridget igjennom Vrimmel.
{|
! Test
! På jernet
! I vm
! relativ ytelse
|-
| SuperPi 20
|49s
|51s
|96%
|-
| scp 363MB
|28.0 MB/s
|20.2 MB/s
|72%
|-
|tar jxf emacs
|30.6s
|30.2s
|99%
|-
| make emacs
|233s
|343s
|69%
|}
Vi ser at ytelsen i VMen varierer fra ca. 70% til opp mot 100%. Noe skyldes kanskje forskjeller i IO-subsystemet på VMen og Vrimmel selv (som har batteri-backet RAID). Jeg kommer sikkert til å kjøre nye tester når VMene også kjører fra et RAID-5 array.


== Hvordan bruke vrimmel ==
== Hvordan bruke vrimmel ==
Line 7: Line 46:
Logg inn som root.
Logg inn som root.


Se på konfigurasjonseksemplet skynet-01 som ligger i /root/. Ta en kopi av denne, kall den <vmnavn>.cfg og juster etter behov. Legg spesielt merke til konfigurasjonen av disken for den virtuelle maskinen, her må du (ihvertfall for øyeblikket) finne en _ledig_ disk å bruke.
Se på konfigurasjonseksemplet skynet-01 som ligger i /root/. Ta en kopi av denne, kall den <vmnavn>.cfg og juster etter behov. Legg spesielt merke til konfigurasjonen av disken for den virtuelle maskinen, her må du (ihvertfall for øyeblikket) finne en _ledig_ disk å bruke. Dersom du vil ha samme MAC på nettverksinterfacet hver gang VMen starter, må du spesifisere den selv.


Kjør følgende kommando. Dersom alt er i orden, skal installasjonen av debian starte:
Kjør følgende kommando. Dersom alt er i orden, skal installasjonen av debian starte:
Line 15: Line 54:
Installer som normalt.
Installer som normalt.


For å starte VMen etter installasjon (og ellers), bruk xm create -c <vmnavn>.cfg
For å starte VMen etter installasjon (og ellers), bruk xm create <vmnavn>.cfg
 
Hvis alt fungerer bør du dytte configen din inn i /etc/


Disse instruksene er for det meste stjålet fra http://wiki.debian.org/Xen , som er et flott sted å begynne å lete dersom du har flere spørsmål.
Disse instruksene er for det meste stjålet fra http://wiki.debian.org/Xen , som er et flott sted å begynne å lete dersom du har flere spørsmål.
Line 21: Line 62:
== Andre nyttige kommandoer ==
== Andre nyttige kommandoer ==


xm list
"xm list" - liste over kjørende VMs, hvorav Dom0 er vrimmel selv.
 
"xentop" - top, for virtuelle maskiner
 
"xm console <vmnavn>" - Koble til konsollet. Denne stjeler terminalen din. Jeg klarte å komme ut igjen en gang ved hjelp av kontroll, option, shift, escape og noen taster oppe i høyre hjørne av det alfanumeriske tastaturet. (Ikke så lett med C-] når man har mac.
 
"xm shutdown <vmnavn>" - sender et shutdown-signal til VMen, eller
 
"xm destroy <vmnavn>" - tilsvarer å nappe ut strømkabelen.
 
"xm migrate <vmnavn> <vert> --live" - overfører vmen til en annen maskin mens den kjører, uten avbrudd. Veldig fancy.
 
== TODO ==


xentop
- Sett opp diskene på en fornuftig måte (RAID-5 med LVM?)
- Lag et helt ferdigrullet oppsett for debian (ferdig installert, satt opp)
- Lag et script for å opprette en maskin ut ifra dette "ny-vm hagbart"
- Test stabilitet under last med flere VMer
- Kjør ytelsestesting for å kvantifisere ytelsestapet av å kjøre i en vm

Revision as of 09:21, 1 May 2010

Hva gjør vrimmel

Vrimmel kjører hypervisoren Xen. Denne lar deg kjøre Linux (og andre portede OS) virtualisert med tilnærmet full hastighet, selv uten noe spesiell hardware-støtte.

Ytelse

Her er en (dårlig) benchmark som viser ytelsesforskjellen på vrimmel og i en vm. Først kjører jeg en dum test av CPU-ytelse (SuperPi, regner ut desimaler i π). Så laster jeg ned en stor fil fra flode over sftp. Deretter laster jeg ned emacs fra ftp.gnu.org, pakker ut og kompilerer både rett på jernet og i VMen (ikke samtidig). Jeg bruker standard konfigurasjon og ingen opsjoner på noe som helst. Vrimmel kjører her 4x 10k rpm disker i RAID-5, har 2GB minne (hvorav 1GB er brukt av VMen) og full tilgang til alle CPUene. VMen har tilgang til 2 VCPUer, 1GB minne og en 10k rpm disk. Nettverkstilgangen til VMen er bridget igjennom Vrimmel.

Test På jernet I vm relativ ytelse
SuperPi 20 49s 51s 96%
scp 363MB 28.0 MB/s 20.2 MB/s 72%
tar jxf emacs 30.6s 30.2s 99%
make emacs 233s 343s 69%

Vi ser at ytelsen i VMen varierer fra ca. 70% til opp mot 100%. Noe skyldes kanskje forskjeller i IO-subsystemet på VMen og Vrimmel selv (som har batteri-backet RAID). Jeg kommer sikkert til å kjøre nye tester når VMene også kjører fra et RAID-5 array.

Hvordan bruke vrimmel

Logg inn som root.

Se på konfigurasjonseksemplet skynet-01 som ligger i /root/. Ta en kopi av denne, kall den <vmnavn>.cfg og juster etter behov. Legg spesielt merke til konfigurasjonen av disken for den virtuelle maskinen, her må du (ihvertfall for øyeblikket) finne en _ledig_ disk å bruke. Dersom du vil ha samme MAC på nettverksinterfacet hver gang VMen starter, må du spesifisere den selv.

Kjør følgende kommando. Dersom alt er i orden, skal installasjonen av debian starte:

xm create -c xm-debian.cfg install=true install-mirror=ftp://ftp.no.debian.org/debian

Installer som normalt.

For å starte VMen etter installasjon (og ellers), bruk xm create <vmnavn>.cfg

Hvis alt fungerer bør du dytte configen din inn i /etc/

Disse instruksene er for det meste stjålet fra http://wiki.debian.org/Xen , som er et flott sted å begynne å lete dersom du har flere spørsmål.

Andre nyttige kommandoer

"xm list" - liste over kjørende VMs, hvorav Dom0 er vrimmel selv.

"xentop" - top, for virtuelle maskiner

"xm console <vmnavn>" - Koble til konsollet. Denne stjeler terminalen din. Jeg klarte å komme ut igjen en gang ved hjelp av kontroll, option, shift, escape og noen taster oppe i høyre hjørne av det alfanumeriske tastaturet. (Ikke så lett med C-] når man har mac.

"xm shutdown <vmnavn>" - sender et shutdown-signal til VMen, eller

"xm destroy <vmnavn>" - tilsvarer å nappe ut strømkabelen.

"xm migrate <vmnavn> <vert> --live" - overfører vmen til en annen maskin mens den kjører, uten avbrudd. Veldig fancy.

TODO

- Sett opp diskene på en fornuftig måte (RAID-5 med LVM?)
- Lag et helt ferdigrullet oppsett for debian (ferdig installert, satt opp)
- Lag et script for å opprette en maskin ut ifra dette "ny-vm hagbart"
- Test stabilitet under last med flere VMer
- Kjør ytelsestesting for å kvantifisere ytelsestapet av å kjøre i en vm