Opprette ny virtuell maskin i kvm

Eg kjøyrer kvm på Ubuntu-serveren min heime. For dei uinnvidde kan kvm (Kernel-based Virtual Machine) forklarast som ein måte å kjøre fleire virtuelle datamaskiner på ei datamaskin. Det finnes masse dokumentasjon på korleis du set det opp, så det har eg ikkje tenkt å skriva noko om no. Diverre er det så sjeldan eg oppretter nye virtuelle maskiner at eg er litt usikker på detaljane kvar gang eg gjer det og det er sikkert fleire enn meg som slit med det. Difor har eg laga ein liten «howto» på korleis ein kan gjere det på den manuelle måten med libvirt og virsh. Det er også ein enkel forklaring på nokre av parameterane. Den forutsett litt kunskap om  kvm, virsh og xml (og sjølvsagt Linux).

Det er fleire måter å opprette diskfiler på. Her er eit par eksempel:

qemu-img create -f qcow2 /kvm/foobar/disk0.qcow2 32G
dd if=/dev/zero of=/kvm/foobar/disk1.img count=0 seek=$[32*1024*1024*2]

Opprett ei xml fil med beskrivelse av den virtuell maskina. Fila lagres som foobar.xml:

<domain type='kvm'>
  <name>foobar</name>
  <uuid>ec5293c1-9949-44d8-b1d0-3c8dd7336e63</uuid>
  <memory>2097152</memory>
  <currentMemory>2097152</currentMemory>
  <vcpu>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-0.11'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='cdrom'>
      <source file='/kvm/foobar/debian-504-amd64-netinst.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <disk type='file' device='disk'>
      <source file='/kvm/foobar/disk0.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <disk type='file' device='disk'>
      <source file='/kvm/foobar/disk1.qcow2'/>
      <target dev='vdb' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <mac address='52:54:de:ad:be:ef'/>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5920' autoport='no' listen='192.168.10.50'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>

Denne xml fila må sjølvsagt tilpassas dine behov. Det meste er sjølvforklarande, men det er nokre verdiar som alltid bør endrast:
* <name>: namnet på vm-en.
* <uuid>: bruk kommandoen uuidgen for å generere ein unik id.
* <source>: sti og filnamn til diskfila.
* <mac address>: denne må være unik. Heximal (0-9,a-f).
* <graphics>: port=’unik port på 59xx’, listen=’ip til serveren kvm kjører på’.

Då må fila lesast inn i med vrish. Kjøyr kommandoen virsh define foobar.xml og start med virsh start foobar. Då er det bare å ta favoritt vnc-klient, logge seg på og starte installasjonen. Når operativsystemet er ferdig installert må <boot dev=’cdrom’> endrast til <boot dev=’hd’> for at den skal boote frå diskimaget. Dette kan enklart gjerast ved å kjøre virsh edit foobar, gjere nødvendige endringer. Restart vm’en.

0 kommentarer til “Opprette ny virtuell maskin i kvm”


  • Ingen kommentarer

Skriv en kommentar