Göm menyn

TDDI41 Grundläggande systemadministration

Virtuella maskiner och QEMU

Labbens mål

  • Få igång labbmiljön
  • Grundläggande förståelse för virtuella maskiner

Vad är en VM?

Virtuell maskiner (Virtual machines) är datorer som kör "ovanpå" andra datorer. Antingen genom emulering där ett vanligt program läser maskinkod och låtsas vara hårdvara, eller genom hårdvaruacceleration, där datorn är byggd för att kunna köra "kopior" av sig själv vilka är avgränsade från resten av systemet.

Hantering av virtuella maskiner görs genom en Hypervisor (även kallar VMM), vilka kommer i två varianter:

Typ 1
Vilka kör direkt på hårdvaran, istället för ett "vanligt" operativsystem.
  samt
Typ 2
Vilka kör som ett program i ett "vanligt" operativsystem.
I den här kursen kommer vi hållas oss till typ 2, mer exakt till QEMU.

Med avseende till virtuella maskiner:

  1. Vilken/vilka är gästmaskinerna?
  2. Vilken/vilka är värdmaskinerna?
Inlämning: svar på ovanstående.

Mer finns på QEMUs hemsida. Även Wikipedia och RedHat's sidor håller i regel hög kvalitet. Notera dock att RedHat är en annan Linuxdistribution än den vi använder, och där med inte 100% kompatibelt.

Praktiskt i den här kursen

Ctrl-Alt-G för att få loss musen ur QEMU.

/courses/TDDI41/start_single.sh
Startar en fullt konfigurerad Linuxmaskin med nätverk, framförallt för de tidiga labbarna.
/courses/TDDI41/start_project.sh [antal]
Startar antal eller 4 (ännu okonfigurarade) Linuxmaskiner. Framförallt för de senare labbarna.

Varje maskins filsystem kommer sparas om en fil i ~/machine. För att nollställa en eller alla maskiner, ta bort respektive fil.

Varje maskin startad genom dem kommer med ett eget fönster som håller maskinens "råa" terminal. Det går att skriva kommandon i den direkt, men rekommenderas inte då klippa/klistra inte är möjligt. Över thinlinc är det dessutom ibland problem med tangentbordet. Istället rekommenderas SSH.

SSH och SCP

SSH
står för Secure Shell och är standardsättet att få en prompt på en annan maskin över internet. För att ansluta som användaren "användare" till maskinen "maskin" kör man i ett skal:
ssh användare@maskin
	
SSH ansluter som standard på port 22. Om man vill använda en annan port skickar man med en -p flagg. T.ex. för användaren root på port 2220, på maskinen "maskin".
ssh -p 2220 root@maskin
	
SCP
ligger ovanpå SSH, och används för att kopiera filer mellan maskiner.

Användning i kort är

scp  fil-vi-har  vart-vi-vill-ha-den
	
För att kopiera filen /etc/passwd från er användare på 'ssh.edu.liu.se', till er lokala maskin skulle man skriva
scp liu-id@ssh.edu.liu.se:/etc/passwd ./
	
Notera att kolon krävs mellan maskinnamnet och filens sökväg. Notera även att målfilen är en mapp. Då bibehålls filens namn.
Djupare genomgång av hur man kör program samt kommandoradsflaggor finns i LXB labben.

Uppgift

Starta VM:en

  1. I en terminal kör /courses/TDDI41/start_single.sh. Ni kommer få ett grafiskt fönster med en prompt.
  2. SSH:a in i maskinen från en annan lokal terminal med ssh -p 2220 root@localhost (byt ut 2220 om skriptet matade ur sig någonting annat)
  3. Stäng av maskinen med shutdown (från den in-ssh:ade skalet)

Kopiera filer till och från VM:en

  1. Sätt igång maskinen igen
  2. Kopiera filen /etc/network/interfaces från VM:en till er hemkatalog [förtydligande: den utanför VM:en, alltså på LiU-system]
  3. Kopiera mappen /etc/default och allt dess innehåll från VM:en till er hemkatalog [förtydligande: den utanför VM:en, alltså på LiU-system]
Inlämning: hur ni genomförde två sista punkterna.

Sidansvarig: Anders Fröberg
Senast uppdaterad: 2023-12-11