La magia della virtualizzazione: un corso introduttivo a Proxmox VE

La magia della virtualizzazione: un corso introduttivo a Proxmox VE
Oggi parleremo di come distribuire rapidamente e facilmente più server virtuali con diversi sistemi operativi su un server fisico. Ciò consentirà 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 ad astrarre il più possibile dall'hardware del server fisico, proteggere i servizi critici e ripristinarne facilmente il funzionamento anche in caso di guasti molto gravi.

Senza dubbio, la maggior parte degli amministratori di sistema ha familiarità con le tecniche di lavoro in un ambiente virtuale e per loro questo articolo non sarà una scoperta. Nonostante ciò, ci sono aziende che non sfruttano la flessibilità e la velocità delle soluzioni virtuali a causa della mancanza di informazioni precise sulle stesse. Ci auguriamo che il nostro articolo ti aiuti a capire con l'esempio che è molto più facile iniziare a utilizzare la virtualizzazione una volta che sperimentare gli inconvenienti e le carenze dell'infrastruttura fisica.

Fortunatamente, è abbastanza semplice provare come funziona la virtualizzazione. Mostreremo come creare un server in un ambiente virtuale, ad esempio, per trasferire un sistema CRM utilizzato in un'azienda. Quasi tutti i server fisici possono essere trasformati in virtuali, ma prima devi padroneggiare le tecniche operative di base. Questo sarà discusso di seguito.

Come funziona

Quando si parla di virtualizzazione, molti specialisti alle prime armi hanno difficoltà a comprendere la terminologia, quindi spieghiamo alcuni concetti di base:

  • Hypervisor – software speciale che consente di creare e gestire macchine virtuali;
  • Macchina virtuale (di seguito denominato VM) è un sistema che è un server logico all'interno di un server fisico con un proprio insieme di caratteristiche, unità e sistema operativo;
  • Host di virtualizzazione — un server fisico su cui è in esecuzione un hypervisor.

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

La caratteristica fondamentale è che qualsiasi azione delle macchine virtuali viene eseguita direttamente a livello hardware. Allo stesso tempo, sono isolati l'uno dall'altro, il che rende abbastanza facile controllarli separatamente. Lo stesso hypervisor svolge il ruolo di autorità di supervisione, distribuendo tra loro risorse, ruoli e priorità. L'hypervisor emula anche quella parte dell'hardware necessaria per il corretto funzionamento del sistema operativo.

L'introduzione della virtualizzazione rende possibile avere più copie funzionanti di un server. Un guasto o un errore critico durante il processo di modifica di tale copia non influirà in alcun modo sul funzionamento del servizio o dell'applicazione corrente. Ciò elimina anche due problemi principali: la scalabilità e la capacità di mantenere uno “zoo” di diversi sistemi operativi sullo stesso hardware. Questa è un'opportunità ideale per combinare una varietà di servizi senza la necessità di acquistare apparecchiature separate per ciascuno di essi.

La virtualizzazione migliora la tolleranza agli errori 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à pienamente operativa, a condizione che i supporti disco siano intatti. In questo caso, il server fisico potrebbe provenire da un produttore completamente diverso. Ciò è particolarmente vero per le aziende che utilizzano server fuori produzione e che dovranno migrare su altri modelli.

Ora elenchiamo gli hypervisor più popolari che esistono oggi:

  • VMware ESXi
  • Microsoft Hyper-V
  • KVM dell'Alleanza per la virtualizzazione aperta
  • Oracle VM VirtualBox

Sono tutti abbastanza universali, tuttavia ognuno di essi ha alcune caratteristiche che dovrebbero sempre essere prese in considerazione in fase di selezione: il costo di implementazione/manutenzione e le caratteristiche tecniche. Il costo delle licenze commerciali per VMware e Hyper-V è molto elevato e, in caso di guasti, è molto difficile risolvere da soli il problema con questi sistemi.

KVM, d'altra parte, è completamente gratuito e abbastanza facile da usare, soprattutto come parte di una soluzione già pronta basata su Debian Linux chiamata Proxmox Virtual Environment. Possiamo consigliare questo sistema per una prima conoscenza del mondo delle infrastrutture virtuali.

Come distribuire rapidamente l'hypervisor Proxmox VE

L'installazione molto spesso non solleva alcuna domanda. Scarica la versione corrente dell'immagine dal sito ufficiale e scriverlo su qualsiasi supporto esterno utilizzando l'utilità Win32DiskImager (in Linux viene utilizzato il comando dd), dopodiché avviamo il server direttamente da questo supporto. I nostri clienti che noleggiano da noi server dedicati possono usufruire di due modi ancora più semplici: semplicemente montando l'immagine desiderata direttamente dalla console KVM oppure utilizzando il nostro server PXE.

Il programma di installazione ha un'interfaccia grafica e farà solo poche domande.

  1. Selezionare il disco su cui verrà eseguita l'installazione. Nel capitolo Opzioni Puoi anche specificare opzioni di markup aggiuntive.

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

  2. Specificare le impostazioni regionali.

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

  3. Specificare la password che verrà utilizzata per autorizzare il superutente root e l'indirizzo email dell'amministratore.

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

  4. Specificare le impostazioni di rete. FQDN sta per nome di dominio completo, ad es. node01.tuaazienda.com.

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

  5. Al termine dell'installazione, il server può essere riavviato utilizzando il pulsante Riavvia.

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

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

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

Cosa fare dopo l'installazione

Ci sono alcune cose importanti che dovresti fare dopo aver installato Proxmox. Parliamo di ciascuno di essi in modo più dettagliato.

Aggiorna il sistema alla versione più recente

Per fare ciò, andiamo sulla console del nostro server e disabilitiamo il repository a pagamento (disponibile solo per chi ha acquistato il supporto a pagamento). Se non lo fai, apt segnalerà un errore durante l'aggiornamento delle origini del pacchetto.

  1. Apri la console e modifica il file di configurazione apt:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. Ci sarà solo una riga in questo file. Mettiamo un simbolo davanti ad esso #per disabilitare la ricezione degli aggiornamenti da un repository a pagamento:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. Scorciatoia da tastiera Ctrl + X esci dall'editor rispondendo Y quando il sistema chiede di salvare il file.
  4. Eseguiamo il comando per aggiornare le origini dei pacchetti e aggiornare il sistema:
    apt update && apt -y upgrade

Prenditi cura della sicurezza

Possiamo consigliare di installare l'utilità più popolare Fail2Ban, che protegge dagli attacchi con password (forza bruta). Il principio del suo funzionamento è che se un utente malintenzionato supera un certo numero di tentativi di accesso entro un determinato periodo di tempo con login/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 utilizzo di un server con porta ssh 22 aperta e un indirizzo IPv4 statico esterno, sono stati effettuati più di 5000 tentativi di indovinare la password. E l'utilità ha bloccato con successo circa 1500 indirizzi.

Per completare l'installazione, ecco alcune istruzioni:

  1. Aprire la console del server tramite l'interfaccia web o SSH.
  2. Aggiorna le origini del pacchetto:
    apt update
  3. Installa Fail2Ban:
    apt install fail2ban
  4. Aprire la configurazione dell'utilità per la modifica:
    nano /etc/fail2ban/jail.conf
  5. Cambiare variabili bantime (il numero di secondi per i quali l'aggressore verrà bloccato) e maxretry (numero di tentativi di inserimento login/password) per ogni singolo servizio.
  6. Scorciatoia da tastiera Ctrl + X esci dall'editor rispondendo Y quando il sistema chiede di salvare il file.
  7. Riavviare il servizio:
    systemctl restart fail2ban

Puoi controllare lo stato dell'utility, ad esempio rimuovere le statistiche di blocco degli indirizzi IP bloccati da cui si sono verificati tentativi di forzatura bruta delle password SSH, con un semplice comando:

fail2ban-client -v status sshd

La risposta dell'utilità sarà simile a questa:

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:

In modo simile è possibile proteggere l'interfaccia Web da tali attacchi creando una regola appropriata. Un esempio di tale regola per Fail2Ban può essere trovato in manuale ufficiale.

Guida introduttiva

Vorrei attirare la vostra attenzione sul fatto che Proxmox è pronta a realizzare nuove macchine subito dopo l'installazione. Consigliamo comunque di completare le impostazioni preliminari in modo da poter gestire facilmente il sistema in futuro. La pratica dimostra che l'hypervisor e le macchine virtuali dovrebbero essere distribuiti su diversi supporti fisici. Come farlo sarà discusso di seguito.

Configurare le unità disco

Il passaggio successivo consiste nel configurare lo spazio di archiviazione che può essere utilizzato per salvare i dati e i backup della macchina virtuale.

ATTENZIONE! L'esempio di layout del disco riportato di seguito può essere utilizzato solo a scopo di test. Per l'utilizzo nel mondo reale, consigliamo vivamente di utilizzare un array RAID software o hardware per prevenire la perdita di dati in caso di guasto delle unità. Ti diremo come preparare correttamente un array di dischi per il funzionamento e cosa fare in caso di emergenza in uno dei seguenti articoli.

Supponiamo che il server fisico abbia due dischi − / dev / sda, su cui è installato l'hypervisor e un disco vuoto / Dev / sdb, che dovrebbe essere utilizzato per archiviare i dati della macchina virtuale. Affinché il sistema possa vedere il nuovo spazio di archiviazione, puoi utilizzare il metodo più semplice ed efficace: collegalo come una normale directory. Ma prima è necessario eseguire alcuni passaggi preparatori. Ad esempio, vediamo come collegare una nuova unità / Dev / sdb, di qualsiasi dimensione, formattandolo in un file system ext4.

  1. Partizioniamo il disco, creando una nuova partizione:
    fdisk /dev/sdb
  2. Premere il tasto o o g (partizionare il disco in MBR o GPT).
  3. Quindi, premi il tasto n (crea una nuova sezione).
  4. E infine w (per salvare le modifiche).
  5. Crea un file system ext4:
    mkfs.ext4 /dev/sdb1
  6. Crea una directory in cui monteremo la partizione:
    mkdir /mnt/storage
  7. Apri il file di configurazione per la modifica:
    nano /etc/fstab
  8. Aggiungi una nuova riga lì:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. Dopo aver apportato le modifiche, salvale con una scorciatoia da tastiera Ctrl + X, rispondendo Y alla domanda dell'editore.
  10. Per verificare che tutto funzioni, mandiamo il server al riavvio:
    shutdown -r now
  11. Dopo il riavvio, controlla le partizioni montate:
    df -H

L'output del comando dovrebbe mostrarlo / dev / sdb1 montato nella directory /mnt/archiviazione. Ciò significa che la nostra unità è pronta per l'uso.

Aggiungi un nuovo repository in Proxmox

Accedi al pannello di controllo e vai alle sezioni Banca datiConservazioneaggiungereDirettorio.

Nella finestra che si apre compila i seguenti campi:

  • ID — nome del futuro impianto di stoccaggio;
  • Direttorio - /mnt/archiviazione;
  • Contenuto — seleziona tutte le opzioni (facendo clic su ciascuna opzione a turno).

    La magia della virtualizzazione: un corso introduttivo a Proxmox VE

Successivamente, premere il pulsante aggiungere. Questo completa la configurazione.

Creare una macchina virtuale

Per creare una macchina virtuale, eseguire la seguente sequenza di azioni:

  1. Decidiamo la versione del sistema operativo.
  2. Scarica l'immagine ISO in anticipo.
  3. Scegli dal menu Conservazione il repository appena creato.
  4. Clicca qui ContenutoScarica.
  5. Selezionare un'immagine ISO dall'elenco e confermare la selezione premendo il pulsante Scarica.

Una volta completata l'operazione, l'immagine verrà visualizzata nell'elenco di quelle disponibili.

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

  1. Clicca qui Crea macchina virtuale.
  2. Compila i parametri uno per uno: NomeImmagine ISODimensioni e tipo del disco rigidoNumero di processoriDimensioni della RAMScheda di rete.
  3. Dopo aver selezionato tutti i parametri desiderati, fare clic su completo. La macchina creata verrà visualizzata nel menu del pannello di controllo.
  4. Selezionalo e fai clic Запуск.
  5. Vai al punto consolle e installa il sistema operativo esattamente come su un normale server fisico.

Se è necessario creare un'altra macchina, ripetere le operazioni precedenti. Una volta che sono tutti pronti, puoi lavorarci contemporaneamente aprendo diverse finestre della console.

Imposta l'esecuzione automatica

Per impostazione predefinita, Proxmox non avvia automaticamente le macchine, ma questo è facilmente risolvibile con soli due clic:

  1. Fare clic sul nome della macchina desiderata.
  2. Selezione di una scheda OpzioniAvviare al boot.
  3. Mettiamo un segno di spunta accanto all'iscrizione con lo stesso nome.

Ora, se il server fisico viene riavviato, la VM si avvierà automaticamente.

La magia della virtualizzazione: un corso introduttivo a Proxmox VE
Per gli amministratori avanzati, c'è anche la possibilità di specificare parametri di avvio aggiuntivi nella sezione Ordine di avvio/spegnimento. È possibile specificare esplicitamente in quale ordine le macchine devono essere avviate. È inoltre possibile specificare il tempo che deve trascorrere prima dell'avvio della successiva VM e il tempo di ritardo dello spegnimento (se il sistema operativo non ha il tempo di spegnersi, l'hypervisor ne forzerà lo spegnimento dopo un certo numero di secondi).

conclusione

Questo articolo ha delineato le nozioni di base su come iniziare con Proxmox VE e speriamo che possa aiutare i neofiti a fare il primo passo e provare la virtualizzazione in azione.

Proxmox VE è davvero uno strumento molto potente e conveniente per qualsiasi amministratore di sistema; L'importante è non aver paura di sperimentare e capire come funziona davvero.

Se avete domande, benvenuti nei commenti.

Fonte: habr.com

Aggiungi un commento