Tworzenie szablonów maszyn wirtualnych KVM w oparciu o Openstackowe obrazy systemów - Proxmox

Poradniki
poradnik-miesiąca, proxmox
KrEdEnS
KrEdEnS Moderator Freebies

Wprowadzenie:

Cześć, masz już dość czasochłonnej i monotonnej instalacji nowych VM-ek? Denerwuje Ciebie pies sąsiada? A może sąsiad złodziej jeden :nosacz:? To poradnik właśnie dla Ciebie, możesz go odblokować tylko za jedyne 9,97 PLN ❤️

Szablony wirtualnych maszyn to duże udogodnienie, dla każdego kto dużo psuje chce przyspieszyć swoją pracę / zaoszczędzić czas na banalnych rzeczach lub chciałby posiadać VM-ke prima sorta nówka sztuka nieśmiganą od sąsiada za zachodniej granicy 🇩🇪 :nosacz:

Przykładowe obrazy systemów:

Debian 9:

  • Defaultowy użytkownik: debian
  • Obraz do pobrania: wget https://cdimage.debian.org/cdimage/openstack/current-9/debian-9-openstack-amd64.qcow2

Debian 10:

  • Defaultowy użytkownik: debian
  • Obraz do pobrania: wget https://cdimage.debian.org/cdimage/openstack/current-10/debian-10-openstack-amd64.qcow2

Debian 11:

  • Defaultowy użytkownik: debian
  • Obraz do pobrania: wget https://cdimage.debian.org/cdimage/cloud/bullseye/latest/debian-11-genericcloud-amd64.qcow2

Ubuntu 18.04:

  • Defaultowy użytkownik: ubuntu
  • Obraz do pobrania: wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

Ubuntu 20.04:

  • Defaultowy użytkownik: ubuntu
  • Obraz do pobrania: wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img

Centos 7:

  • Defaultowy użytkownik: centos
  • Obraz do pobrania: wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2

Centos 8:

  • Defaultowy użytkownik: centos
  • Obraz do pobrania: wget http://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2

Archlinux:

  • Defaultowy użytkownik: arch
  • Obraz do pobrania: wget https://linuximages.de/openstack/arch/arch-openstack-LATEST-image-bootstrap.qcow2

Edycja gotowych obrazów (dla zaawansowanych użytkowników):

Jeżeli jesteśmy bardzo wybredni i mamy ochotę na szybką edycję pobranego obrazu to nic straconego! Wszystko dzięki narzędziu virt-edit.

  1. Instalujemy paczkę zawierającą virt-edit: apt-get install libguestfs-tools

  2. Wszystko super, ale żeby używać vima to aż tak zdesperowani nie jesteśmy, dlatego zmieńmy go na ukochane nano 😍 Na początku sprawdźmy, czy może już nie używamy nano: printenv | grep EDITOR Jeżeli nie no to cyk dwójeczka :nosacz:: export EDITOR=nano

  3. Jeżeli mamy już pobrany obraz możemy go edytować wpisując: virt-edit -a nasz-obraz.qcow2 /ścieżka/do/naszego/pliku.rozszerzenie virt-edit -a nasz-obraz.img /ścieżka/do/naszego/pliku.rozszerzenie virt-edit -a nasz-obraz.raw /ścieżka/do/naszego/pliku.rozszerzenie

  4. Przykładowe edytowanie pliku sshd_config na obrazie Debiana 10: virt-edit -a debian-10-openstack-amd64.qcow2 /etc/ssh/sshd_config image|657x500, 75%

  5. Jeżeli chcemy edytować plik konfiguracyjny CloudInita znajduje się on w lokalizacji: /etc/cloud/cloud.cfg

Przykładowe tworzenie szablonu (wersja uproszczona z wykorzystaniem GUI):

  1. Logujemy się do Proxmoxa i pobieramy interesujący nasz obraz, ja będę bazować na Debianie 10: wget https://cdimage.debian.org/cdimage/openstack/current-10/debian-10-openstack-amd64.qcow2 image|690x217

  2. Tworzymy KVM-ke, którą później przekształcimy w szablon: image|690x498, 50% image|685x500, 50% image|688x500, 50% image|688x500, 50% image|687x500, 50% image|690x496, 50% image|690x498, 50%

  3. Przechodzimy do utworzonej VM-ki i usuwamy jest dysk: image|687x387, 75% image|671x381, 75%

  4. Wracamy do terminala node, na którym tworzymy templatke i importujemy pobrany obraz: qm importdisk 116 debian-10-openstack-amd64.qcow2 local -format qcow2 gdzie 116 to ID naszej maszyny wirtualnej a debian-10-openstack-amd64.qcow2 to nazwa obrazu, który pobraliśmy w pierwszym kroku. W rezultacie powinniśmy zobaczyć: Successfully imported disk as 'unused0:local:116/vm-116-disk-0.qcow2' image|659x45

  5. Następnym krokiem będzie podpięcie zaimportowanego dysku: qm set 116 --scsihw virtio-scsi-pci --scsi0 local:116/vm-116-disk-0.qcow2 gdzie 116 to ID naszej maszyny wirtualnej a local:116/vm-116-disk-0.qcow2 to output z poprzedniego polecenia image|690x53

  6. Wracamy do naszej KVM-ki, dodajemy Port Szeregowy i Dysk CloudInit: image|377x399 image|372x184 image|388x415 image|316x213

  7. Przechodzimy do zakładki Opcje i zmieniamy kolejność bootowania systemu: image|675x500, 75%

  8. Ostatnim krokiem będzie przekształcenie naszej VM-ki na szablon: image|287x229

  9. Halyna przynieś szampana gotowe, świętujemy :nosacz:: To koniec, teraz możemy używać naszej templatki do woli 🎉

Jak korzystać z naszego szablonu?

  1. Klonujemy templatke: image|256x107 image|603x252, 75%

  2. Dopasowujemy parametry VM-ki do naszych potrzeb, przykładowo zwiększę dysk do 10GB: image|587x319, 75% image|267x152

  3. Ustawiamy hasło, adres IP i bramę dla naszej VM-ki (pamiętaj o zmianie MAC adresu): image|575x399, 75%

  4. No i gotowe szefie, odpalaj machinę :kappa:: image|690x429, 75% image|690x252, 75%

Odblokowanie korzenia użytkownika root

Postępuj zgodnie z poniższymi komendami :P

  • Przelogowanie na użytkownika root: sudo su
  • Ustawienie na nim hasła: passwd
  • Edycja pliku konfiguracyjnego serwera SSH: nano /etc/ssh/sshd_config Zmieniamy PermitRootLogin na yes i usuwamy # image|232x108
  • Restart serwera SSH: service sshd restart

|84x126Poradnik miesiąca: grudzień 2020

opkarol11
opkarol11

Nice tutek

Majem
Majem

Rewelacja.Nie wiedziałem właśnie jak podejść do tematu ale teraz sprawa jest prosta