Multipass

Noen ganger så trenger man rett og slett bare flere datamaskiner. For meg så betyr det ofte at jeg ønsker et par Linux maskiner. Jeg har i flere år brukt VMware Workstation til å lage virtuelle maskiner (fra nå av bare kalt VM) som jeg kjører på min PC med Microsoft Windows. Dette fungerer alldeles utmerket, men det blir gjerne litt arbeid å holde VMene jeg trenger oppdatert med siste versjon av Linux (i dette innlegget så betyr Linux en Ubuntu distribusjon). I praksis så har jeg lastet ned siste versjon av Ubuntu Server, opprettet en VM (i VMware Workstation), installert og konfigurert OSet (operativsystem), lastet ned patcher og så var man klar. Dette kan fort ta litt tid og egentlig ikke det man ønsker å bruke tid på. Så hva hvis man hadde sin egen lille mini-sky på PCen (eller Mac for den del) med den siste versjonen av Ubuntu, og iløpet av minuter ha en eller flere VMer oppe og kjøre? Det er her Multipass kommer inn. Multipass for Microsoft Windows (kan lastes ned her) er i skrivende stund rett under 19MB og kan vel sies å være bitte liten. Siden jeg har Windows 10 Enterprise (gjelder også Pro) som er versjon 1803 eller senere så er Hyper-V en del av OSet (for de som har andre Windows-versjoner så trenger man Virtualbox). Installasjonen er gjort på et par minutter. Nå må dere ikke tro at du får noe fancy GUI (Graphical User Interface) eller grafisk brukergrensesnitt som det heter på norsk. Nei, vi snakker her om kommandolinje eller CLI (Command Line Interface) som det også kalles. For de som er vant til Linux så er jo dette elementært. Det eneste man trenger å gjøre er å starte et Windows PowerShell. Kommandoen man bruker heter ikke akkurat overraskende «multipass». For å starte en VM med siste versjon av Ubuntu LTS (Long Term Support) så skriver man følgende:

multipass launch

Siste versjon lastes ned og før man vet ordet av det så har man en VM kjørende på PCen. Ønsker man å kjøre en annen versjon så kan man få en liste over hva som er tilgjengelig ved å skrive:

multipass find

For å liste VMene som kjører skriver man følgende kommando:

multipass list

VMene som man oppretter får kule navn hvis man ikke spesifiserer navnet med parameteret «–name» (navnene må være unike for VMene). I eksemplene under heter en slik VM: «keen-yak». Ønsker man mer utvidet informasjon om en VM så kan man skrive:

multipass info keen-yak
Name:           keen-yak
State:          RUNNING
IPv4:           10.140.94.253
Release:        Ubuntu 18.04.1 LTS
Image hash:     d53116c67a41 (Ubuntu 18.04 LTS)
Load:           0.00 0.12 0.18
Disk usage:     1.1G out of 4.7G
Memory usage:   71.6M out of 985.4M

For å koble seg til en VM så kan man enten kjøre en kommando i PowerShell eller starte et Shell ved å høyreklikke på Multipass-ikonet i systemstatusfeltet og velge «Open Shell» på den aktuelle VMen. Dette åpner et nytt PowerShell-vindu og man er innlogget på VMen. Kommandoen for å starte et shell fra PowerShell er:

multipass shell keen-yak

Hvis man ikke har noen VMer kjørende og man trykker på «Open Shell» i GUIen eller skriver følgende kommando i PowerShell:

multipass shell

Så opprettes det en VM (siste Ubuntu LTS med standard CPU (Central Processing Unit), disk og minne) som får navnet «primary». Man ville fått det samme resultatet om man hadde kjørt følgende kommando:

multipass launch --name primary

Primary instansen har også automatisk «home mount» som det så fint heter. Det betyr at innholdet i Windows-katalogen «C:\Users\Rosabloggen» (Windows-brukeren heter her «Rosabloggen») er tilgjengelig på en katalog «Home» i VMen. Man kan da overføre filer mellom Windows og Linux på en enkel måte ved f.eks å bruke Linux-kommandoen «cp» (forkortelse for copy). Det er også mulig å koble andre mapper på andre VMer ved å bruke kommandoen «mount». Syntaksen er slik:

 multipass mount C:\mappe primary:/home/ubuntu/win_mappe

For å fjerne en kobling brukes kommandoen «umount».

multipass umount primary:Home

Man kan starte («start»), stoppe («stop»), slette («delete»), gjenopprette («recover») og permanent fjerne («purge») sletta VMer med følgende kommandoer:

multipass stop keen-yak
multipass start keen-yak
multipass delete keen-yak
multipass recover keen-yak
multipass purge

Ønsker man å spesifisere CPU, disk og minne så kan man bruke parametere til dette. F.eks en VM med 2 CPUer, 10GB lagring og 2GB med minne  så skriver man følgende:

multipass launch --cpus 2 --disk 10G --mem 2G

En standard VM har 1 CPU, 5GB disk og 1GB minne. For å liste alle parameterne så brukes «help»-kommandoen (dette gjelder forresten ikke bare «launch» men alle kommandoene) slik som dette:

multipass help launch

Da er det bare å hive seg rundt folkens og opprette VMer, men husk å stoppe de og rydde opp når du er ferdig for de liker å kose seg i bakgrunnen hvis du glemmer det. Just saying!