Proxmox jest to platforma umożliwiająca tworzenie wirtualnych maszyn zarówno w pełnej wirtualizacji , jak i parawirtualizacji ( LXC). W tym wpisie dokonamy instalacji proxmox-a, skonfigurujemy go oraz uruchomimy pierwsze serwery.
Wymagania wstępne
Aby przejść ten wpis potrzebujesz:
- czysty (świeżo po instalacji) serwer dedykowany z systemem debian 9 64 bit
- dodatkowy adres ip
Serwer dedykowany możesz kupić w dowolnej firmie, aczkolwiek miło mi będzie jeśli zakupisz go u mnie. Dodatkowy ip musisz kupić w tej samej firmie co serwer dedykowany.
Dalsza część opisuje instalację przy założeniu iż mamy czystego debiana 9 – alternatywnie możesz zainstalować proxmox-a z obrazu ISO i przejść do sekcji “Tworzymy pierwszy serwer VPS (Virtual Machine)”.
Zadania przedinstalacyjne
Aby zainstalować poprawnie proxmox-a konieczna jest zgodność nazwy hosta tj hostname z adresem ip.
Otwieramy plik /etc/hosts i w linijce z adresem ip ustawiamy nazwę hosta – w moim przypadku plik wygląda tak:
1 2 3 4 5 6 7 8 9 | # cat /etc/hosts 127.0.0.1 localhost 185.38.250.13 devtest.marek.pro devtest # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters root@devtest:~# |
Po ustawieniu sprawdzamy poprawność trzema komendami – pierwsza i druga muszą zwrócić pełną nazwę hosta, trzecia – adres ip naszego serwera:
1 2 3 4 5 6 7 | # hostname devtest.marek.pro # hostname -f devtest.marek.pro # hostname --ip-address 185.38.250.13 # |
Instalacja proxmox
Najpierw aktualizujemy system i instalujemy pakiet aptitude:
1 2 3 | apt-get update apt-get dist-upgrade apt-get install aptitude |
Następnie dodajemy repozytorium proxmox-a i go instalujemy:
1 2 3 4 | echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg apt-get update aptitude install proxmox-ve postfix open-iscsi |
Po zainstalowaniu proxmox-a restartujemy system i sprawdzamy czy uruchomił się z odpowiednim kernelem:
1 2 | # uname -a Linux devtest.marek.pro 4.15.18-2-pve #1 SMP PVE 4.15.18-20 (Thu, 16 Aug 2018 11:06:35 +0200) x86_64 GNU/Linux |
Konfiguracja interfejsu sieciowego w proxmox
Logujemy się do proxmoxa pod adresem https://adres.ip:8006 , wpisujemy login i hasło do konta root:
Po lewej stronie wybieramy nasz serwer, następnie zakładkę “Sieć”–>”Utwórz”–>”Linux bridge” :
Tworzymy nowy interfejs:
Uzupełniamy podając adres ip, maskę podsieci, bramę domyślną i jako bridge port – nasz interfejs główny.
Uwaga: Jeśli po kliknięciu “Utwórz” otrzymamy komunikat iż gateway istnieje należy edytować nasz główny interfejs usuwając z niego adres ip gateway i ponowić dodanie interfejsu linux bridge.
Po dodaniu interfejsów restartujemy serwer.
Dodanie punku montowania
Jeżeli przy instalacji serwera dedykowanego nie ustawiałeś dodatkowych partycji, a całość jest na / – możesz pominąć ten punkt.
Ja zawsze konfiguruję 10 GB na /, a ( w przypadku wirtualizacji) resztę na /vz
Aby podmontować /vz wybieramy po lewej “Datacenter”–>”Przestrzeń”–>”Dodaj”–>”Katalog”:
Wypełniamy poniższe pola:
ID – nazwa, w moim przypadku vz
Katalog – podajemy punkt montowania ( /vz)
Zawartość – tutaj rozwijamy listę i zaznaczamy jakie rzeczy będziemy mogli mieć na danym punkcie montowania.
Zaznaczamy “Włącz”
Maksymalna ilość kopii – Ilość kopii danego serwera vps jaką możemy przechowywać w danym punkcie montowania/ jeżeli ustawimy na 1, nie będziemy mogli zrobić 2 kopii serwera.
Klikamy “Dodaj” i mamy dodany nasz punkt montowania
Tworzymy pierwszy serwer VPS (Virtual Machine)
Zanim stworzymy nasz pierwszy serwer wracamy do konsoli, przechodzimy do katalogu gdzie będą przechowywane obrazy ( domyślny to /var/lib/vz/template/iso , dla dodatkowych punktów mocowania to katalog /punktmontowania/template/iso ) i pobieramy sobie dowolne iso – np debiana:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # cd /vz/template/iso # wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso --2018-08-25 23:57:24-- https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso Translacja cdimage.debian.org (cdimage.debian.org)... 194.71.11.173, 194.71.11.165, 2001:6b0:19::173, ... Łączenie się z cdimage.debian.org (cdimage.debian.org)|194.71.11.173|:443... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 302 Found Lokalizacja: https://gensho.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso [podążanie] --2018-08-25 23:57:24-- https://gensho.ftp.acc.umu.se/debian-cd/current/amd64/iso-cd/debian-9.5.0-amd64-netinst.iso Translacja gensho.ftp.acc.umu.se (gensho.ftp.acc.umu.se)... 194.71.11.176, 2001:6b0:19::176 Łączenie się z gensho.ftp.acc.umu.se (gensho.ftp.acc.umu.se)|194.71.11.176|:443... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK Długość: 305135616 (291M) [application/x-iso9660-image] Zapis do: `debian-9.5.0-amd64-netinst.iso' debian-9.5.0-amd64-netinst.iso 100%[=======================================================================>] 291,00M 58,8MB/s in 5,3s 2018-08-25 23:57:30 (55,1 MB/s) - zapisano `debian-9.5.0-amd64-netinst.iso' [305135616/305135616] |
Wracamy do naszego panelu proxmoxa i po prawej stronie u góry wybieramy “Utwórz VM”
W zakładce “Główne” wpisujemy tylko nazwę serwera i klikamy “Dalej”:
W zakładce OS wybieramy opcje “Use CD/DVD disc image file (iso)”, przestrzeń (Local jeśli nie montowaliśmy zasobów, lub nazwe zasobu z rozdziału o montowaniu dodatkowych partycji) i nasze ISO pobrane przed chwilą w “ISO Image”.
Kolejna zakładka to Dyski:
Temat dysków jest bardzo szeroki i można o nim ( oraz o cache) przeczytać tutaj – na potrzeby wpisu ustawiamy jedynie przestrzeń i rozmiar naszego dysku i klikamy “Dalej”
Zakładka CPU – ustawiamy tam ile rdzeni i ile wątków ma mieć nasz serwer vps:
Kolejne dwie zakładki, czyli “Pamięć” – ustawiamy tam ilość RAM dla naszego serwera, oraz “Sieć” – zostawiamy wartości domyślne.
Na koniec mamy potwierdzenie konfiguracji naszego serwera:
Warto tutaj zaznaczyć “Start after created” by nasz serwer uruchomił się po utworzeniu.
Konfiguracja serwera VPS (Virtual Machine)
Po lewej stronie klikamy na “ptaszka” by rozwinąć listę serwerów, następnie na nasz serwer i zakładkę “Konsola”:
Po prawej stronie widzimy ekran startowy instalacji systemu.
Instalujemy system identycznie jak w przypadku instalacji serwera fizycznego z płyty, a po zainstalowaniu logujemy się poprzez SSH.
Tworzymy pierwszy serwer LXC
Przechodzimy do konsoli i pobieramy dowolny obraz do katalogu template/cache ( lista obrazów lxc jest tutaj )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # cd /vz/template/cache/ root@devtest:/vz/template/cache# wget http://download.proxmox.com/images/system/debian-9.0-standard_9.3-1_amd64.tar.gz --2018-08-26 00:36:53-- http://download.proxmox.com/images/system/debian-9.0-standard_9.3-1_amd64.tar.gz Translacja download.proxmox.com (download.proxmox.com)... 212.224.123.70, 2a01:7e0:0:424::249 Łączenie się z download.proxmox.com (download.proxmox.com)|212.224.123.70|:80... połączono. Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK Długość: 198072228 (189M) [application/octet-stream] Zapis do: `debian-9.0-standard_9.3-1_amd64.tar.gz' debian-9.0-standard_9.3-1_amd64.tar.g 100%[=======================================================================>] 188,90M 82,1MB/s in 2,3s 2018-08-26 00:36:56 (82,1 MB/s) - zapisano `debian-9.0-standard_9.3-1_amd64.tar.gz' [198072228/198072228] root@devtest:/vz/template/cache# |
Wracamy do naszego panelu proxmoxa i po prawej stronie u góry wybieramy “Utwórz CT”:
W zakładce głównej wpisujemy nazwę hosta ( hostname) oraz dwa razy hasło (nie polecam na tym etapie wybierania klucza, o tym dlaczego piszę kilka akapitów poniżej):
Po kliknięciu “Dalej” w zakładce “Szablon” wybieramy naszą przestrzeń ( punkt montowania) i obraz pobrany przed chwilą:
Kolejna zakładka, czyli “Root Disk” – wybieramy tam przestrzeń gdzie będzie obraz naszego serwera, i jego rozmiar:
Kolejne dwie zakładki:
- CPU- ustawiamy liczbę rdzeni CPU
- Pamięć – ustawiamy pamięć RAM oraz SWAP
Przechodzimy do zakładki “Sieć”:
Ustawiamy tutaj następująco:
- IPv4 – DHCP jeśli korzystamy z dynamicznej alokacji ip ( np instalujemy serwer w domu a router przydziela ip lokalne dynamicznie), lub Static jeśli chcemy ręcznie przypisać IP
Przy wybraniu “Static” wpisujemy adres ip wraz z CIDR – informacje o CIDR powinniście otrzymać od swojej firmy od której kupiliście IP - Gateway – brama domyślna dla danej adresacji IP
Kolejną zakładkę, tj “DNS” możemy zostawić z wartościami domyślnymi i przejść do podsumowania:
Zaznaczamy “Start after created” i klikamy “Koniec”.
Pokazuje nam się okno z postępem instalacji naszego kontenera i za chwilę jest on już zainstalowany:
W systemie debian 9 w tym szablonie nie ma możliwości logowania jako root, więc musimy sobie ten dostęp zrobić ( dlatego skonfigurowaliśmy logowanie po haśle).
Wybieramy po prawej stronie “ptaszek”, następnie nasz utworzony serwer i zakładkę “Konsola”:
Po prawej stronie mamy konsolę – logujemy się używając nazwy użytkownika “root” i ustawionego hasła.
Po zalogowaniu otwieramy plik konfiguracji ssh:
1 | nano /etc/ssh/sshd_config |
Znajdujemy:
1 | #PermitRootLogin prohibit-password |
Usuwamy chasz (#) i zmieniamy na:
1 | PermitRootLogin yes |
Po zapisaniu restartujemy ssh:
1 | service ssh restart |
Możemy już zalogować się poprzez ssh do serwera – po zalogowaniu pamiętaj by przynajmniej:
- włączyć logowanie po kluczu i wyłączyć po haśle
- zmienić port ssh
Gotowe – nasz kontener lxc działa!
Dodatkowe uwagi:
W przypadku jeśli kupiliśmy serwer w OVH/Soyoustart aby VM zadziałała konieczne jest przypisanie dodatkowym adresom ip adresu MAC.
Ovh.pl
Po zalogowaniu do panelu klienta wybieramy u góry zakładkę “Dedykowane”, następnie po lewej “IP” , w kolumnie przy wybranym ip klikamy na trzy kropki i “Dodaj wirtualny adres MAC”:
Następnie wybieramy tryb “ovh” , wpisujemy nazwę wirtualnej maszyny i klikamy “Zatwierdź”:
Otrzymujemy informację że za kilka minut będziemy mieli nasz adres MAC, i po kilku minutach w wierszu z naszym ip w kolumnie “Wirtualny MAC” mamy nasz adres MAC.
SoyouStart
Po zalogowaniu do panelu soyoustart wybieramy z listy nasz serwer, następnie zakładkę “IP” . Pojawi nam się lista adresów IP – klikamy na zębatkę po prawej stronie przy adresie IP – wybieramy “Dodaj wirtualny adres MAC”, podajemy nazwę serwera, jako typ “ovh” i klikamy potwierdź:
Po kilku minutach w kolumnie “Wirtualny MAC” widzimy adres MAC
Dodanie adresu MAC do serwera VPS (Virtual Machine)
Wracamy do panelu proxmox, wybieramy naszą VM (1), następnie zakładkę “Sprzęt”, otwieramy (klikamy szybko dwa razy) “Urządzenie sieciowe”(3) i w polu “MAC address” wklejamy adres MAC:
Restartujemy naszą VM i gotowe – sieć powinna działać
Dodanie adresu MAC do serwera LXC (CT)
Nie testowałem LXC na serwerach ovh, więc nie jestem w stanie powiedzieć czy dodanie adresu MAC też jest wymagane – jeśli tak, to poniżej procedura jego dodania:
Wracamy do panelu proxmox, wybieramy naszą CT (1), następnie zakładkę “Sieć”(2),otwieramy (klikamy szybko dwa razy) nasz interfejs sieciowy (3) i w polu “MAC address” wklejamy adres MAC:
Podsumowanie
Zainstalowaliśmy proxmox-a, wykonaliśmy jego podstawową konfigurację i stworzyliśmy pierwszy serwer VPS z pełną wirtualizacją (VM) i parawirtualizacją (CT).
Wiemy też gdzie jest konsola awaryjna i jak dodać adres MAC.
To zaledwie ułamek rzeczy do zrobienia – nie pisałem o konfiguracji serwera-matki, kopiach zapasowych, replikacji, HA i wielu innych rzeczach.
Jest to pierwsza część serii o proxmoxie – jeśli dopiero trafiłeś na ten wpis polecam zapoznać się z kolejnymi:
- Instalacja proxmoxa na serwerze z systemem debian 9
- Instalacja proxmoxa z obrazu ISO
- Tworzymy klaster wysokiej dostępności
- Tworzymy nasz pierwszy serwer w HA
- HA od strony systemu – jak działa proxmox
[…] poprzednim wpisie napisałem poradnik instalacji i konfiguracji proxmox z założeniem iż instalujemy go na czystym serwerze opartym o system Debian 9. Część osób […]
[…] kroki wykonujemy z artykułu o instalacji proxmox 5, od sekcji „Konfiguracja interfejsu sieciowego w proxmox” : Instalacja promox […]