Wyszukiwanie w witrynie

Jak utworzyć szablon maszyny wirtualnej KVM


Szablon maszyny wirtualnej to w zasadzie kopia zainstalowanej maszyny wirtualnej, która przydaje się, gdy chcesz wdrożyć wiele instancji maszyn wirtualnych. Tworzenie szablonu to 3-etapowy proces obejmujący utworzenie maszyny wirtualnej, zainstalowanie wszystkich wymaganych pakietów, które chcesz zainstalować, i na koniec oczyszczenie szablonu.

Pójdźmy dalej i zobaczmy, jak możesz to osiągnąć.

Krok 1: Instalacja KVM w systemie Linux

Pierwszym krokiem jest instalacja KVM w Twoim systemie. Mamy obszerne tutoriale na temat:

  • Jak zainstalować KVM na Ubuntu 20.04
  • Jak zainstalować KVM na CentOS 8

Dodatkowo upewnij się, że demon libvirtd jest uruchomiony i ma włączoną opcję automatycznego uruchamiania systemu podczas uruchamiania.

sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Sprawdź, czy demon libvirtd jest uruchomiony.

sudo systemctl status libvirtd

Jeśli używasz systemu Ubuntu/Debian, upewnij się, że załadowany jest obraz vhost-net.

sudo modprobe vhost_net

Krok 2: Utwórz obraz wirtualny KVM

Zanim przystąpimy do tworzenia szablonu, musimy przede wszystkim posiadać instancję instalacyjną. W wierszu poleceń utworzymy obraz 20G CentOS 8 KVM za pomocą polecenia qemu-img, jak pokazano.

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

Następnie użyj polecenia virt-install, aby utworzyć maszynę wirtualną CentOS 8, jak pokazano.

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

Spowoduje to uruchomienie instancji maszyny wirtualnej. Możesz to potwierdzić, przechodząc do virt-managera i otwierając okno konsoli, jak pokazano. Zobaczysz domyślną stronę powitalną instalatora. Pamiętaj o dokończeniu instalacji do samego końca.

Krok 3: Tworzenie obrazu szablonu maszyny wirtualnej KVM

Po zakończeniu instalacji zaloguj się do maszyny wirtualnej i zaktualizuj wszystkie pakiety systemowe.

sudo dnf update

Zainstaluj wymagane pakiety, które Twoim zdaniem są niezbędne na początek. W tym przypadku zainstaluję wydanie EPEL, wget, curl, net-tools i vim. W Twoim przypadku może to wyglądać inaczej.

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

Jeśli zamierzasz wdrożyć swój szablon na platformie chmurowej, zainstaluj pakiety cloud-init, jak pokazano.

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

Następnie wyłącz trasę zeroconf.

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

Po zakończeniu pamiętaj o wyłączeniu maszyny wirtualnej i oczyszczeniu obrazu szablonu maszyny wirtualnej, jak pokazano.

sudo virt-sysprep -d centos8

virt-sysprep to narzędzie wiersza poleceń, które resetuje maszynę wirtualną w celu utworzenia z niej klonów. Usuwa wpisy, takie jak klucze hosta SSH, pliki dziennika, konta użytkowników i niektóre trwałe konfiguracje sieci. Aby skorzystać z polecenia, należy najpierw zawsze upewnić się, że maszyna wirtualna jest wyłączona.

sudo virt-sysprep -d centos8

Na koniec wywołaj pokazane polecenie, aby cofnąć definicję domeny maszyny wirtualnej.

sudo virsh undefine centos8

Obraz szablonu jest teraz gotowy do klonowania i wdrożenia.