Progetto

Generale

Profilo

LinuxOpenVZHowto » Cronologia » Versione 5

Versione 4 (Amministratore Truelite, 06-11-2009 18:01) → Versione 5/41 (Amministratore Truelite, 06-11-2009 18:25)

[[TracNav(TOC)]] 

 = Come creare un ambiente "virtualizzato" con OpenVZ su Lenny = 

 Il supporto per [http://wiki.openvz.org/ OpenVZ] è presente in Debian a partire da ''Etch''. Come per Vserver la tecnologia dei ''container'' usata da [http://wiki.openvz.org/ OpenVZ], pur non fornendo una macchina virtuale vera e propria, consente    un uso estremamente efficiente delle risorse, permettendo creare una serie di sistemi indipendenti, chiamati ''virtual-environment'' (da qui in breve VE), che girano sotto lo stesso kernel, utilizzando lo stesso filesystem ed un unico stack di rete, che pur non essendo macchine virtuali in senso stretto, nella gestione ordinaria possono essere tranquillamente considerate come tali. 

 Ovviamente non trattandosi di una tecnologia di virtualizzazione, non consente di installare un ''virtual-server'' con un sistema operativo diverso, come Windows. Qualora si abbiano di queste esigenze si dovrà ricorrere a tecnologie alternative come Xen o KVM.  

 Come accennato OpenVZ è supportato a partire da Debian ''Etch'', una volta installato il sistema base (queste note fanno riferimento alla versione distribuita con ''Lenny''), si dovrà installare il kernel modificato per l'uso di [http://linux-vserver.org/ linux-vserver], con il comando: 
 {{{ 
 aptitude install linux-image-openvz-686 
 }}} 
 alternativamente, se la macchina è stata installata a 64 bit, si dovrà installare il pacchetto {{{linux-image-openvz-amd64}}}. L'installazione del kernel installa automaticamente anche i tool di base necessari alla gestione delle macchine contenute. 

 Su Debian tutti i file di OpenVZ e dei VE vengono mantenuti sotto {{{/var/lib/vz/}}}, ma per compatibilità con altre versioni è suggerito creare un link simbolico sotto la radice come: 
 {{{ 
 ln -s /var/lib/vz /vz 
 }}} 

 Una volta installato il tutto occorrerà riavviare la macchina per utilizzare il nuovo server, eseguito il riavvio si potrà verificare il funzionamento del sistema verificando che in processo di controllo sia attivo: 
 {{{ 
 # ps aux| grep vz 
 root        2488    0.0    0.0        0       0 ?          S      15:20     0:00 [vzmond] 
 }}} 
 e controllando lo stato con: 
 {{{ 
 # vzlist -a 
       VEID        NPROC STATUS    IP_ADDR           HOSTNAME                         
 }}} 
 che sarà vuoto non essendo stato creato alcun VE. 

 Il passo successivo è quello di installare un primo VE, per questo tornano estremamente utili i ''template'', degli scheletri di sistema da cui si può creare in maniera rapida e semplice un nuovo VE; si tratta in sostanza di archivi (in formato {{{.tar.gz}}}) che contengono l'immagine del filesystem di un intero sistema. Questi si possono scaricare già pronti da  
 [http://download.openvz.org/template/precreated/ questo sito] e basta scaricarli nella directory {{{/var/lib/vz/template/cache}}}, ad esempio per una Debian si dovrà fare: 
 {{{ 
 cd /vz/template/cache 
 wget http://download.openvz.org/template/precreated/debian-5.0-x86.tar.gz 
 }}} 
 (questa è la versione per 686, si usi quella a 64 bit per macchine a 64 bit).  

 

 Dopo di che la creazione di un template può essere eseguita semplicemente con il comando {{{vzctl create}}}, questo in genere fa riferimento al file di configurazione generale di OpenVZ {{{/etc/vz/vz.conf}}} in cui viene definita la variabile {{{DEF_OSTEMPLATE="debian"}}} che indica il template di default da usare se non se ne indica esplicitamente uno per nome. Questo però fa riferimento ad un file con lo stesso nome sotto {{{/vz/template/cache}}} per cui se si è scaricato il file precedente occorrerà creare un link simbolico con: 
 {{{ 
 ln -s debian-5.0-x86.tar.gz debian.tar.gz 
 }}} 

 A questo punto si potrà creare un nuovo VE indicandone semplicemente il numero identificativo (quello che in gergo viene chiamato '''VEID'''), nel nostro caso questo può essere creato semplicemente con il comando: 
 {{{ 
 # vzctl create 100  
 Creating VE private area (debian) 
 Performing postcreate actions 
 VE private area was created 
 }}} 
 che usa il VEID 100; una volta creato lo potrà far partire con il comando: 
 {{{ 
 # vzctl start 100  
 Starting VE ... 
 VE is mounted 
 Setting CPU units: 1000 
 Configure meminfo: 65536 
 VE start in progress... 
 }}} 
 verificarne l'attività con: 
 {{{ 
 # vzlist -a 
       VEID        NPROC STATUS    IP_ADDR           HOSTNAME                         
        100            8 running -                 -                                
 }}} 
 entrarci con: 
 {{{ 
 # vzctl enter 100 
 entered into VE 100 
 vzserver:/# 
 }}} 
 fermarlo con: 
 {{{ 
 # vzctl stop 100 
 Stopping VE ... 
 VE was stopped 
 VE is unmounted 
 }}} 

 Come si può notare dalla lista precedente in questo modo però il nostro VE non è dotato né di rete né di un nome, tutte queste proprietà possono essere specificate sia in sede di creazione, tramite opportune opzioni, che in seguito con il comando {{{vzctl set}}}