Magia wirtualizacji: wprowadzenie do Proxmox VE

Magia wirtualizacji: wprowadzenie do Proxmox VE
Dzisiaj porozmawiamy o tym, jak szybko i dość prosto uruchomić kilka wirtualnych serwerów z różnymi systemami operacyjnymi na jednym fizycznym serwerze. Pozwoli to każdemu administratorowi systemu centralnie zarządzać całą infrastrukturą IT w firmie i zaoszczędzić ogromne ilości zasobów. Wykorzystanie wirtualizacji pomaga maksymalnie abstrahować od fizycznego sprzętu serwerowego, chronić krytyczne usługi i łatwo je przywracać, nawet w przypadku poważnych awarii.

Bez wątpienia, większość administratorów systemów zna techniki pracy w wirtualnym środowisku i dla nich ten artykuł nie będzie żadnym odkryciem. Niemniej jednak, istnieją firmy, które nie wykorzystują elastyczności i szybkości wirtualnych rozwiązań z powodu braku dokładnych informacji na ich temat. Mamy nadzieję, że nasz artykuł pomoże zrozumieć, że zdecydowanie łatwiej jest raz zacząć korzystać z wirtualizacji, niż zmagać się z niedogodnościami i wadami fizycznej infrastruktury.

Na szczęście, wypróbowanie działania wirtualizacji jest dość proste. Pokażemy, jak stworzyć serwer w wirtualnym środowisku, na przykład w celu przeniesienia systemu CRM używanego w firmie. Praktycznie każdy fizyczny serwer można przekształcić w wirtualny, ale na początku należy opanować podstawowe techniki pracy. O tym będzie mowa poniżej.

Jak to działa

Kiedy mówimy o wirtualizacji, wielu początkującym specjalistom trudno jest zrozumieć terminologię, dlatego wyjaśnimy kilka podstawowych pojęć:

  • to aplikacja uruchomiona na fizycznej maszynie, emulująca fizyczne zasoby, na których uruchamiane są Maszyny Wirtualne. Czasami w literaturze i w sieci słowo „hypervisor” jest używane jako synonim „hosta”. – specjalne oprogramowanie, które pozwala tworzyć wirtualne maszyny i nimi zarządzać;
  • Wirtualna maszyna (dalej VM) – to system, który stanowi logiczny serwer wewnątrz fizycznego, z własnym zestawem charakterystyk, pamięcią masową i systemem operacyjnym;
  • Host wirtualizacji — fizyczny serwer, na którym działa hipernadzorca.

Aby serwer mógł działać jako pełnoprawny host wirtualizacji, jego procesor musi obsługiwać jedną z dwóch technologii – albo Intel® VT, albo AMD-V™. Obie technologie spełniają kluczową rolę — udostępnienie zasobów sprzętowych serwera wirtualnym maszynom.

Kluczową cechą jest to, że wszelkie działania maszyn wirtualnych są realizowane bezpośrednio na poziomie sprzętu. Są one od siebie izolowane, co ułatwia zarządzanie nimi osobno. Sam hypervisor pełni rolę organu kontrolnego, przydzielając zasoby, role i priorytety między nimi. Hypervisor emuluje również tę część sprzętu, która jest niezbędna do prawidłowego działania systemu operacyjnego.

Wdrożenie wirtualizacji daje możliwość posiadania kilku uruchomionych kopii jednego serwera. Krytyczna awaria lub błąd podczas wprowadzania zmian w takiej kopii nie wpłynie na działanie aktualnej usługi lub aplikacji. Obejmuje to również rozwiązanie dwóch podstawowych problemów – skalowalności i możliwości posiadania „zoo” różnych systemów operacyjnych na jednym sprzęcie. To idealna okazja do łączenia różnych usług bez potrzeby zakupu osobnego sprzętu dla każdej z nich.

Wirtualizacja zwiększa odporność usług i wdrożonych aplikacji. Nawet jeśli fizyczny serwer ulegnie awarii i trzeba go będzie zastąpić innym, cała infrastruktura wirtualna pozostanie w pełni funkcjonalna, pod warunkiem, że nośniki pamięci pozostaną nietknięte. Fizyczny serwer może być nawet od zupełnie innego producenta. To jest szczególnie istotne dla firm, które korzystają z serwerów, których produkcja została zakończona i muszą przenieść się na inne modele.

Teraz wymieńmy najpopularniejsze hypervisory dostępne obecnie na rynku:

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

Wszystkie są wystarczająco uniwersalne, jednak każdy z nich ma swoje specyficzne cechy, które zawsze należy brać pod uwagę na etapie wyboru: koszty wdrożenia/utrzymania i specyfikacje techniczne. Koszty komercyjnych licencji VMware i Hyper-V są dość wysokie, a w przypadku awarii naprawa tych systemów własnymi siłami jest bardzo trudna.

KVM wręcz przeciwnie, jest całkowicie bezpłatny i dość prosty w obsłudze, zwłaszcza w ramach gotowego rozwiązania opartego na Debianie Linux, znanego jako Proxmox Virtual Environment. Właśnie ten system możemy polecić do początkowego zapoznania się ze światem infrastruktury wirtualnej.

Jak szybko wdrożyć hipernadzorcę Proxmox VE

Instalacja zazwyczaj nie budzi żadnych wątpliwości. Pobieramy aktualną wersję obrazu z oficjalnej strony i zapisujemy go na dowolnym nośniku zewnętrznym za pomocą narzędzia Win32DiskImager (w Linuxie używamy polecenia dd), a następnie uruchamiamy serwer bezpośrednio z tego nośnika. Nasi klienci, którzy wynajmują u nas dedykowane serwery, mogą skorzystać z dwóch jeszcze prostszych sposobów – po prostu montując potrzebny obraz bezpośrednio z konsoli KVM lub korzystając z naszego serwera PXE.

Program instalacyjny ma graficzny interfejs i zada tylko kilka pytań.

  1. Wybieramy dysk, na który będzie przeprowadzona instalacja. W sekcji Options można także ustawić dodatkowe parametry partycjonowania.Magia wirtualizacji: wprowadzenie do Proxmox VE
  2. Określamy ustawienia regionalne.Magia wirtualizacji: wprowadzenie do Proxmox VE
  3. Podajemy hasło, które będzie używane do autoryzacji superużytkownika root oraz adres e-mail administratora.Magia wirtualizacji: wprowadzenie do Proxmox VE
  4. Ustawiamy ustawienia sieciowe. FQDN oznacza w pełni kwalifikowaną nazwę domeny, na przykład, node01.yourcompany.com.Magia wirtualizacji: wprowadzenie do Proxmox VE
  5. Po zakończeniu instalacji, serwer można ponownie uruchomić za pomocą przycisku Reboot.Magia wirtualizacji: wprowadzenie do Proxmox VE

    Interfejs internetowy zarządzania będzie dostępny pod adresem

    https://IP_adres_serwera:8006

Co należy zrobić po instalacji

Jest kilka ważnych rzeczy, które należy wykonać po instalacji Proxmox. Opowiemy o każdej z nich szczegółowo.

Zaktualizować system do aktualnej wersji

W tym celu wchodzimy do konsoli naszego serwera i wyłączamy płatne repozytorium (dostępne tylko dla tych, którzy zakupili płatne wsparcie). Jeśli tego nie zrobimy — apt zgłosi błąd podczas aktualizacji źródeł pakietów.

  1. Otwieramy konsolę i edytujemy plik konfiguracyjny apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. W tym pliku będzie tylko jeden wiersz. Umieszczamy przed nim symbol #, aby wyłączyć pobieranie aktualizacji z płatnego repozytorium:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Za pomocą kombinacji klawiszy Ctrl + X wychodzimy z edytora, odpowiadając Y na pytanie systemu o zapisanie pliku.
  4. Wykonujemy polecenie aktualizacji źródeł pakietów i aktualizacji systemu:
    apt update && apt -y upgrade

Zadbać o bezpieczeństwo

Możemy polecić zainstalowanie najpopularniejszego narzędzia Fail2Ban, chroniąc przed atakami metodą brute force. Jej zasada działania polega na tym, że jeżeli atakujący przekroczy określoną liczbę prób logowania w danym czasie z nieprawidłową nazwą użytkownika/hasłem, jego adres IP zostanie zablokowany. Czas blokady i liczba prób mogą być określone w pliku konfiguracyjnym.

Na podstawie doświadczeń praktycznych, podczas tygodnia pracy serwera z otwartym portem ssh 22 i zewnętrznym statycznym adresem IPv4, zarejestrowano ponad 5000 prób zgadywania hasła. Około 1500 adresów zostało skutecznie zablokowanych przez narzędzie.

Aby przeprowadzić instalację, podajemy krótką instrukcję:

  1. Otwieramy konsolę serwera przez interfejs webowy lub SSH.
  2. Aktualizujemy źródła pakietów:
    apt update
  3. Instalujemy Fail2Ban:
    apt install fail2ban
  4. Otwieramy konfigurację narzędzia do edycji:
    nano /etc/fail2ban/jail.conf
  5. Zmieniać należy zmienne bantime (liczba sekund, przez które będzie zablokowany atakujący) oraz maxretry (liczba prób wprowadzenia nazwy użytkownika/hasła) dla każdej poszczególnej usługi.
  6. Za pomocą kombinacji klawiszy Ctrl + X wychodzimy z edytora, odpowiadając Y na pytanie systemu o zapisanie pliku.
  7. Restartujemy usługę:
    systemctl restart fail2ban

Sprawdzić status działania narzędzia, na przykład pobrać statystyki blokad zablokowanych adresów IP, z których były próby zgadywania haseł SSH, można jedną prostą komendą:

fail2ban-client -v status sshd

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

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Ładowanie konfiguracji dla fail2ban w /etc/fail2ban
INFO     Ładowanie plików: ['/etc/fail2ban/fail2ban.conf']
INFO     Ładowanie plików: ['/etc/fail2ban/fail2ban.conf']
INFO   Używanie pliku socket /var/run/fail2ban/fail2ban.sock
Status dla więzienia: sshd
|- Filtr
|  |- Bieżące nieudane: 3
|  |- Łącznie nieudanych: 4249
|  `- Lista plików: /var/log/auth.log
`- Działania
   |- Bieżąco zablokowanych: 0
   |- Łącznie zablokowanych: 410
   `- Lista zablokowanych IP:

W podobny sposób można zabezpieczyć Interfejs Webowy przed podobnymi atakami, tworząc odpowiednią regułę. Przykład takiej reguły dla Fail2Ban można znaleźć w oficjalnym przewodniku..

Rozpoczęcie pracy

Warto zwrócić uwagę, że Proxmox jest gotów do tworzenia nowych maszyn zaraz po instalacji. Niemniej jednak, zalecamy wykonanie wstępnych ustawień, aby w dalszej perspektywie systemem łatwiej było zarządzać. Praktyka pokazuje, że hipernadzorca i maszyny wirtualne powinny być rozdzielone na różne nośniki fizyczne. O tym, jak to zrobić, będzie mowa poniżej.

Skonfigurować dyski

W kolejnym etapie należy skonfigurować magazyn, który będzie można wykorzystać do przechowywania danych maszyn wirtualnych i kopii zapasowych.

UWAGA! Poniższy przykład partycjonowania dysku może być używany wyłącznie w celach testowych. W rzeczywistych warunkach zdecydowanie zalecamy stosowanie programowych lub sprzętowych macierzy RAID, aby wyeliminować utratę danych w przypadku awarii dysków. O tym, jak prawidłowo przygotować macierz dyskową do pracy i co zrobić w przypadku sytuacji awaryjnej, opowiemy w jednym z kolejnych artykułów.

Załóżmy, że fizyczny serwer ma dwa dyski — /dev/sda, na którym zainstalowany jest hypervisor oraz pusty dysk /dev/sdb, który ma być użyty do przechowywania danych maszyn wirtualnych. Aby system mógł dostrzec nowe miejsce przechowywania, można skorzystać z najprostszego i najskuteczniejszego sposobu — podłączyć go jak zwykły folder. Jednak przed tym należy wykonać pewne przygotowania. Jako przykład zobaczmy, jak podłączyć nowy dysk /dev/sdb, dowolnej wielkości, sformatowawszy go w system plików ext4.

  1. Partycjonujemy dysk, tworząc nową partycję:
    fdisk /dev/sdb
  2. Naciskamy klawisz o lub g (partycjonować dysk w MBR lub GPT).
  3. Następnie naciskamy klawisz n (utworzyć nową partycję).
  4. I wreszcie w (zapisz zmiany).
  5. Tworzymy system plików ext4:
    mkfs.ext4 /dev/sdb1
  6. Tworzymy katalog, do którego zamontujemy partycję:
    mkdir /mnt/storage
  7. Otwieramy plik konfiguracyjny do edycji:
    nano /etc/fstab
  8. Dodajemy tam nowy wiersz:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. Po dokonaniu zmian zapisujemy je kombinacją klawiszy Ctrl + X, odpowiadając Y na pytanie edytora.
  10. Aby sprawdzić, czy wszystko działa, uruchamiamy serwer ponownie:
    shutdown -r now
  11. Po ponownym uruchomieniu sprawdzamy zamontowane partycje:
    df -H

Wynik komendy powinien pokazać, że /dev/sdb1 jest zamontowany w katalogu /mnt/storage. To oznacza, że nasz nośnik jest gotowy do pracy.

Dodaj nowe miejsce przechowywania w Proxmox

Logujemy się w panelu sterowania i przechodzimy do sekcji Centrum danychMagazynDodajKatalog.

W otwartym oknie wypełniamy następujące pola:

  • ID — nazwa przyszłego magazynu;
  • Katalog — /mnt/storage;
  • Zawartość — wybieramy wszystkie opcje (klikając po kolei na każdą z nich).Magia wirtualizacji: wprowadzenie do Proxmox VE

Następnie naciskamy przycisk Dodaj. Na tym konfiguracja się kończy.

Utwórz maszynę wirtualną

Aby utworzyć maszynę wirtualną, wykonujemy następujące kroki:

  1. Określamy wersję systemu operacyjnego.
  2. Z góry pobieramy obraz ISO.
  3. Wybieramy w menu Magazyn nowo utworzone miejsce przechowywania.
  4. Klikamy ZawartośćPobierz.
  5. Wybierz z listy obraz ISO i potwierdź wybór, naciskając przycisk Pobierz.

Po zakończeniu operacji obraz będzie widoczny na liście dostępnych.

Magia wirtualizacji: wprowadzenie do Proxmox VE
Tworzymy naszą pierwszą maszynę wirtualną:

  1. Klikamy Utwórz VM.
  2. Kolejno wypełniamy parametry: NazwaObraz ISORozmiar i typ dysku twardegoLiczba procesorówObjętość pamięci RAMAdapter sieciowy.
  3. Po wybraniu wszystkich pożądanych parametrów naciskamy Zakończ. Utworzona maszyna będzie widoczna w menu panelu sterowania.
  4. Wybierz ją i naciśnij Uruchomienie.
  5. Przechodzimy do sekcji Konsola i wykonujemy instalację systemu operacyjnego dokładnie w taki sam sposób, jak na zwykłym fizycznym serwerze.

Jeśli konieczne jest utworzenie kolejnej maszyny — powtarzamy powyższe operacje. Po zakończeniu wszystkich można nimi zarządzać jednocześnie, otwierając kilka okien konsoli.

Konfiguracja autostartu

Domyślnie Proxmox nie uruchamia maszyn automatycznie, ale można to łatwo rozwiązać dosłownie dwoma kliknięciami myszy:

  1. Klikamy nazwę odpowiedniej maszyny.
  2. Wybieramy zakładkę OpcjeUruchomienie podczas rozruchu.
  3. Stawiamy znacznik obok tej samej nazwy.

Teraz w przypadku ponownego uruchomienia fizycznego serwera, VM uruchomi się automatycznie.

Magia wirtualizacji: wprowadzenie do Proxmox VE
Dla zaawansowanych administratorów istnieje także możliwość wskazania dodatkowych parametrów uruchamiania w sekcji Kolejność uruchamiania/zamykania. Można explicite określić, w jakiej kolejności powinny być uruchamiane maszyny. Można także wskazać czas, który powinien upłynąć przed uruchomieniem następnej VM oraz czas opóźnienia wyłączenia (jeśli system operacyjny nie zdąży zakończyć pracy, hipernadzorca wymusi jego wyłączenie po określonej liczbie sekund).

Podsumowanie

W tym artykule przedstawiono podstawy tego, jak można zacząć pracować z Proxmox VE i mamy nadzieję, że pomoże on początkującym specjalistom zrobić pierwszy krok i wypróbować wirtualizację w działaniu.

Proxmox VE to naprawdę potężne i wygodne narzędzie dla każdego administratora systemu; najważniejsze to nie bać się eksperymentować i zrozumieć, jak to naprawdę działa.

Jeśli masz pytania, zapraszamy do komentarzy.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster