Questo portale parla della virtualizzazione. Possono essere usati termini tecnici.
In informatica, con l'espressione virtualizzazione di una piattaforma ci si riferisce all'astrazione delle risorse di un computer. La virtualizzazione nasconde all'utente le caratteristiche fisiche delle risorse informatiche (Ulteriori informazioni su Wikipedia)
Notare che la virtualizzazione è diversa dall'emulazione, che duplica (fornisce un'emulazione de) le funzioni di un sistema usandone uno diverso in modo che il secondo si comporti come (e appaia come) il primo (Ulteriori informazioni su Wikipedia)
Contents
Casi d'uso e soluzioni attuabili
Virtualizzazione del desktop locale
Una postazione di lavoro locale su una scrivania dell'utente con in esecuzione due o più istanze di sistema operativo simultaneamente.
Esempio: un host Debian con in esecuzione Microsoft Windows in una macchina virtuale.
Motivazioni:
- eseguire applicazioni con non girano sul SO ospitante (es. eseguire un'applicazione Windows in un desktop GNU/Linux)
- testare modifiche che possono causare instabilità senza danneggiare il SO ospitante principale
- eseguire una macchina virtuale (VM) che è in una sandbox o isolata dalle risorse di LAN o Internet
Benefici:
- dato che tutto è locale, le prestazioni sono molto alte, specialmente per la grafica
- usa le capacità residue in desktop di classe workstation
Soluzione Debian:
VirtualBox fornisce una bella GUI e funzionalità di grafica accelerata per le VM
anche KVM può farlo, ma l'emulazione grafica più largamente supportata ha limitazioni nelle prestazioni
Se il passthrough della scheda GPU funziona sull'hardware in uso, allora è un'ottima soluzione
Stanno emergendo soluzioni alternative per l'accelerazione grafica, incluse VirGL (813658) e KVMGT (attulmente supporta solamente GPU Intel basate su Haswell, ma in teoria può essere adattata ad altre. Queste soluzioni vengono discusse e confrontate in this thread
Virtualizzazione del desktop remoto
Un server centrale con in esecuzione decine di istanze di macchine virtuali per utenti diversi. Esempio: un host Debian con in esecuzione 20 macchine virtuali.
Motivazioni:
- gestione centralizzata
- accesso a desktop o applicazioni desktop specifiche da più posizioni
Benefici:
- le prestazioni in caso di accesso da più posizioni sono paragonabili
- qualsiasi macchina locale può potenzialmente essere usata, fintanto che c'è un client desktop remoto come VNC viewer. Macchine vecchie o macchine con in esecuzione altri SO possono essere utilizzate per più scopi.
Soluzione Debian:
Virtualizzazione server
Un unico server fisico che esegue più di un'istanza di SO per server virtuale. Esempio: un host Debian con in esecuzione cinque server Debian virtuali, due server Windows virtuali e dieci desktop virtuali.
Motivazioni:
- non è necessario comprare hardware per ciascun server che si desidera avere in esecuzione
- eseguire solo un processo principale su ciascun server virtuale (es. la posta in uno, SQL in un altro) in modo che possano essere riavviati o aggiornati indipendentemente l'uno dall'altro, rendendo più facili il supporto e gli aggiornamenti
Soluzioni Debian:
Alto livello: usare una soluzione come ganeti o XCP (o XenServer) che fornisce un modo molto strutturato di gestire il ciclo di vita di macchine virtuali, inclusi modelli standard virtuali di archiviazione e uso della rete.
Basso livello: usare KVM o ?Xen per creare un server, gestendo manualmente l'archiviazione e la rete virtuali con script creati personalmente.
Cloud
Il cloud è simile alla virtualizzazione di server, tranne per il fatto che le istanze diventano più astratte. Le istanze server possono essere messe in atto dinamicamente da modelli, per scopi come la scalabilità orizzontale.
Motivazioni:
- scalare a richiesta
Soluzioni Debian:
OpenStack, probabilmente basato sul KVM sottostante, ma può anche essere basato su ?Xen
vedere la pagina del wiki Debian sul cloud per ulteriori opzioni
Usare Debian per fare da host a computer virtuali
Soluzioni Open Source
Virtualizzazione
Qemu - Per lo più usato su desktop/portatili.
KVM - Usato su server e anche su desktop/portatili.
VirtualBox - Per lo più usato su desktop/portatili. Simile a VMWare Workstation. Può essere usato in modalità headless su server.
?Xen - Fornisce para-virtualizzazione e virtualizzazione completa. Per lo più usato su server.
Virtualizzazione a livello di sistema operativo
nspawn - Linux Containers forniti attraverso Systemd.
LXC - Linux Containers. Crea contenitori isolati multipli. Soluzione standard a partire da 2.6.26.
Docker - Linux Containers.
Podman - Linux Containers. Alternativa a Docker.
?LinuxVserver - Per lo più usato su server. Crea contenitori isolati multipli. DEPRECATO
OpenVz - Per lo più usato su server. Crea contenitori isolati multipli. DEPRECATO
Altri
UserModeLinux Non proprio una virtualizzazione. Non ha bisogno di privilegi del superutente.
Schroot - Non una virtualizzazione, ma simile per finalità (basato su chroot).
libvirt - Gestisce diverse soluzioni per virtualizzazione come KVM e Xen attraverso un'interfaccia comune (programmazione e utente).
Ganeti - Gestore di virtualizzazione cluster, per KVM o Xen.
Software proprietario
VMware - Strumento di virtualizzazione.
VirtualBox - Esiste una edizione Open source (OSE) e una commerciale con funzionalità migliorate.
Eseguire Debian dentro a un computer virtuale
Debian dentro Microsoft Virtual PC 2007.
Debian dentro Microsoft Hyper-V.
Virtualizzazione di rete
Informazioni su come configurare Debian per funzionare con vari metodi di virtualizzazione simultaneamente sono disponibili nella pagina sulla Virtualizzazione di rete.
Strumenti di gestione
virt-manager - Una GUI basata su libvirt-bin che offre la completa amministrazione dell'infrastruttura virtuale.
virsh - Uno strumento a riga di comando basato su libvirt-bin che offre la completa amministrazione dell'infrastruttura virtuale.
Strumenti
kpartx - comoda utilità per accedere a partizioni in un file immagine o LV da una macchina virtuale
xmount - strumento per inter-montare tra immagini multiple di dischi fissi per input e output
Pagine del Wiki
Tutte le pagine del wiki relative alla virtualizzazione dei sistemi:
- Cloud/AmazonEC2DebianInstaller
- Cloud/AmazonEC2Image
- Cloud/CreateDockerImage
- Cloud/GoogleComputeEngineImage
- Cloud/SystemsComparison
- Cloud/TorqueCluster
- DebianKVMGuests
- Docker
- KVM
- LXC
- Lguest
- OpenNebula
- OpenStack
- OpenVz
- PackagingWithDocker
- Podman
- QEMU
- Qubes
- Schroot
- SystemVirtualization
- ThomasChung/CloudImage
- ThomasChung/Linode
- ThomasChung/WebConsole
- ThomasChung/virsh-snapshot
- UserModeLinux
- VMBuilder
- VMware
- VirtualBox
- VirtualNetworking
- WindowsServerHyperV
- XCP
- es/KVM
- euca2ools
- it/QEMU
- it/SystemVirtualization
- it/chroot
- libvirt
- nspawn
- uk/VirtualBox
CategoryVirtualization | CategorySoftware | CategorySystemAdministration | CategoryPortal