PVE Proxmox per virtualizzare.....

Slides:



Advertisements
Presentazioni simili
Il Consolidamento di Servizi Virtual Server 2005 PierGiorgio Malusardi Evangelist - IT Professional Microsoft.
Advertisements

Benvenuti a Un incontro informativo di grande valore ed alto contenuto sulla Virtualizzazione e sistemi ad alta disponibiltà per le PMI.
Riccardo Veraldi, CCR Dic 2008 Xen Problematiche sulla virtualizzazione.
DA e controlli DAFNE Riccardo Gargana Frascati 13/12/ /12/13.
Virtualizzazione nell’INFN Andrea Chierici 11 Dicembre 2008.
Panoramica su Koozali SME Server Distribuzione Linux open source, stabile, sicura e versatile rivolta alle Piccole e Medie imprese (Novembrer 2015 v1.2)
PROXMOX VE Proxmox VE come soluzione per la gestione di macchine virtuali. 01 marzo 2010.
FSUG Padova – Serate a tema 2010 Serate a tema 2010 Sistemi di Virtualizzazione Come la virtualizzazione può far risparmiare parecchio tempo e denaro nella.
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Fabrizio Felici Linux e Windows a confronto, perché passare a Linux 27 ottobre 2007.
Corso gratuito di Linux. Linux User Group Mantova
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
User Mode Linux. Cos'è user mode linux ● User mode linux è un kernel linux che gira come un'applicazione nello spazio utente.
Linux Day 2006 – Giornata nazionale dedicata al Software Libero e GNU/ Linux – Trusted Computing: Ecco il tuo Futuro Antonio Angelotti.
Conferenza italiana Debian San Donà di Piave, settembre 2007 XEN su Debian Panoramica su XEN e sugli strumenti di Debian per gestirlo Giuseppe Sacco.
OpenWrt Diego Furlan. Panoramica ● Presentazione ● Download software ● Configurazione software ● Compilazione firmware ● Upload firmware ● Configurazione.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
AFS NELLA SEZIONE DI PADOVA aree_utenti: attualmente nessuno ha la proria home in AFS e quasi nessuno utilizza l'area utenti di AFS. /usr/local: si preferisce.
Cos'e' e cosa ci si puo' fare Andrea Trentini
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Corso di Elementi di Informatica
PNSD - Modulo D1A marzo 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Infrastruttura cloud servizi realizzata nella Sezione di Napoli
Configurazione Router IR794- IG601
Corso per Webmaster base
Riccardo Veraldi - Massimo Donatelli CCR 3-4 Marzo 2008
Office WPC049 Strumenti di supporto e analisi per Office 365
WPC069 Il deployment automatizzato di Windows 10
CARATTERISTICHE DI UN DATACENTER
Virtualizzazione Server by Linux
Tavola rotonda sulla Virtualizzazione
Breve report su corso RedHat Enterprise Virtualization (RH318)
Programmazione per la Musica | Adriano Baratè
PNSD - Modulo D1A 27 aprile 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
Terza Lezione → Navigare nel file System → parte 2
Microcontrollori e microprocessori
Cloud per HA nei Servizi
The Virtual Machine Monitor Introduzione. Installazione. Utilizzo.
KVM QEMU Virtual Machine Manager Massimo Nuvoli
“VIRTUAL BOX E CONDIVISIONE FILE”
Sistema Operativo - DietPI
LA GESTIONE DEI PACCHETTI
Gruppo Proxmox ImoLUG: vedere provare condividere
ai termini e ai principi informatici utili per utilizzare Linux
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Creare un server casalingo - 2
Managed Workplace RMM Il monitoraggio e la gestione da remoto (Remote Monitoring and Management) resi semplici. Ottieni gli strumenti e le conoscenze necessarie.
Organizzare, gestire e proteggere i laboratori informatici
analizzatore di protocollo
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
Virtualizzazione desktop e server
Il Backup di macchine virtuali Hyper-V
RES PowerFuse® e RES WISDOM®
Organizzazione di una rete Windows 2000
IL DISASTER RECOVERY Ing. Massimiliano Zuffi
Windows Admin Center La rivoluzione della gestione di Windows Server
Progetto di Tecnologie Web 2014/2015 THERMOWEB
© 2007 SEI-Società Editrice Internazionale, Apogeo
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
© 2007 SEI-Società Editrice Internazionale, Apogeo
I servizi di backup locale e backup in cloud
Fogli elettronici e videoscrittura
IA2 Massimo Sponza IA2 – Osservatorio Astronomico di Trieste 2018 ICT Workshop - Catania.
Il nuovo scratch desktop
CLOUD.
Transcript della presentazione:

PVE Proxmox per virtualizzare..... un anno dopo 28 febbraio 2011.

VIRTUALIZZAZIONE Tramite la virtualizzazione è possibile eseguire contemporaneamente più istanze di sistemi operativi “guest” in un’unica macchina fisica “host”. I sistemi operativi “guest” colloquiano con le risorse messe a disposizione dalla macchina fisica “host” attraverso un componente software di livello intermedio generalmente denominata “hypervisor” o “virtual machine monitor”.

Perché virtualizzare ? PER CONSOLIDARE / RIDURRE IL NUMERO DI SERVER FISICI Tramite la virtualizzazione si possono “eseguire” più macchine virtuali nella stessa macchina fisica riducendo il numero dei server (considerando che spesso le risorse CPU/RAM/HD non vengono pienamente sfruttate dai server “fisici”).

PER RIDURRE IL TCO (Total Cost of Ownership) Perché virtualizzare ? PER RIDURRE IL TCO (Total Cost of Ownership) Il consolidamento ad un numero inferiore di server permette una notevole riduzione dei costi legati all’energia utilizzata per alimentare i server e per mantenere la temperatura ambientale adatta alle sale server. Inoltre si riducono i costi di acquisto e i canoni di manutenzione dei server fisici.

PER GESTIRE IN MODO PIU' SEMPLICE LE PROCEDURE DI “DISASTER RECOVERY”. Perché virtualizzare ? PER GESTIRE IN MODO PIU' SEMPLICE LE PROCEDURE DI “DISASTER RECOVERY”. L’intero sistema operativo “guest” può essere facilmente salvato e ripristinato riducendo notevolmente i tempi di indisponibilità in caso di guasto.

PER POTER ESEGUIRE APPLICAZIONI “LEGACY” Perché virtualizzare ? PER POTER ESEGUIRE APPLICAZIONI “LEGACY” Alcune organizzazioni utilizzano applicazioni sviluppate per sistemi operativi che girano su hardware ormai obsoleto, non supportato o addirittura introvabile. Attraverso la virtualizzazione è possibile continuare ad utilizzare quelle applicazioni che diversamente dovrebbero essere migrate ad una architettura più attuale affrontando i costi relativi al porting e al debug.

Perché virtualizzare ? ALTA DISPONIBILITA' Se è presente una infrastruttura di server fisici con delle caratteristiche hardware tra loro compatibili e questi server condividono una area dati (storage) sulla quale risiedono le macchine virtuali, sarà possibile spostare l’esecuzione di una macchina virtuale su un altro host in caso di “failure” o per manutenzione. Alcuni sistemi di virtualizzazione prevedono lo spostamento automatico delle macchine virtuali tra i vari host in funzione al carico.

LE DIVERSE TIPOLOGIE DI VIRTUALIZZAZIONE EMULATION FULL VIRTUALIZATION PARAVIRTUALIZATION OPERATING SYSTEM LEVEL VIRTUALIZATION Vediamo quali sono le differenze....

L’emulatore simula un’architettura hardware diversa da quella fisica EMULAZIONE Con l’emulazione l'hypervisor simula l’intero hardware set che permette al sistema operativo guest di essere eseguito senza alcune modifiche. Il software di virtualizzazione si incarica di presentare al sistema operativo guest un’architettura hardware completa a lui nota, indipendentemente dall’architettura hardware presente sulla macchina host. L’emulatore simula un’architettura hardware diversa da quella fisica

FULL VIRTUALIZATION La Full Virtualization detta anche Native Virtualization è molto simile alla Emulation. Come nell’emulazione, i sistemi operativi guest girano senza alcuna modifica in macchine virtuali ospitate sul sistema host. La differenza rispetto all’emulazione sta nel fatto che i sistemi operativi guest devono essere compatibili con l’architettura hardware della macchina fisica. In questo modo molte istruzioni possono essere eseguite direttamente sull’hardware senza bisogno di un software di traduzione garantendo prestazioni superiori rispetto all’emulazione. La Full Virtualization presenta al sistema operativo guest la stessa architettura hardware presente sull'host fisico

PARAVIRTUALIZATION L'hypervisor presenta alle macchine virtuali una versione modificata dell’hardware sottostante, mantenendone tuttavia la medesima architettura. Il sistema operativo in esecuzione sulle macchine virtuali è invece modificato per evitare alcune particolari chiamate di sistema. La Paravirtualization è simile alla full virtualization, ma è necessario modificare il sistema operativo guest per ottimizzare l’esecuzione sull’ambiente virtualizzato

Operating System level Virtualization Non si utilizza un Hypervisor, ma la virtualizzazione è creata utilizzando copie del sistema operativo installato sull'host. I sistemi guest creati saranno a tutti gli effetti istanze del sistema operativo host con un proprio file system, configurazione di rete e applicazioni. Le istanze guest utilizzano lo stesso kernel della macchina host. Questo è tuttavia il principale svantaggio di questa tecnica, che la rende inutilizzabile da coloro che vogliono eseguire sistemi operativi diversi sullo stesso host.

ALCUNI ESEMPI DI SISTEMI DI “VIRTUALIZZAZIONE” Emulazione: Microsoft Virtual PC, QEMU Full Virtualization: Vmware (in base alla versione), Virtual Box, Win4Lin Pro e Xen, KVM Paravirtualization: Vmware (in base alla versione), Xen e User-mode Linux Operating System level Virtualization (contextualization / containers): Virtuozzo (OpenVZ), Linux VServers questa sera parleremo nello specifico di KVM e OpenVZ !!

ALCUNI NUMERI (dati non aggiornati !!) VMWare – 400.000.000 righe di codice XEN – 400.000 righe di codice KVM – 8.700 righe di codice

DEMO – come si presenta l'interfaccia Web ! PROXMOX DEMO – come si presenta l'interfaccia Web !

OpenVZ OpenVZ è una tecnologia di virtualizzazione basata sul kernel Linux; OpenVZ è una versione nata da Parallels Virtuozzo Container, un prodotto software proprietario fornito da Parallels Inc; OpenVZ è sotto licenza GNU GPL versione 2 ed il suo progetto è sostenuto e sponsorizzato da Parallels; OpenVZ consente a un server fisico di eseguire più istanze isolate di un sistema operativo, note come contenitori;

OpenVZ OpenVZ può essere visto come una sorta di CHROOT, ma a differenza del processo CHROOT che gira in user space, il processo OpenVZ gira in kernel space (maggiore sicurezza) Ogni contenitore è una entità separata, e si comporta come un server fisico: può essere riavviato indipendentemente dal padre ha un proprio utente root può avere uno o più indirizzi IP (propri) memoria, cicli processore, files, applicazioni, librerie di sistema e file di configurazione... NON può avere un proprio kernel.... perchè è un contenitore eseguito dal kernel della macchina padre

KVM - Kernel-based Virtual Machine KVM (Kernel-based Virtual Machine) è una soluzione per la virtualizzazione (di tipo full virtualization) per Linux (a partire dal kernel 2.6.20 o come patch a partire dalla versione 2.6.16) basata su piattaforma x86. Per poter essere utilizzato KVM richiede che la piattaforma hw supporti una particolare estensione per la virtualizzazione. Nello specifico, Intel-VT per i processori Intel e AMD-V per i processori AMD.

KVM - Kernel-based Virtual Machine La soluzione KVM è composta da un modulo per il kernel (kvm.ko) che gestisce l'infrastruttura, da un modulo specifico in base alla tipologia di processore utilizzato (kvm-intel.ko o kvm- amd.ko) e da una versione modificata di QEMU. http://www.linux-kvm.org/page/Processor_support Tramite KVM è possibile virtualizzare macchine Linux e Windows; ad ogni macchina virtuale viene assegnato un proprio "set di harware virtuale" privato: scheda di rete, hard disk, scheda grafica...

KVM - Kernel-based Virtual Machine All'indirizzo http://www.linux- kvm.org/page/Guest_Support_Status sono disponibili i sistemi operativi guest supportati da KVM. All'indirizzo http://www.linux- kvm.org/page/Management_Tools sono disponibili una serie di soluzioni che consentono di gestire KVM Questa sera parleremo di PVE Proxmox !

Quando usare OpenVZ e quando usare KVM ? Dipende !

Quando usare OpenVZ e quando usare KVM ? es. Ho bisogno di un server su cui far girare LAMP (Linux, Apache, MySQL, Php) senza aver bisogno di nessuna interfaccia grafica.... utilizzo OpenVZ es. Ho bisogno di un server su cui far girare un servizio FTP... utilizzo OpenVZ es. Ho bisogno di un sistema operativo completo di interfaccia grafica o di un ambiente con uno specifico kernel o di un sistema operativo per cui non esiste un template (OpenVZ)... utilizzo KVM

OpenVZ PRO Creazione di una nuova macchina virtuale in un lampo ! E possibile ridimensionare lo spazio disco senza dover apportare modiche alla macchina virtuale (basta riassegnare lo spazio !) Posso installare sistemi operativi diversi da quello della macchina host (es. posso installare una RedHat come macchina virtuale su di una Debian su cui è stato installato OpenVZ) Spazio su disco occupato inferiore rispetto ad un macchina full virtualized CONTRO NON posso utilizzare un kernel diverso da quello della macchina host NON posso virtualizzare macchine Windows

OpenVZ: alcuni comandi utili per la shell vzlist -a (visualizza l'elenco e lo stato dei CT) vzctl start ID (avvia il contenitore) vzctl enter ID (entra nel contesto del contenitore) vzctl stop ID (arresta il contenitore) vzctl set ID --hostname PIPPO --save (modifica l'hostname della macchina ID, al volo !) vzctl set ID --ipadd IP --save (aggiunge un indirizzo IP al contenitore, al volo !) vzctl set ID --ipdel IP --save (rimuove un indirizzo IP dal contenitore, al volo !)

KSM - Kernel Samepage Merging KSM è una tecnologia introdotta a partire dal kernel 2.6.32. Kernel SamePage Merging (KSM) consente alle pagine di memoria identiche di essere unite dal kernel in una singola pagina condivisa fra uno o più processi. Questa caratteristica viene usata da KVM per consentire a più macchine virtuali ospiti simili di avere una impronta in memoria ridotta. Funziona così http://pve.proxmox.com/wiki/KSM “One case that might come to mind is webhosting where you might want to maximize scalability. Redhat claims that tests with KSM were able to achieve 600 vms on a host with 48 cores and 256 GB RAM” … tratto da questo sitohttp://www.linux-kvm.com/content/using- ksm-kernel-samepage-merging-kvm NB. da valutare attentamente prima di attivarne la gesionte in quanto la tecnologia consente di risparmiare RAM a scapito di un maggiore utilizzo della CPU.

Perchè utilizzare PVE (Proxmox Virtual Environment) come sistema di virtualizzazione ? Perchè è open source Perchè consente di gestire due diversi sistemi di virtualizzazione (OpenVZ e KVM) tramite un'unica intuitiva interfaccia Web Perchè è un progetto “vivo” che in poco tempo è notevolmente migliorato.... e migliorerà ancora http://pve.proxmox.com/wiki/roadmap

PROXMOX – Installazione Tramite il CD di installazione (Bare-metal ISO Installer) l'intero sistema di virtualizzazione è operativo nel giro di pochi minuti L'installazione tramite CD “azzera” completamente qualsiasi partizione presente sul PC su cui viene installato Proxmox Al termine dell'installazione otterremo un server con le seguenti caratteristiche: * Sistema operativo completo (Debian Lenny 64bit) * Hard disk partizionato con LVM2 * Proxmox VE Kernel con supporto OpenVZ e KVM * Tools per il Backup e Restore delle macchine virtuali * Interfaccia Web per la manutenzione del sistema

PROXMOX – quali sono le virtualizzazioni supportate ? Container Virtualization (OpenVZ) Full Virtualization (KVM) Paravirtualization (KVM), KVM supporta la paravirtualizzazione di alcune periferiche per consentire un incremento delle prestazioni di I/O (VirtIO)

Proxmox - Paravirtualized Network Drivers for Windows Tratto da http://pve.proxmox.com/wiki/Paravirtualized_Network_Drivers_for_Windows “In order to improve network performance, special paravirtualized network drivers can be installed in Windows guests. The KVM project released drivers for Windows 2000, Windows XP and Vista. The Windows XP drivers are known to work also on Windows 2003 Server (also the Vista drivers can be used for Windows 2008). For production systems (windows), the stable e1000 emulations is recommended (but you need the latest drivers from Intel, the built in e1000 drivers are not working).” NON è vero :-) .... VIRTIO funziona !

Proxmox dentro proxmox dentro proxmox dentro proxmox ...... E' possibile installare proxmox dentro un altro proxmox ma con alcune limitazioni per i processori INTEL: pur abilitando il parametro “-enable-nesting” per le macchine guest di tipo KVM non viene abilitato il supporto “vmx” questo significa che (solo per processori INTEL) NON posso creare nuove macchine KVM in un server proxmox contenuto in un'altro server proxmox ! http://avikivity.blogspot.com/2009/09/nested-vmx-support-coming-to-kvm.html

Proxmox e OpenVZ Tramite Proxmox è possibile creare una macchina virtuale OpenVZ in pochi secondi partendo da un template Tramite questo link è possibile accedere ad un elenco di template per OpenVZ http://wiki.openvz.org/Download/template/precreated

PROXMOX – Installazione da CD bare-metal DEMO ! Installazione da CD Configurazione dei dischi e delle partizioni Configurazione delle schede di rete della macchina padre http://pve.proxmox.com/wiki/Network_Model

DRBD - http://pve.proxmox.com/wiki/DRBD PROXMOX – DOVE SALVARE LE IMMAGINI DEI DISCHI DELLE MACCHINE VIRTUALI ? DRBD - http://pve.proxmox.com/wiki/DRBD VANTAGGI: semplice da realizzare ed economica soluzione prestante richiede solo i 2 server proxmox in cluster e' possibile migrare “live” le macchine virtuali KVM SVANTAGGI: spazio disco limitato in base al numero di hd che fisicamente possono essere installati sui 2 server dubbi personali :-| http://forum.proxmox.com/threads/3371-DRBD- primary-secondary?p=19048#post19048

PROXMOX – DOVE SALVARE LE IMMAGINI DEI DISCHI DELLE MACCHINE VIRTUALI ? ISCSI – Openfiler VANTAGGI: scalabile e' possibile riutilizzare del “vecchio” HW soluzione “economica” (sfruttando vecchio HW) SVANTAGGI: meno prestante rispetto alla soluzione DRDB implementata direttamente sui 2 server proxmox

SOLUZIONI ALTERNATIVE PROXMOX – DOVE SALVARE LE IMMAGINI DEI DISCHI DELLE MACCHINE VIRTUALI ? SOLUZIONI ALTERNATIVE SAN http://it.wikipedia.org/wiki/Storage_Area_Network ATAoE http://en.wikipedia.org/wiki/ATA_over_Ethernet http://www.coraid.com/ http://lbserver.org/aoe/backup.html

PROXMOX – DOVE SALVARE LE IMMAGINI DEI DISCHI DELLE MACCHINE VIRTUALI ? Tratto dal forum di proxmox: http://forum.proxmox.com/threads/3192-Perfect-storage?highlight=perfect For ISO store, I suggest a NFS share. For vzdump backups, I suggest a NFS share. For KVM images, I suggest using a big iSCSI LUN and LVM on it For KVM images, a NFS share is the easiest way (but no online backup via snapshots here) e.g. by using openfiler on your storage box you can configure everything you need. E vorrei aggiungere anche: http://forum.proxmox.com/threads/3456- Storing-Virtual-Disks-Containers-not-on-the-root-drive-HowTO- Guide?highlight=snapshot+root

PROXMOX – Migrazione macchine virtuali DEMO ! Migrazione macchine KVM

Proxmox – backup macchine virtuali http://pve.proxmox.com/wiki/Backup_-_Restore_- _Live_Migration i backup possono essere eseguiti a “caldo” i backup delle macchine virtuali (OpenVZ e KVM) vengono gestiti tramite il programma vzdump migrare a “caldo” implica l'uso degli snapshot di LVM in sostanza, ad ogni avvio di un backup: viene attivato lo snapshot del volume logico di LVM viene eseguito il backup viene distrutto lo snapshot

Proxmox e le schede di rete http://pve.proxmox.com/wiki/Network_Model

Alcuni “trucchetti” per Proxmox Come spegnere le macchine virtuali Linux qm shutdown ID Come spegnere le macchine virtuali Windows http://www.linuxtrent.it/pillola-20-spegnimento- forzato-macchine-windows-virtualizzate-tramite- proxmox Come escludere un disco di una macchina virtuale dalla procedura di backup: aggiungere il parametro backup=no al file ID.conf

DOMANDE ?

Come configurare il firewall per proteggere le macchine virtuali. Shorewall e Proxmox Come configurare il firewall per proteggere le macchine virtuali.

Cosè shorewall ? http://shorewall.net Shorewall NON è un firewall Shorewall è un tool per la configurazione delle regole di firewalling implementate tramite Netfilter

Shorewall e Proxmox Alcune note di installazione: apt-get update apt-get install shorewall-perl modificare il parametro “IP_FORWARDING” in /etc/shorewall/shorewall.conf impostando il valore a “On” modificare il parametro “FASTACCEPT” in /etc/shorewall/shorewall.conf impostando il valore a “Yes” modificare il parametro “BRIDGING” in /etc/shorewall/shorewall.conf impostando il valore a “No” dopo aver opportunamente configurato e testato i vari file nella cartella /etc/shorewall è possibile impostare l'avvio automatico di shorewall modificando il parametro “startup” a “1” nel file /etc/default/shorewall

Shorewall e Proxmox Alcuni comandi utili: shorewall check verifica la correttezza dei file di configurazione shorewall try /etc/shorewall 10 avvia shorewall per 10 secondi shorewall clear rimuove tutte le regole impostate da shorewall

“Webbografia” ! http://www.serverlab.it/index.php/2009/09/09/utilizzi-benefici-virtualizzazione/ http://www.linux-kvm.org http://wiki.qemu.org/Main_Page http://pve.proxmox.com/wiki/Main_Page http://wiki.openvz.org/Main_Page https://labs.truelite.it/truedoc/wiki/LinuxOpenVZHowto http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm http://arstechnica.com/software/news/2008/09/red-hat-acquires-qumranet-will-embrace- kvm.ars http://www.mjmwired.net/kernel/Documentation/vm/ksm.txt http://www.myatus.co.uk/it/2009/08/31/guide-firewall-and-router-with-proxmox/