Magia wirtualizacji: kurs wprowadzający do Proxmox VE

Magia wirtualizacji: kurs wprowadzający do Proxmox VE
Dzisiaj porozmawiamy o tym, jak szybko i łatwo wdrożyć kilka serwerów wirtualnych z różnymi systemami operacyjnymi na jednym serwerze fizycznym. Dzięki temu każdy administrator systemu będzie mógł centralnie zarządzać całą infrastrukturą informatyczną firmy i zaoszczędzić ogromną ilość zasobów. Zastosowanie wirtualizacji pozwala w jak największym stopniu oddzielić się od fizycznego sprzętu serwerowego, chronić usługi krytyczne i łatwo przywracać ich działanie nawet w przypadku bardzo poważnych awarii.

Bez wątpienia większość administratorów systemów zna techniki pracy ze środowiskiem wirtualnym i dla nich ten artykuł nie będzie żadnym odkryciem. Mimo to istnieją firmy, które nie korzystają z elastyczności i szybkości rozwiązań wirtualnych ze względu na brak dokładnych informacji na ich temat. Mamy nadzieję, że nasz artykuł pomoże Państwu zrozumieć na przykładzie, że o wiele łatwiej jest raz zacząć korzystać z wirtualizacji, niż doświadczyć niedogodności i braków infrastruktury fizycznej.

Na szczęście wypróbowanie działania wirtualizacji jest dość łatwe. Pokażemy jak stworzyć serwer w środowisku wirtualnym, na przykład w celu przeniesienia systemu CRM wykorzystywanego w firmie. Niemal każdy serwer fizyczny można zamienić w wirtualny, jednak najpierw trzeba opanować podstawowe techniki obsługi. Zostanie to omówione poniżej.

Jak to działa

Jeśli chodzi o wirtualizację, wielu początkującym specjalistom trudno jest zrozumieć terminologię, dlatego wyjaśnijmy kilka podstawowych pojęć:

  • Hiperwizor – specjalne oprogramowanie umożliwiające tworzenie i zarządzanie maszynami wirtualnymi;
  • Maszyna wirtualna (zwany dalej VM) to system będący serwerem logicznym wewnątrz serwera fizycznego, posiadającym własny zestaw cech, napędów i systemu operacyjnego;
  • Host wirtualizacji — serwer fizyczny z uruchomionym hypervisorem.

Aby serwer mógł działać jako pełnoprawny host wirtualizacji, jego procesor musi obsługiwać jedną z dwóch technologii - Intel® VT lub AMD-V™. Obie technologie realizują najważniejsze zadanie polegające na udostępnieniu zasobów sprzętowych serwerów maszynom wirtualnym.

Kluczową cechą jest to, że wszelkie działania maszyn wirtualnych wykonywane są bezpośrednio na poziomie sprzętowym. Jednocześnie są od siebie odizolowane, co sprawia, że ​​dość łatwo jest sterować nimi oddzielnie. Sam hypervisor pełni rolę organu nadzorczego, rozdzielając pomiędzy siebie zasoby, role i priorytety. Hiperwizor emuluje także tę część sprzętu, która jest niezbędna do prawidłowego działania systemu operacyjnego.

Wprowadzenie wirtualizacji umożliwia posiadanie kilku działających kopii jednego serwera. Krytyczna awaria lub błąd podczas procesu wprowadzania zmian w takiej kopii nie będzie w żaden sposób wpływać na działanie bieżącej usługi lub aplikacji. Eliminuje to także dwa główne problemy – skalowanie i możliwość trzymania „zoo” różnych systemów operacyjnych na tym samym sprzęcie. To idealna okazja, aby połączyć różne usługi bez konieczności zakupu osobnego sprzętu dla każdej z nich.

Wirtualizacja poprawia odporność na awarie usług i wdrożonych aplikacji. Nawet w przypadku awarii serwera fizycznego i konieczności jego wymiany na inny, cała infrastruktura wirtualna pozostanie w pełni sprawna, pod warunkiem, że nośniki dyskowe będą nienaruszone. W takim przypadku serwer fizyczny może pochodzić od zupełnie innego producenta. Jest to szczególnie prawdziwe w przypadku firm korzystających z serwerów, które zostały wycofane i będą musiały migrować do innych modeli.

Teraz podajemy najpopularniejsze istniejące obecnie hypervisory:

  • VMware ESXi
  • Microsoft Hyper-V
  • Open Virtualization Alliance KVM
  • Oracle VM VirtualBox

Wszystkie są dość uniwersalne, jednak każdy z nich ma pewne cechy, które zawsze należy brać pod uwagę na etapie wyboru: koszt wdrożenia/utrzymania i parametry techniczne. Koszt licencji komercyjnych na VMware i Hyper-V jest bardzo wysoki, a w przypadku awarii bardzo trudno jest samodzielnie rozwiązać problem z tymi systemami.

Z kolei KVM jest całkowicie darmowy i dość łatwy w użyciu, zwłaszcza jako część gotowego rozwiązania opartego na Debianie Linux o nazwie Proxmox Virtual Environment. System ten możemy polecić do wstępnego zapoznania się ze światem infrastruktury wirtualnej.

Jak szybko wdrożyć hypervisor Proxmox VE

Montaż najczęściej nie rodzi żadnych pytań. Pobierz aktualną wersję obrazu z oficjalnej strony i zapisz go na dowolnym nośniku zewnętrznym za pomocą tego narzędzia Win32DiskImager (w Linuksie stosuje się polecenie dd), po czym uruchamiamy serwer bezpośrednio z tego nośnika. Nasi klienci wynajmujący od nas serwery dedykowane mogą skorzystać z dwóch jeszcze prostszych sposobów - po prostu montując żądany obraz bezpośrednio z konsoli KVM lub za pomocą nasz serwer PXE.

Instalator posiada interfejs graficzny i zada jedynie kilka pytań.

  1. Wybierz dysk, na którym zostanie przeprowadzona instalacja. W rozdziale Opcje Możesz także określić dodatkowe opcje znaczników.

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

  2. Określ ustawienia regionalne.

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

  3. Podaj hasło, które będzie używane do autoryzacji superużytkownika root oraz adres e-mail administratora.

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

  4. Określ ustawienia sieciowe. FQDN oznacza w pełni kwalifikowaną nazwę domeny, np. węzeł01.twojafirma.com.

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

  5. Po zakończeniu instalacji serwer można zrestartować za pomocą przycisku Reboot.

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

    Internetowy interfejs zarządzania będzie dostępny pod adresem

    https://IP_адрес_сервера:8006

Co zrobić po instalacji

Jest kilka ważnych rzeczy, które powinieneś zrobić po zainstalowaniu Proxmox. Porozmawiajmy o każdym z nich bardziej szczegółowo.

Zaktualizuj system do najnowszej wersji

W tym celu przejdźmy do konsoli naszego serwera i wyłączmy płatne repozytorium (dostępne tylko dla osób, które wykupiły płatne wsparcie). Jeśli tego nie zrobisz, apt zgłosi błąd podczas aktualizacji źródeł pakietów.

  1. Otwórz konsolę i edytuj plik konfiguracyjny apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. W tym pliku będzie tylko jedna linia. Przed nim umieściliśmy symbol #aby wyłączyć otrzymywanie aktualizacji z płatnego repozytorium:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Skrót klawiszowy Ctrl + X wyjdź z edytora odpowiadając Y na pytanie systemu o zapisanie pliku.
  4. Uruchamiamy polecenie, aby zaktualizować źródła pakietów i zaktualizować system:
    apt update && apt -y upgrade

Zadbaj o bezpieczeństwo

Możemy polecić instalację najpopularniejszego narzędzia Fail2Ban, który chroni przed atakami haseł (brute-force). Zasada jego działania jest taka, że ​​jeśli atakujący przekroczy w określonym czasie określoną liczbę prób logowania przy użyciu nieprawidłowego loginu/hasła, wówczas jego adres IP zostanie zablokowany. Okres blokady i ilość prób można określić w pliku konfiguracyjnym.

Z praktycznego doświadczenia wynika, że ​​w ciągu tygodnia pracy serwera z otwartym portem ssh 22 i zewnętrznym statycznym adresem IPv4 odbyło się ponad 5000 prób odgadnięcia hasła. Narzędzie skutecznie zablokowało około 1500 adresów.

Aby dokończyć instalację, oto kilka instrukcji:

  1. Otwórz konsolę serwera poprzez interfejs WWW lub SSH.
  2. Zaktualizuj źródła pakietów:
    apt update
  3. Zainstaluj Fail2Ban:
    apt install fail2ban
  4. Otwórz konfigurację narzędzia do edycji:
    nano /etc/fail2ban/jail.conf
  5. Zmiana zmiennych czas bana (liczba sekund, przez którą atakujący będzie blokowany) oraz maksymalna próba (liczba prób wpisania loginu/hasła) dla każdej indywidualnej usługi.
  6. Skrót klawiszowy Ctrl + X wyjdź z edytora odpowiadając Y na pytanie systemu o zapisanie pliku.
  7. Uruchom ponownie usługę:
    systemctl restart fail2ban

Możesz sprawdzić status narzędzia, na przykład usunąć statystyki blokowania zablokowanych adresów IP, z których próbowano brutalnie wymusić hasła SSH, za pomocą jednego prostego polecenia:

fail2ban-client -v status sshd

Odpowiedź narzędzia będzie wyglądać mniej więcej tak:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Loading configs for fail2ban under /etc/fail2ban
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO   Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
|  |- Currently failed: 3
|  |- Total failed:     4249
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 0
   |- Total banned:     410
   `- Banned IP list:

W podobny sposób można zabezpieczyć interfejs WWW przed tego typu atakami tworząc odpowiednią regułę. Przykład takiej reguły dla Fail2Ban można znaleźć w oficjalny podręcznik.

Pierwsze kroki

Chciałbym zwrócić uwagę na fakt, że Proxmox jest gotowy do tworzenia nowych maszyn od razu po instalacji. Zalecamy jednak uzupełnienie ustawień wstępnych, aby w przyszłości można było łatwo zarządzać systemem. Praktyka pokazuje, że hypervisor i maszyny wirtualne powinny być rozproszone na różnych nośnikach fizycznych. Jak to zrobić, zostanie omówione poniżej.

Skonfiguruj dyski

Następnym krokiem jest skonfigurowanie magazynu, w którym można zapisywać dane maszyny wirtualnej i kopie zapasowe.

UWAGA! Poniższy przykład układu dysku może zostać użyty wyłącznie do celów testowych. Do użytku w świecie rzeczywistym zdecydowanie zalecamy używanie programowej lub sprzętowej macierzy RAID, aby zapobiec utracie danych w przypadku awarii dysków. Jak prawidłowo przygotować macierz dyskową do pracy i co zrobić w przypadku awarii, opowiemy w jednym z kolejnych artykułów.

Załóżmy, że serwer fizyczny ma dwa dyski − / Dev / sda, na którym zainstalowany jest hypervisor i pusty dysk / dev / sdb, który ma być używany do przechowywania danych maszyny wirtualnej. Aby system widział nowy magazyn, możesz zastosować najprostszą i najskuteczniejszą metodę - podłączyć go jak zwykły katalog. Ale wcześniej musisz wykonać pewne kroki przygotowawcze. Jako przykład przyjrzyjmy się, jak podłączyć nowy dysk / dev / sdbdowolnego rozmiaru, formatując go do systemu plików ext4.

  1. Partycjonujemy dysk, tworząc nową partycję:
    fdisk /dev/sdb
  2. Naciśnij klawisz o lub g (podziel dysk na partycje w formacie MBR lub GPT).
  3. Następnie naciśnij klawisz n (utwórz nową sekcję).
  4. I wreszcie w (aby zapisać zmiany).
  5. Utwórz system plików ext4:
    mkfs.ext4 /dev/sdb1
  6. Utwórz katalog, w którym zamontujemy partycję:
    mkdir /mnt/storage
  7. Otwórz plik konfiguracyjny do edycji:
    nano /etc/fstab
  8. Dodaj tam nową linię:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. Po dokonaniu zmian zapisz je za pomocą skrótu klawiaturowego Ctrl + X, odpowiadanie Y na pytanie redaktora.
  10. Aby sprawdzić, czy wszystko działa, wysyłamy serwer do ponownego uruchomienia:
    shutdown -r now
  11. Po ponownym uruchomieniu sprawdź zamontowane partycje:
    df -H

Wynik polecenia powinien to pokazać / dev / sdb1 zamontowany w katalogu /mnt/storage. Oznacza to, że nasz dysk jest gotowy do użycia.

Dodaj nowe repozytorium w Proxmox

Zaloguj się do panelu sterowania i przejdź do sekcji Centrum danychPrzechowywaniedodajInformator.

W oknie, które zostanie otwarte, wypełnij następujące pola:

  • ID — nazwa przyszłego obiektu składowania;
  • Informator - /mnt/storage;
  • Treść — zaznacz wszystkie opcje (klikając kolejno każdą opcję).

    Magia wirtualizacji: kurs wprowadzający do Proxmox VE

Następnie naciśnij przycisk dodaj. To kończy konfigurację.

Utwórz maszynę wirtualną

Aby utworzyć maszynę wirtualną, wykonaj następującą sekwencję czynności:

  1. Decydujemy o wersji systemu operacyjnego.
  2. Pobierz wcześniej obraz ISO.
  3. Wybierz z menu Przechowywanie nowo utworzonego repozytorium.
  4. Kliknij TreśćPobierz.
  5. Wybierz obraz ISO z listy i zatwierdź wybór naciskając przycisk Pobierz.

Po zakończeniu operacji obraz wyświetli się na liście dostępnych.

Magia wirtualizacji: kurs wprowadzający do Proxmox VE
Stwórzmy naszą pierwszą maszynę wirtualną:

  1. Kliknij Utwórz maszynę wirtualną.
  2. Wypełnij parametry jeden po drugim: nazwaObraz ISORozmiar i typ dysku twardegoLiczba procesorówRozmiar pamięci RAMAdapter sieciowy.
  3. Po wybraniu wszystkich żądanych parametrów kliknij Kompletny. Utworzona maszyna wyświetli się w menu panelu sterowania.
  4. Wybierz i kliknij szalupa.
  5. Przejdź do punktu Konsola i zainstaluj system operacyjny w dokładnie taki sam sposób, jak na zwykłym serwerze fizycznym.

Jeśli chcesz utworzyć kolejną maszynę, powtórz powyższe operacje. Kiedy już wszystkie będą gotowe, możesz pracować z nimi jednocześnie, otwierając kilka okien konsoli.

Skonfiguruj automatyczne uruchamianie

Domyślnie Proxmox nie uruchamia maszyn automatycznie, ale można to łatwo rozwiązać za pomocą zaledwie dwóch kliknięć:

  1. Kliknij nazwę żądanej maszyny.
  2. Wybierz kartę OpcjeZacznij od rozruchu.
  3. Zaznaczamy obok napisu o tej samej nazwie.

Teraz, jeśli serwer fizyczny zostanie ponownie uruchomiony, maszyna wirtualna uruchomi się automatycznie.

Magia wirtualizacji: kurs wprowadzający do Proxmox VE
Dla zaawansowanych administratorów istnieje również możliwość określenia w sekcji dodatkowych parametrów uruchamiania Kolejność uruchamiania/wyłączania. Można jawnie określić, w jakiej kolejności maszyny mają być uruchamiane. Możesz także określić czas, jaki powinien upłynąć przed uruchomieniem kolejnej maszyny wirtualnej oraz czas opóźnienia zamknięcia (jeśli system operacyjny nie ma czasu na zamknięcie, hypervisor wymusi jego zamknięcie po określonej liczbie sekund).

wniosek

W tym artykule omówiono podstawy rozpoczęcia pracy z Proxmox VE i mamy nadzieję, że pomoże to nowicjuszom zrobić pierwszy krok i wypróbować wirtualizację w działaniu.

Proxmox VE jest naprawdę bardzo potężnym i wygodnym narzędziem dla każdego administratora systemu; Najważniejsze to nie bać się eksperymentować i zrozumieć, jak to naprawdę działa.

Jeśli masz jakieś pytania, zapraszamy do komentarzy.

Źródło: www.habr.com

Dodaj komentarz