Maskiner/Vrimmel
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