Hvordan lage en KVM Virtual Machine-mal


En virtuell maskinmal er i hovedsak en kopi av den installerte virtuelle maskinen som kommer godt med når du vil distribuere flere forekomster av virtuelle maskiner. Å lage en mal er en 3-trinns prosess som innebærer å lage en virtuell maskin, installere alle nødvendige pakker som du vil installere, og til slutt rydde opp i malen.

La oss gå videre og se hvordan du kan oppnå dette.

Trinn 1: Installere KVM i Linux

Det første trinnet er å installere KVM på systemet ditt. Vi har omfattende veiledninger om:

  • Hvordan installere KVM på Ubuntu 20.04
  • Hvordan installere KVM på CentOS 8

I tillegg, sørg for at libvirtd-demonen kjører og aktiveres automatisk ved oppstart.

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Bekreft om libvirtd-daemonen kjører.

sudo systemctl status libvirtd

Hvis du kjører et Ubuntu/Debian-system, sørg for at vhost-net-bildet er lastet inn.

sudo modprobe vhost_net

Trinn 2: Lag et virtuelt KVM-bilde

Før vi begynner å lage en mal, må vi først og fremst ha en installasjonsforekomst. På kommandolinjen skal vi lage et 20G CentOS 8 KVM-bilde ved å bruke qemu-img-kommandoen som vist.

sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos8.qcow2 20G

Deretter bruker du kommandoen virt-install for å lage en CentOS 8 virtuell maskin som vist.

sudo virt-install --virt-type kvm --name centos8 --ram 2096 \
--disk /var/lib/libvirt/images/centos8.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7.0 \
--location=/home/tecmint/Downloads/CentOS-8-x86_64-1905-dvd1.iso

Dette starter den virtuelle maskinforekomsten. Du kan bekrefte dette ved å gå over til virt-manageren og åpne konsollvinduet som vist. Det du kan se er standard velkomstside for installatøren. Sørg for å fullføre installasjonen til slutten.

Trinn 3: Opprette malbilde for KVM Virtual Machine

Når installasjonen er fullført, logger du på VM og oppdaterer alle systempakkene.

sudo dnf update

Installer forutsetningspakkene som du føler er avgjørende for å komme i gang med. I dette tilfellet vil jeg installere EPEL release, wget, curl, net-tools og vim. Dette kan være annerledes for ditt tilfelle.

sudo dnf install epel-release wget curl net-tools vim

Hvis du har tenkt å distribuere malen din på en skyplattform, installer cloud-init-pakkene som vist.

sudo dnf install cloud-init cloud-utils-growpart acpid

Deretter deaktiverer du zeroconf-ruten.

echo "NOZEROCONF=yes" >> /etc/sysconfig/network

Når du er ferdig, sørg for å slå av den virtuelle maskinen og rydde opp i VM-malbildet som vist.

sudo virt-sysprep -d centos8

virt-sysprep er et kommandolinjeverktøy som tilbakestiller en virtuell maskin for å lage kloner fra den. Den fjerner oppføringer som SSH-vertsnøkler, loggfiler, brukerkontoer og noen vedvarende nettverkskonfigurasjoner. For å bruke kommandoen må du først alltid sørge for at VM er slått av.

sudo virt-sysprep -d centos8

Til slutt, påkall kommandoen som vises for å udefinere VM-domenet.

sudo virsh undefine centos8

Malbildet er nå klart for kloning og distribusjon.