Magia virtualizării: curs introductiv în Proxmox VE

Magia virtualizării: curs introductiv în Proxmox VE
Astăzi vom discuta despre cum se pot desfășura rapid și destul de simplu mai multe servere virtuale cu sisteme de operare diferite pe un singur server fizic. Acest lucru va permite oricărui administrator de sistem să gestioneze centralizat întreaga infrastructură IT a companiei și să economisească o cantitate imensă de resurse. Utilizarea virtualizării ajută la maximizarea abstracției față de echipamentele fizice ale serverului, protejând serviciile critice și facilitând recuperarea lor chiar și în cazul unor defecțiuni foarte grave.

Fără îndoială, majoritatea administratorilor de sistem sunt familiarizați cu tehnicile de lucru în medii virtuale, iar acest articol nu va reprezenta o descoperire pentru ei. Cu toate acestea, există companii care nu utilizează flexibilitatea și viteza soluțiilor virtuale din cauza lipsei de informații precise despre acestea. Sperăm că articolul nostru va ajuta să înțelegeți printr-un exemplu că este mult mai simplu să începi odată să folosești virtualizarea decât să experimentezi neajunsurile și dezavantajele infrastructurii fizice.

Din fericire, a încerca cum funcționează virtualizarea este destul de simplu. Vom arăta cum să creăm un server în mediu virtual, de exemplu, pentru a transfera un sistem CRM utilizat în companie. Practic orice server fizic poate fi transformat într-un server virtual, dar mai întâi este necesar să stăpânim tehnicile de bază. Aceasta va fi subiectul discuției de mai jos.

Cum funcționează

Atunci când vine vorba de virtualizare, mulți specialiști începători se confruntă cu dificultăți în a înțelege terminologia, așa că vom explica câteva concepte de bază:

  • Hypervisor – un software special care permite crearea și gestionarea mașinilor virtuale;
  • Mașină virtuală (denumită în continuare VM) – este un sistem care reprezintă un server logic în interiorul unui server fizic, având propriul set de caracteristici, stocare și sistem de operare;
  • Host de virtualizare – un server fizic pe care rulează un hypervisor.

Pentru ca un server să poată funcționa ca un host de virtualizare complet, procesorul său trebuie să suporte una dintre cele două tehnologii – fie Intel® VT, fie AMD-V™. Ambele tehnologii îndeplinesc o sarcină esențială – furnizarea resurselor hardware ale serverului către mașinile virtuale.

O caracteristică cheie este că orice acțiune mașini virtuale executate direct la nivel hardware. În acest fel, ele sunt izolate una de cealaltă, ceea ce permite gestionarea lor ușor separat. Hypervisorul joacă rolul de autoritate de control, împărțind resursele, rolurile și prioritățile între ele. De asemenea, hypervisorul se ocupă de emularea acelei părți a hardware-ului necesară pentru funcționarea corectă a sistemului de operare.

Implementarea virtualizării oferă posibilitatea de a avea mai multe copii în execuție ale aceleași server. O defecțiune critică sau o eroare în procesul de modificare a unei astfel de copii nu va afecta funcționarea serviciului sau aplicației actuale. De asemenea, se elimină două probleme principale – scalabilitatea și posibilitatea de a menține un „zoologic” de diferite sisteme de operare pe același echipament. Aceasta este o oportunitate ideală de a combina cele mai diverse servicii fără a fi nevoie de achiziționarea de echipamente separate pentru fiecare dintre ele.

Virtualizarea îmbunătățește rezistența la defecțiuni a serviciilor și aplicațiilor desfășurate. Chiar dacă serverul fizic se defectează și trebuie înlocuit cu altul, întreaga infrastructură virtuală va rămâne complet funcțională, cu condiția ca suporturile de stocare să fie intacte. În acest caz, serverul fizic poate fi de la un alt producător. Aceasta este deosebit de relevantă pentru companiile care utilizează servere a căror producție a fost oprită și va fi necesar să se efectueze tranziția către alte modele.

Acum să enumerăm cei mai populari hypervisori existenți la acest moment:

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

Toate sunt destul de universale, însă fiecare dintre ele are anumite particularități care trebuie întotdeauna luate în considerare în etapa de alegere: costul desfășurării/întreținerii și caracteristicile tehnice. Costul licențelor comerciale VMware și Hyper-V este foarte ridicat, iar în caz de defecțiuni, rezolvarea problemelor cu aceste sisteme de către forțe proprii este foarte complicată.

KVM, în schimb, este complet gratuit și destul de ușor de utilizat, mai ales în cadrul unei soluții gata pregătite bazate pe Debian Linux numită Proxmox Virtual Environment. Exact această sistem o putem recomanda pentru o primă cunoaștere a lumii infrastructurii virtuale.

Cum să desfășurați rapid hipervizorul Proxmox VE

Instalarea nu ridică, de obicei, întrebări. Descărcăm versiunea actualizată a imaginii de pe site-ul oficial și o scriem pe orice suport extern folosind utilitarul Win32DiskImager (în Linux se folosește comanda dd), după care pornim serverul direct de pe acest suport. Clienții noștri care închiriază servere dedicate pot folosi două căi și mai simple – pur și simplu montând imaginea necesară direct din consola KVM sau folosind serverul nostru PXE.

Programul de instalare are o interfață grafică și va pune doar câteva întrebări.

  1. Alegeți discurile pe care va avea loc instalarea. În secțiunea Opțiuni pot fi, de asemenea, specificate parametrii suplimentari pentru partiționare.Magia virtualizării: curs introductiv în Proxmox VE
  2. Specificați setările regionale.Magia virtualizării: curs introductiv în Proxmox VE
  3. Indicați parola care va fi folosită pentru autorizarea utilizatorului superadmin root și adresa de E-mail a administratorului.Magia virtualizării: curs introductiv în Proxmox VE
  4. Specificați setările de rețea. FQDN reprezintă numele de domeniu complet calificat, de exemplu, node01.yourcompany.com.Magia virtualizării: curs introductiv în Proxmox VE
  5. După finalizarea instalării, serverul poate fi repornit folosind butonul Reboot.Magia virtualizării: curs introductiv în Proxmox VE

    Interfața web de gestionare va fi disponibilă la adresa

    https://IP_adresa_serverului:8006

Ce trebuie făcut după instalare

Există câteva lucruri importante de realizat după instalarea Proxmox. Vă vom povesti despre fiecare în parte.

Actualizați sistemul la cea mai recentă versiune

Pentru aceasta, vom accesa consola serverului nostru și vom dezactiva repository-ul plătit (disponibil doar celor care au achiziționat suport plătit). Dacă nu facem acest lucru, apt va semnala o eroare la actualizarea surselor de pachete.

  1. Deschidem consola și edităm fișierul de configurare apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. În acest fișier va fi doar o linie. Plasăm un simbol #, pentru a dezactiva obtinerea actualizărilor din repository-ul plătit:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Combinând tastele Ctrl + X ieșim din editor, răspunzând Y la întrebarea sistemului despre salvarea fișierului.
  4. Executăm comanda de actualizare a surselor de pachete și de actualizare a sistemului:
    apt update && apt -y upgrade

Acordați atenție securității

Vă recomandăm să instalați cea mai populară utilitară Fail2Ban, care protejează împotriva atacurilor prin forță brutală (bruteforce). Principiul său de funcționare constă în faptul că, dacă un atacator depășește un număr prestabilit de încercări de autentificare într-un interval de timp specificat, adresa sa IP va fi blocată. Durata blocării și numărul de încercări pot fi specificate în fișierul de configurare.

Din experiența practică, în decursul unei săptămâni de funcționare a serverului cu portul SSH deschis 22 și o adresă IPv4 statică externă, au fost mai mult de 5000 de încercări de a ghici parola. Iar aproximativ 1500 de adrese au fost blocate cu succes de utilitar.

Pentru a efectua instalarea, iată un mic ghid:

  1. Deschideți consola serverului prin intermediul interfeței web sau SSH.
  2. Actualizați sursele pachetelor:
    apt update
  3. Instalați Fail2Ban:
    apt install fail2ban
  4. Deschideți configurația utilitarului pentru editare:
    nano /etc/fail2ban/jail.conf
  5. Schimbați variabilele bantime (numărul de secunde pentru care va fi blocat atacatorul) și maxretry (numărul de încercări de introducere a numelui de utilizator/parolei) pentru fiecare serviciu în parte.
  6. Combinând tastele Ctrl + X ieșim din editor, răspunzând Y la întrebarea sistemului despre salvarea fișierului.
  7. Repornim serviciul:
    systemctl restart fail2ban

Pentru a verifica statutul de funcționare al utilitarului, de exemplu, pentru a obține statistici privind blocările adreselor IP care au încercat să efectueze atacuri prin forță brutală SSH, se poate folosi o comandă simplă:

fail2ban-client -v status sshd

Răspunsul utilitarului va arăta aproximativ astfel:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Încărcarea configurațiilor pentru fail2ban sub /etc/fail2ban
INFO     Încărcarea fișierelor: ['/etc/fail2ban/fail2ban.conf']
INFO     Încărcarea fișierelor: ['/etc/fail2ban/fail2ban.conf']
INFO   Folosind fișierul socket /var/run/fail2ban/fail2ban.sock
Status pentru închisoare: sshd
|- Filtru
|  |- În prezent eșuate: 3
|  |- Total eșuate:     4249
|  `- Listă de fișiere:        /var/log/auth.log
`- Acțiuni
   |- În prezent interzise: 0
   |- Total interzise:     410
   `- Listă de IP-uri interzise:

În mod similar, se poate închide interfața web împotriva acestor atacuri, creând o regulă corespunzătoare. Un exemplu al acestei reguli pentru Fail2Ban poate fi găsit în ghidul oficial.

Începerea utilizării

Se observă că Proxmox este pregătit pentru a crea noi mașini imediat după instalare. Totuși, recomandăm să efectuați setările preliminare, astfel încât să fie mai ușor să gestionați sistemul ulterior. Practica arată că hypervisorul și mașinile virtuale ar trebui separate pe suporturi fizice diferite. Despre cum să faceți acest lucru se va discuta mai jos.

Configurați unitățile de stocare

Următorul pas este să configurați stocarea, care va putea fi utilizată pentru a salva datele mașinilor virtuale și copiile de rezervă.

ATENȚIE! Exemplul de mai jos al structurii de disc poate fi folosit doar în scopuri de testare. Pentru utilizarea în condiții reale, recomandăm cu tărie utilizarea unui array RAID software sau hardware pentru a evita pierderea datelor în cazul defectării discurilor. Vom vorbi în unul dintre articolele următoare despre cum să pregătim corect un array de discuri pentru funcționare și cum să acționăm în caz de situații de urgență.

Să presupunem că serverul fizic are două discuri — /dev/sda, pe care este instalat hypervisor-ul și un disc gol /dev/sdb, care se va folosi pentru stocarea datelor mașinilor virtuale. Pentru ca sistemul să poată vedea noul spațiu de stocare, cea mai simplă și eficientă metodă este să îl conectăm ca un director obișnuit. Însă, înainte de aceasta, trebuie să facem câteva pregătiri. Ca exemplu, să vedem cum putem conecta un disc nou /dev/sdb, de orice dimensiune, formatându-l în sistemul de fișiere ext4.

  1. Împărțim discul, creând o nouă partiție:
    fdisk /dev/sdb
  2. Apăsăm tasta o sau g (pentru a partaja discul în MBR sau GPT).
  3. Apoi apăsăm tasta n (pentru a crea o nouă partiție).
  4. Și, în final, w (pentru a salva modificările).
  5. Creăm sistemul de fișiere ext4:
    mkfs.ext4 /dev/sdb1
  6. Creăm un director în care vom monta partiția:
    mkdir /mnt/storage
  7. Deschidem fișierul de configurare pentru editare:
    nano /etc/fstab
  8. Adăugăm acolo o nouă linie:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. După modificări, le salvăm cu combinația de taste Ctrl + X, răspunzând Y la întrebarea editorului.
  10. Pentru a verifica dacă totul funcționează, repornim serverul:
    shutdown -r now
  11. După repornire, verificăm partițiile montate:
    df -H

Ieșirea comenzii ar trebui să arate că /dev/sdb1 este montat în directorul /mnt/storage. Aceasta înseamnă că stocarea noastră este gata de utilizare.

Adăugați un nou spațiu de stocare în Proxmox

Ne autentificăm în panoul de control și intrăm în secțiuni Centru de date ➝ Spațiu de stocare ➝ Adăugați ➝ Directorul.

În fereastra deschisă completăm următoarele câmpuri:

  • ID — numele viitorului spațiu de stocare;
  • Directorul — /mnt/storage;
  • Conținut — selectăm toate opțiunile (clic pe fiecare opțiune pe rând).Magia virtualizării: curs introductiv în Proxmox VE

După aceasta apăsăm butonul Adăugați. Asta încheie configurarea.

Creează o mașină virtuală

Pentru a crea o mașină virtuală, urmăm următoarea secvență de pași:

  1. Stabilim versiunea sistemului de operare.
  2. Descărcăm în prealabil imaginea ISO.
  3. Alegem în meniu Spațiu de stocare spațiul de stocare nou creat.
  4. Facem clic pe Conținut ➝ Descarcă.
  5. Select an ISO image from the list and confirm your selection by clicking the button Descarcă.

After the operation is completed, the image will be displayed in the list of available images.

Magia virtualizării: curs introductiv în Proxmox VE
Let's create our first virtual machine:

  1. Facem clic pe Create VM.
  2. Fill in the parameters sequentially: Nume ➝ ISO Image ➝ Size and type of hard disk ➝ Number of processors ➝ Amount of RAM ➝ Network adapter.
  3. After selecting all desired parameters, click Finish. The created machine will be displayed in the control panel menu.
  4. Select it and click Pornire.
  5. Go to the section Console and install the operating system in exactly the same way as on a regular physical server.

If you need to create another machine, repeat the above operations. Once they are all set up, you can work with them simultaneously by opening several console windows.

Set up auto-start

By default, Proxmox does not automatically start machines, but this can be easily resolved in just two clicks:

  1. Click on the name of the desired machine.
  2. Select the tab Opțiuni ➝ Start on boot.
  3. Check the box next to the corresponding label.

Now, in case of a physical server reboot, the VM will start automatically.

Magia virtualizării: curs introductiv în Proxmox VE
Advanced administrators also have the option to specify additional startup parameters in the section Start/Shutdown order. You can explicitly define the order in which machines should start. Additionally, you can specify the time that should elapse before starting the next VM and the delay time for shutdown (if the operating system does not shut down in time, the hypervisor will forcibly shut it down after a specified number of seconds).

Concluzie

This article outlined the basics of how to start working with Proxmox VE, and we hope it helps beginners take the first step and try virtualization in action.

Proxmox VE is indeed a very powerful and convenient tool for any system administrator; the main thing is not to be afraid to experiment and understand how it really works.

If you have any questions, feel free to leave a comment.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster