Se cerchi la parola virtualizzare in un dizionario, troverai che significa “creare una versione virtuale (piuttosto che reale) di qualcosa“. In informatica, il termine virtualizzazione si riferisce alla possibilità di eseguire contemporaneamente e isolare uno dall’altro più sistemi operativi, sopra lo stesso sistema fisico (hardware), conosciuto nello schema di virtualizzazione come host.

Attraverso l’uso del monitor della macchina virtuale (noto anche come hypervisor), le macchine virtuali (chiamate guest) vengono fornite di risorse virtuali (ad esempio CPU, RAM, storage, interfacce di rete, per citarne alcune) dall’hardware sottostante.
Tenendo presente questo, è evidente che uno dei principali vantaggi della virtualizzazione è il risparmio di costi (in attrezzature e infrastrutture di rete e in termini di sforzo di manutenzione) e una sostanziale riduzione dello spazio fisico necessario per ospitare tutto l’hardware necessario.
Dato che questa breve guida non può coprire tutti i metodi di virtualizzazione, ti incoraggio a fare riferimento alla documentazione elencata nel riepilogo per ulteriori dettagli sull’argomento.
Per favore, tieni presente che l’articolo presente è destinato a essere un punto di partenza per imparare le basi della virtualizzazione in RHEL 7 utilizzando KVM (Kernel-based Virtual Machine) con utilità a riga di comando, e non una discussione approfondita dell’argomento.
Verifica dei Requisiti Hardware e Installazione dei Pacchetti
Per impostare la virtualizzazione, la tua CPU deve supportarla. Puoi verificare se il tuo sistema soddisfa i requisiti con il seguente comando:
# grep -E 'svm|vmx' /proc/cpuinfo
Nella seguente schermata possiamo vedere che il sistema attuale (con un processore AMD) supporta la virtualizzazione, come indicato da svm. Se avessimo un processore Intel, vedremmo invece vmx nei risultati del comando sopra.

Inoltre, sarà necessario avere abilitate le capacità di virtualizzazione nel firmware del tuo host (BIOS o UEFI).
Ora installa i pacchetti necessari:
- qemu-kvm è un virtualizzatore open source che fornisce emulazione hardware per l’ipervisore KVM, mentre qemu-img fornisce un tool da riga di comando per manipolare le immagini disco.
- libvirt include gli strumenti per interagire con le capacità di virtualizzazione del sistema operativo.
- libvirt-python contiene un modulo che permette alle applicazioni scritte in Python di utilizzare l’interfaccia fornita da libvirt.
- libguestfs-tools: strumenti da riga di comando vari per gli amministratori di sistema delle macchine virtuali.
- virt-install: altre utilità da riga di comando per l’amministrazione delle macchine virtuali.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install
Una volta completata l’installazione, assicurati di avviare e abilitare il servizio libvirtd:
# systemctl start libvirtd.service # systemctl enable libvirtd.service
Per impostazione predefinita, ogni macchina virtuale sarà in grado di comunicare solo con le altre nello stesso server fisico e con l’host stesso. Per consentire agli ospiti di raggiungere altre macchine all’interno della nostra LAN e anche Internet, è necessario configurare un’interfaccia bridge nel nostro host (ad esempio br0) tramite:
1. aggiungendo la seguente riga alla configurazione della nostra scheda di rete principale (molto probabilmente /etc/sysconfig/network-scripts/ifcfg-enp0s3
):
BRIDGE=br0
2. creando il file di configurazione per br0 (/etc/sysconfig/network-scripts/ifcfg-br0
) con questi contenuti (nota che potresti dover modificare l’indirizzo IP, l’indirizzo del gateway e le informazioni DNS):
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 NM_CONTROLLED=no DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=br0 ONBOOT=yes DNS1=8.8.8.8 DNS2=8.8.4.4
3. infine, abilitando l’inoltro dei pacchetti rendendo, in /etc/sysctl.conf
,
net.ipv4.ip_forward = 1
e caricando le modifiche nella configurazione del kernel corrente:
# sysctl -p
Nota che potrebbe essere necessario anche informare firewalld che questo tipo di traffico deve essere consentito. Ricorda che puoi fare riferimento all’articolo su questo argomento nella stessa serie (Parte 11: Controllo del traffico di rete utilizzando FirewallD e Iptables) se hai bisogno di aiuto per farlo.
Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/