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
.
-
Instalujemy paczkę zawierającą virt-edit:
apt-get install libguestfs-tools
-
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
-
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
-
Przykładowe edytowanie pliku sshd_config na obrazie Debiana 10:
virt-edit -a debian-10-openstack-amd64.qcow2 /etc/ssh/sshd_config
-
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):
-
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
-
Tworzymy KVM-ke, którą później przekształcimy w szablon:
-
Przechodzimy do utworzonej VM-ki i usuwamy jest dysk:
-
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' -
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 -
Wracamy do naszej KVM-ki, dodajemy Port Szeregowy i Dysk CloudInit:
-
Przechodzimy do zakładki Opcje i zmieniamy kolejność bootowania systemu:
-
Ostatnim krokiem będzie przekształcenie naszej VM-ki na szablon:
-
Halyna przynieś szampana gotowe, świętujemy :nosacz:: To koniec, teraz możemy używać naszej templatki do woli 🎉
Jak korzystać z naszego szablonu?
-
Klonujemy templatke:
-
Dopasowujemy parametry VM-ki do naszych potrzeb, przykładowo zwiększę dysk do 10GB:
-
Ustawiamy hasło, adres IP i bramę dla naszej VM-ki (pamiętaj o zmianie MAC adresu):
-
No i gotowe szefie, odpalaj machinę :kappa::
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 # - Restart serwera SSH:
service sshd restart