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

KrEdEnS | 2021-08-20 18:52:10 UTC | #1

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 ? To poradnik właśnie dla Ciebie, możesz go odblokować tylko za jedyne ~~9,97 PLN~~ :heart:

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 :de:

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 :heart_eyes:
    Na początku sprawdźmy, czy może już nie używamy nano: printenv | grep EDITOR
    Jeżeli nie no to cyk dwójeczka : 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 :
    To koniec, teraz możemy używać naszej templatki do woli :tada:

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ę :
    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 | 2020-12-27 16:20:45 UTC | #2

Nice tutek


Majem | 2021-01-08 06:53:31 UTC | #3

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