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.