La magia della virtualizzazione: corso introduttivo su Proxmox VE

La magia della virtualizzazione: corso introduttivo su Proxmox VE
Oggi parleremo di come sia possibile rapidamente e con relativa semplicità implementare diversi server virtuali con vari sistemi operativi su un unico server fisico. Questo permetterà a qualsiasi amministratore di sistema di gestire centralmente l'intera infrastruttura IT dell'azienda e di risparmiare un'enorme quantità di risorse. L'uso della virtualizzazione aiuta a distaccarsi al massimo dall'hardware del server fisico, proteggere i servizi critici e ripristinare facilmente il loro funzionamento anche in caso di gravi guasti.

Senza dubbio, la maggior parte degli amministratori di sistema conosce le tecniche di lavoro con ambienti virtuali e per loro questo articolo non rappresenterà una grande novità. Tuttavia, ci sono aziende che non sfruttano la flessibilità e la velocità delle soluzioni virtuali a causa della mancanza di informazioni dettagliate su di esse. Speriamo che il nostro articolo aiuti a comprendere, con esempi, che è molto più semplice iniziare a utilizzare la virtualizzazione piuttosto che affrontare disagi e mancanze dell'infrastruttura fisica.

Fortunatamente, provare come funziona la virtualizzazione è piuttosto semplice. Mostreremo come creare un server in un ambiente virtuale, ad esempio, per trasferire un sistema CRM utilizzato in azienda. Praticamente qualsiasi server fisico può essere trasformato in virtuale, ma prima è necessario apprendere le tecniche di base di funzionamento. Di questo parleremo nel seguito.

Com'è strutturato

Quando si parla di virtualizzazione, molti principianti trovano difficile orientarsi nella terminologia, quindi spieghiamo alcuni concetti di base:

  • Ipervisore – software speciale che consente di creare e gestire macchine virtuali;
  • Macchina virtuale (d'ora in poi VM) – è un sistema che rappresenta un server logico all'interno di quello fisico con un insieme di caratteristiche, dispositivi di archiviazione e un sistema operativo;
  • Host di virtualizzazione – server fisico su cui è attivo un hypervisor.

Affinché un server possa funzionare come un host di virtualizzazione completo, il suo processore deve supportare una delle due tecnologie: Intel® VT o AMD-V™. Entrambe le tecnologie svolgono un compito fondamentale: fornire le risorse hardware del server alle macchine virtuali.

La caratteristica chiave è che qualsiasi azione macchine virtuali le operazioni vengono eseguite direttamente a livello hardware. Esse sono isolate l'una dall'altra, il che consente di gestirle facilmente in modo separato. Il hypervisor svolge il ruolo di ente di controllo, distribuendo risorse, ruoli e priorità tra di esse. Inoltre, l'hypervisor si occupa della virtualizzazione della parte di hardware necessaria per il corretto funzionamento del sistema operativo.

L'implementazione della virtualizzazione offre la possibilità di avere diverse copie in esecuzione di uno server. Un guasto critico o un errore durante la modifica di tale copia non influisce in alcun modo sul funzionamento del servizio o dell'app attuale. Inoltre, vengono risolti due problemi principali: la scalabilità e la possibilità di mantenere un "zoo" di diversi sistemi operativi su un'unica attrezzatura. È un'opportunità ideale per combinare i servizi più diversi senza la necessità di acquistare attrezzature separate per ognuno di essi.

La virtualizzazione aumenta l'affidabilità dei servizi e delle applicazioni distribuite. Anche se il server fisico si guasta e deve essere sostituito con un altro, l'intera infrastruttura virtuale rimarrà completamente operativa, a condizione che i supporti di memorizzazione siano intatti. Inoltre, il server fisico può essere di un altro produttore. Questo è particolarmente rilevante per le aziende che utilizzano server la cui produzione è stata interrotta e che devono effettuare il passaggio a nuovi modelli.

Ora elenchiamo i hypervisor più popolari esistenti al giorno d'oggi:

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

Tutti questi sono piuttosto versatili, ma ognuno di essi presenta caratteristiche particolari che devono sempre essere considerate nella fase di scelta: costo di implementazione/manutenzione e specifiche tecniche. Il costo delle licenze commerciali VMware e Hyper-V è piuttosto elevato, e in caso di malfunzionamenti, risolvere il problema con questi sistemi con le proprie forze è molto difficile.

Il KVM, al contrario, è completamente gratuito e piuttosto semplice da utilizzare, specialmente all'interno di una soluzione pronta basata su Debian Linux chiamata Proxmox Virtual Environment. Proprio questo sistema possiamo raccomandare per un primo approccio con il mondo dell'infrastruttura virtuale.

Come installare rapidamente il hypervisor Proxmox VE

L'installazione di solito non pone domande. Scarica l'ultima versione dell'immagine sito ufficiale e scrivila su qualsiasi dispositivo di archiviazione esterno tramite l'utility Win32DiskImager (su Linux si utilizza il comando dd), dopodiché avviamo il server direttamente da questo dispositivo. I nostri clienti che noleggiano server dedicati da noi possono usufruire di due metodi ancora più semplici: possono semplicemente montare l'immagine necessaria direttamente dalla console KVM, oppure utilizzare il nostro server PXE.

Il programma di installazione ha un'interfaccia grafica e porrà solo alcune domande.

  1. Selezioniamo il disco su cui sarà eseguita l'installazione. Nella sezione Opzioni è possibile anche impostare parametri aggiuntivi per il partizionamento.La magia della virtualizzazione: corso introduttivo su Proxmox VE
  2. Specifichiamo le impostazioni regionali.La magia della virtualizzazione: corso introduttivo su Proxmox VE
  3. Indichiamo la password che sarà utilizzata per l'autenticazione dell'utente root e l'indirizzo E-mail dell'amministratore.La magia della virtualizzazione: corso introduttivo su Proxmox VE
  4. Impostiamo le configurazioni di rete. FQDN indica un nome di dominio completamente qualificato, ad esempio, node01.yourcompany.com.La magia della virtualizzazione: corso introduttivo su Proxmox VE
  5. Dopo aver completato l'installazione, il server può essere riavviato tramite il pulsante Reboot.La magia della virtualizzazione: corso introduttivo su Proxmox VE

    L'interfaccia web di gestione sarà disponibile all'indirizzo

    https://IP_indirizzo_server:8006

Cosa fare dopo l'installazione

Ci sono alcune cose importanti da fare dopo l'installazione di Proxmox. Ne parleremo in dettaglio.

Aggiorna il sistema alla versione attuale

Per farlo, accederemo alla console del nostro server e disabiliteremo il repository a pagamento (disponibile solo per chi ha acquistato supporto a pagamento). Se non lo facciamo, apt segnalerà un errore durante l'aggiornamento delle fonti dei pacchetti.

  1. Apriamo la console e modifichiamo il file di configurazione di apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. In questo file ci sarà solo una riga. Mettiamo davanti a essa il simbolo #, per disattivare la ricezione degli aggiornamenti dal repository a pagamento:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Con la combinazione di tasti Ctrl + X eseguiamo l'uscita dall'editor, rispondendo Y alla domanda del sistema sul salvataggio del file.
  4. Eseguiamo il comando per aggiornare le fonti dei pacchetti e aggiornare il sistema:
    apt update && apt -y upgrade

Occuparsi della sicurezza

Possiamo consigliare di installare l'utility più popolare Fail2Ban, che protegge dagli attacchi tramite brute force. Il principio di funzionamento è che se un malintenzionato supera un determinato numero di tentativi di accesso in un intervallo di tempo specificato con un nome utente o una password errati, il suo indirizzo IP verrà bloccato. Il periodo di blocco e il numero di tentativi possono essere specificati nel file di configurazione.

In base all'esperienza pratica, durante una settimana di lavoro del server con la porta ssh aperta 22 e un indirizzo IPv4 statico esterno, ci sono state più di 5000 tentativi di indovinare la password. Circa 1500 indirizzi sono stati bloccati con successo dal tool.

Per procedere con l'installazione, forniamo una breve istruzione:

  1. Apriamo la console del server tramite interfaccia web o SSH.
  2. Aggiorniamo le sorgenti dei pacchetti:
    apt update
  3. Installiamo Fail2Ban:
    apt install fail2ban
  4. Apriamo il file di configurazione dell'utility per la modifica:
    nano /etc/fail2ban/jail.conf
  5. Modifichiamo le variabili bantime (numero di secondi per il quale il malintenzionato sarà bloccato) e maxretry (numero di tentativi di accesso con nome utente/password) per ogni singolo servizio.
  6. Con la combinazione di tasti Ctrl + X eseguiamo l'uscita dall'editor, rispondendo Y alla domanda del sistema sul salvataggio del file.
  7. Riavviamo il servizio:
    systemctl restart fail2ban

Per controllare lo stato del tool, ad esempio per ottenere le statistiche sui blocchi degli indirizzi IP bloccati da cui ci sono stati tentativi di brute force SSH, si può usare un semplice comando:

fail2ban-client -v status sshd

La risposta del tool apparirà all'incirca così:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Caricamento delle configurazioni per fail2ban sotto /etc/fail2ban
INFO     Caricamento file: ['/etc/fail2ban/fail2ban.conf']
INFO     Caricamento file: ['/etc/fail2ban/fail2ban.conf']
INFO   Uso del socket file /var/run/fail2ban/fail2ban.sock
Stato della prigione: sshd
|- Filtro
|  |- Fallimenti attualmente: 3
|  |- Totale fallimenti:     4249
|  `- Elenco file:        /var/log/auth.log
`- Azioni
   |- Attualmente bloccati: 0
   |- Totale bloccati:     410
   `- Elenco IP bloccati:

In modo analogo, è possibile proteggere l'interfaccia Web da attacchi simili, creando una regola corrispondente. Un esempio di tale regola per Fail2Ban può essere trovato in documentazione ufficiale.

Inizio del lavoro

Vorremmo sottolineare che Proxmox è pronto per la creazione di nuove macchine immediatamente dopo l'installazione. Tuttavia, raccomandiamo di eseguire le impostazioni preliminari per facilitare la gestione del sistema in seguito. La pratica dimostra che è consigliabile separare l'iper-v e le macchine virtuali su diversi supporti fisici. Di questo parleremo nei prossimi paragrafi.

Configurare gli archivi

Il passo successivo è configurare lo storage che può essere utilizzato per la conservazione dei dati delle macchine virtuali e dei backup.

ATTENZIONE! L'esempio di partizionamento del disco riportato di seguito può essere utilizzato solo per scopi di test. Per un utilizzo in condizioni reali, ti consigliamo vivamente di utilizzare un array RAID software o hardware, per escludere la perdita di dati in caso di guasto dei dischi. Parleremo di come preparare correttamente un array di dischi per il funzionamento e come comportarsi in caso di situazioni di emergenza in uno dei nostri prossimi articoli.

Supponiamo che un server fisico abbia due dischi — /dev/sda, su cui è installato un hypervisor e un disco vuoto /dev/sdb, che si prevede di utilizzare per l'archiviazione dei dati delle macchine virtuali. Affinché il sistema possa vedere il nuovo storage, puoi utilizzare il metodo più semplice ed efficace: collegarlo come una normale directory. Ma prima di ciò, è necessario eseguire alcune operazioni preparatorie. Come esempio, vediamo come collegare un nuovo disco /dev/sdb, di qualsiasi dimensione, formattandolo nel file system ext4.

  1. Partizioniamo il disco, creando una nuova partizione:
    fdisk /dev/sdb
  2. Premiamo il tasto o o g (per partizionare il disco in MBR o GPT).
  3. Successivamente, premiamo il tasto n (creare una nuova partizione).
  4. E infine w (per salvare le modifiche).
  5. Creiamo il filesystem ext4:
    mkfs.ext4 /dev/sdb1
  6. Creiamo una directory dove monteremo la partizione:
    mkdir /mnt/storage
  7. Apriamo il file di configurazione per la modifica:
    nano /etc/fstab
  8. Aggiungiamo una nuova riga:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. Dopo aver apportato le modifiche, le salviamo premendo il tasto Ctrl + X, rispondendo Y alla domanda dell'editor.
  10. Per verificare che tutto funzioni, riavviamo il server:
    shutdown -r now
  11. Dopo il riavvio, controlliamo le partizioni montate:
    df -H

L'output del comando dovrebbe mostrare che /dev/sdb1 è montato nella directory /mnt/storage. Questo significa che il nostro storage è pronto per l'uso.

Aggiungere nuovo storage in Proxmox

Accediamo al pannello di controllo e andiamo nelle sezioni Data centerStorageAggiungereLa directory.

Nella finestra che si apre, compiliamo i seguenti campi:

  • ID — nome del futuro storage;
  • La directory — /mnt/storage;
  • Contenuto — selezioniamo tutte le opzioni (cliccando su ciascuna di esse in sequenza).La magia della virtualizzazione: corso introduttivo su Proxmox VE

Dopo di ciò, premiamo il pulsante Aggiungere. A questo punto la configurazione è completata.

Creare una macchina virtuale

Per creare una macchina virtuale, seguiamo la seguente sequenza di operazioni:

  1. Stabiliamo la versione del sistema operativo.
  2. Scarichiamo in anticipo l'immagine ISO.
  3. Selezioniamo dal menu Storage il nuovo storage appena creato.
  4. Clicchiamo su ContenutoScarica.
  5. Selezioniamo l'immagine ISO dalla lista e confermiamo la scelta premendo il pulsante Scarica.

Al termine dell'operazione, l'immagine verrà visualizzata nell'elenco degli disponibili.

La magia della virtualizzazione: corso introduttivo su Proxmox VE
Creiamo la nostra prima macchina virtuale:

  1. Clicchiamo su Crea VM.
  2. Compiliamo i parametri uno dopo l'altro: NomeISO-ImageDimensione e tipo del disco rigidoNumero di processoriDimensione della memoria RAMAdattatore di rete.
  3. Seleziando tutti i parametri desiderati, facciamo clic su Completare. La macchina creata sarà visibile nel menu del pannello di controllo.
  4. Selezioniamola e facciamo clic su Avvio.
  5. Passiamo alla voce Console e procediamo all'installazione del sistema operativo esattamente come su un normale server fisico.

Se è necessario creare un'altra macchina, ripetiamo le operazioni precedenti. Una volta che tutte sono pronte, è possibile lavorare su di esse contemporaneamente aprendo più finestre della console.

Configurare l'avvio automatico

Attualmente Proxmox non avvia automaticamente le macchine, ma questo si risolve facilmente con un paio di clic:

  1. Facciamo clic sul nome della macchina desiderata.
  2. Selezioniamo la scheda OpzioniAvvio all'accensione.
  3. Mettiamo un segno di spunta accanto all'intestazione corrispondente.

Ora, in caso di riavvio del server fisico, la VM verrà avviata automaticamente.

La magia della virtualizzazione: corso introduttivo su Proxmox VE
Per gli amministratori esperti, c'è anche la possibilità di specificare ulteriori parametri di avvio nella sezione Ordine di avvio/spegnimento. È possibile specificare esplicitamente in quale ordine avviare le macchine. È inoltre possibile indicare il tempo che deve passare prima dell'avvio della VM successiva e il tempo di attesa prima dello spegnimento (se il sistema operativo non riesce a terminare, l'iper-vm lo spegnerà forzatamente dopo un certo numero di secondi).

Conclusione

In questo articolo sono state spiegate le basi su come iniziare a lavorare con Proxmox VE e speriamo che aiuti i nuovi specialisti a compiere il primo passo e provare la virtualizzazione in azione.

Proxmox VE è un realmente strumento molto potente e conveniente per qualsiasi amministratore di sistema; la cosa principale è non avere paura di sperimentare e capire come funziona realmente.

Se hai domande, sei il benvenuto nei commenti.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster