Maskiner/Vrimmel

From Programvareverkstedet

Hva gjør vrimmel

Vrimmel kjører hypervisoren Xen. Denne lar deg kjøre Linux (og andre portede OS, som for eksempel Plan 9) virtualisert med tilnærmet full hastighet, selv uten noe spesiell hardware-støtte. Dom0 (base-OSet) er Debian Squeeze.

Vrimmel har vondt i RAIDet sitt

RAID6et er ikke lenger tilgjengelig, muligens pga. diskfeil, eller problemer som oppsto i oppgraderingen fra Lenny til Squeeze. Dette gjør at det er dårlig med diskplass og -ytelse til vmer.

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 example.cfg som ligger i /root/. Ta en kopi av denne, kall den <vmnavn>.cfg og juster etter behov. Dersom du vil ha samme MAC på nettverksinterfacet hver gang VMen starter, må du spesifisere den selv.

Opprett en passende lvm-partisjon for din vm på raidet med "lvcreate xenvm -L 20G -n <vmnavn>". Husk å sette opp disken i config-fila.

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

xm create -c <vmnavn>.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/xen . Legg en symlink til configen i /etc/xen/auto for å starte VMen ved boot.

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.

Lagring

Vrimmel er koblet til et diskkabinett av typen PowerVault 200s (PV200s) med en masse 10k rpm scsi-disker. Denne er for øyeblikket i "split bus mode", som betyr at diskene er delt inn i to separate grupper på 7, som er koblet til SCSI-kortet i Vrimmel med hver sin kabel. 6 av disse diskene (3 fra hver buss) er satt opp i Linux software RAID6 som /dev/md2 og det er lagd en LVM PV/VG på denne. I tillegg er to disker satt opp som spare for arrayet.

TODO

- Lag et helt ferdigrullet oppsett for debian (ferdig eller automatisk installasjon og pvv-oppsett)
- Lag et script for å opprette en maskin ut ifra dette "ny-vm.sh <vmnavn>"
- Kjør nye ytelsestester