CentOS-Italia.org - La Community degli Utenti Italiani di Linux CentOS Forum e Guide How To

Supporto Tecnico a Centos => Server => Topic aperto da: LonelyWolf - 11 Ottobre 2010, 11:08:53

Titolo: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 11 Ottobre 2010, 11:08:53
Buongiorno a tutti, vengo subito al problema: di virtualizzazione non so nulla e avrei in mente di sistemare un po' i server che ho in produzione.

In sostanza devo virtualizzare 2 server fisici di produzione in 3 virtuali:
Fisici
1 con centos 5.5 32 bit con un applicativo specifico
1 debian per intranet/mail locali e samba

Virtuali
1 con centos 5.5 32 bit con un applicativo specifico, che con qualche strumento di conversione da reale a virtuale mi risolverebbe anche il problema dei backup
1 centos 32 bit per intranet/mail
1 centos 32 bit per samba/nfs

Sono ancora in fase di progettazione in quanto, oltre a non sapere nulla di virtualizzazione, ancora non ho deciso le caratteristiche del server fisico da acquistare; pensavo di utilizzare come host un server con 8GB RAM Centos 5.5 64bit e dare 2GB di ram ad ogni macchina a 32bit è fattibile?

Per il restante hardware pensavo di utilizzare una cpu intel i5 o xeon serie 5000 (dipenderà dal budget che avrò a disposizione), per lo storage 2 dischi da 1/1.5TB in raid 1 software ed un disco "dedicato" per il sistema.


Inoltre, quale server di virtualizzazione utilizzare: xenserver, vmware, virtualbox o che altro?

Titolo: Re: Come virtualizzare con Centos?
Inserito da: pixy - 11 Ottobre 2010, 11:47:28
questo progetto è molto interessante, sono curioso di vedere come gestisci i diversi servizi in virtuale piuttosto che averli su singola macchina
di linux ne so davvero nulla, ma di virtualizzazione una infarinata me la sono fatta
come software di virtualizzazione ti consiglierei vmware server 2, disponibile anche in rpm, questo perchè ti darà la gestione completa tramite un comodo pannello web
personalmente ho provato anche virtualbox, ma la trovo più limitata rispetto alla prima proposta e un pelo più esosa di risorse
io ti parlo sempre di test effettuati su host win, ora ero interessato anch'io a fare test su host linux, ma vorrei prima risolvere i piccoli problemi che ora mi sembrano insormontabili sulla nuova piattaforma (vedi condivisione file)

per la configurazione della macchina host... bhe tu sai che risorse hanno bisogno le macchine reali, tieni presente che l'host occupa risorse minime se è dedicato alla sola virtualizzazione, quindi alle virtuali assegnerai più o meno le stesse risorse di cui avevano bisogno in reale (x stare molto larghi)
potresti anche valutare l'utilizzo di una piattaforma esx, elimineresti l'os host, ma saliresti con i costi
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 11 Ottobre 2010, 16:24:14
Ciao LonelyWolf, il primo SPOF è proprio nello STORAGE. Se ti si guasta la m/b del tuo intel i5 nessuno dei pc virtuali funziona. Inoltre valuta anche un' altra cosa molto importante, oggi molti  produttori di HW realizzano controller RAID ma sono pochi quelli che certificano il recupero dei dati in caso di guasto del controller.
Fai conto che oggi tutti i NAS dedicati fascia end user e SOHO hanno raid sw onboard proprio a causa di questa problematica. Che prestazioni deve avere il NAS ? E' pensabile usare macchine virtuali con distro dedicate per il NAS tipo freenas oppure openfiler?
Eventualmente hai pensato di equipaggiare due server low cost con Linux e con DRDB in modo da avere HA sul disco?
Ora venendo al discorso virtualizzatore, hai veramente l'imbarazzo della scelta per valuta anche quello che effettivamente ti serve.
Qual'è il tuo SLA 4 ore, 8 ore, 24 ore etc.?
Hai statistiche di utilizzo dei server attualmente in produzione?
Hai bisogno di migrare le macchine virtuali da un virtualizzatore all'altro a caldo o in caso di problemi oppure puoi anche spegnere le macchine virtuali e poi tirarle su sull'altro nodo?
In questi ultimi mesi ho testato diverse soluzioni da vmware esxi a proxmox passando per kvm di redhat quindi in base a quello che ti serve posso indirizzarti o almeno darti spunto di ragionamento.


Ciao
 
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 11 Ottobre 2010, 16:55:31
Dunque giuste osservazioni, purtroppo mi rendo conto di non essere stato chiaro nella mia esposizione.

Per quanto riguarda il raid non ho intenzione di appoggiarmi all'hardware, non è proprio sfiducia ma è troppo "chiuso", come ho scritto preferisco il raid software che non mi ha mai deluso e soprattutto non richiede che mi metta a cercare un controller supportato fin nel minimo dettaglio da linux.

Backup: ho un nas che si occupa di tutti i backup e continuerà a farlo, un secondo pc che farà la stessa cosa lo tirerò su a breve (spero) dato che quello in servizio è morto poco fa.

Al momento non ho alcun server virtuale, questi saranno i primi; ho un server fisico che si occupa di samba/web/mail e un altro con un applicativo specifico per noi.

Server virtuali, come vorrei dividere la cosa:
server intranet/mail locali ho i backup di tutti i db, a parte le mail locali che comunque sono di relativa importanza dato che tutti usano un client in POP3, se non va si passa tutti che le mail "esterne" ed ho il tempo di recuperare eventuali messaggi dispersi sui dischi.

server samba (con l'arrivo di win 7 su alcuni client ho intenzione di usare anche nfs): ho il backup dei dati, se non va apro il nas ed ho il tempo di sistemare anche il server.

server specifico per l'applicazione: in realtà vorrei che fosse proprio "clonato" il server di produzione di cui non mi fido; dovrei utilizzare un qualche tool P2V che possa farne la copia così se dovesse cedere quello fisico, attivo la macchina virtuale, recupero il backup del db e la mia applicazione è di nuovo attiva. Senza contare che così posso anche provare gli aggiornamenti di sistema sulla macchina virtuale prima di applicarli a quella reale.
Inoltre non mi azzardo a metterci mano su questa macchina, nemmeno per gli aggiornamenti, in quanto l'installazione è stata piuttosto complessa e completata da un'altra persona, se dovesse guastarsi ora dovrei far intervenire un po' troppa gente per sistemare le cose con tempi e costi che non posso permettermi.

Su quest'ultima applicazione posso arrivare ad attendere una giornata prima di ripristinarla, ovviamente implica una serie di procedure interne fastidiose, quindi meno tempo passa meglio è; per il resto sono abbastanza "libero".

Inoltre cosa importante, anche se purtroppo "brutta", budget 0 tutto quello che ho a disposizione verrà speso per la sostituzione di macchine windows 2000 (non più a norma per quanto riguarda la privacy) e il server fisico che gestirà le vm. (quindi ti lascio immaginare quanto sia il budget!)

In sostanza con Centos 64 bit devo virtualizzare 1 macchina esistente a 32bit per l'applicazione specifica (a 64 non gira) mentre per le altre 2 non credo ci siano problemi anche se le creo a 64 per virtualizzarne 1 reale a 32.

Infine, tanto per complicare le cose, gradirei qualche cosa che sia abbastanza semplice da installare e gestire.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 12 Ottobre 2010, 13:48:09
Ammetto che sono un po' confuso circa la tua risposta.
Il server su cui non vuoi mettere le mani(quello da clonare) che sistema operativo ha?
Riesci a farmi un piccolo disegno anche con DIA Linux per comprendere meglio il tuo progetto ?




Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 12 Ottobre 2010, 14:18:23
e si è un po' difficile da spiegare, adesso scarico dia windows (purtroppo al lavoro quello si usa) e vedo se riesco a spiegarmi.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 12 Ottobre 2010, 14:45:04
Ecco qua, spero che ora sia più chiaro!

Precisiamo che A3 dovrebbe essere avviato all'occorrenza (prevalentemente solo se decede B, ma anche per eventuali test) e che la "trasformazione" con un software/script p2v dovrebbe avvenire da crontab in modo da utilizzarlo come se fosse un backup.


Edit:
Dimenticavo, l'attuale A sarà riciclato per fare quotidiani backup delle macchine virtuali A1, A2, A3.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 12 Ottobre 2010, 17:19:11
Ok, escludi pure esxi, xenserver e vmware server 2.0 . Per i primi due hai bisogno di una macchina windows per il client mentre il terzo è ormai fuori supporto e fuori sviluppo.
La tua scelta a questo punto si focalizza su centos-qemu-kvm e proxmox.
Proxmox l'ho testato bene ed è uno degli ambienti di virtulizzazione bare-metal più veloci e facili da gestire che io abbia mai usato. Metti il cd-rom dentro il pc e dopo 5 minuti hai già tutto quello che ti serve per cominciare a virtualizzare. http://pve.proxmox.com/wiki/Main_Page
Puoi creare sia delle vm da ISO che usare dei template di vps linux già preconfezionate su un repository online da scaricare ed installare .
La gestione della configurazione ip vm/vps dei backup e dell'eventuale cluster proxmox  è tutto a portata di mano.
Se non vuoi usare proxmox ma concentrarti su centos devi installare tutti i pacchetti per la virtualizzazione, riavviare il pc ed iniziare a creare i tuoi server.
Per quanto riguarda la clonazione dei sistemi linux io ho sempre operato in due modi alternativi
1) usare il dd per creare un immagine del disco riversandola su una share nas che mi funge anche da datastore per le macchine virtuali
2) usare dd con nc per clonare il disco via rete direttamente sulla macchina virtuale creata ad hoc per l'occasione.
Un link dove spiega quest'ultima tecnica: http://conshell.net/wiki/index.php/Linux_P2V

Spero di essermi spiegato bene.

Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 12 Ottobre 2010, 17:28:09
...omississ...
Spero di essermi spiegato bene.

Ciao


a parte un paio di termini che non ho capito (ma mi documenterò) tutto ok!
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 12 Ottobre 2010, 18:31:52
Ho dato un'occhiata a proxmox e credo che userò proprio quello.
Se non ho capito male:

Installo proxmox, creo i 2 container con il template per centos 5  e le configuro come voglio (server A1 e A2).
Poi faccio un altro container e ci metto la iso del mio server B

Non ho ancora capito come fare i backup dei container, ma ho il tempo per studiare!

Grazie
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 13 Ottobre 2010, 09:52:22
Come regola proxmox ti permette di usare le vps a template customizzate openvz tra cui centos4 e centos5 se hai bisogno di server che offrano servizi vari ma che non abbiano prestazioni eccelse.
Invece se hai un processore compatibile con VT puoi usarlo nel container KVM direttamente con le ISO di installazione. Questo ti consente ad esempio di installare nel container KVM oltre a macchine linux anche quelle win.
La cosa più simpatica è i due container Openvz e KVM coesistono. Inoltre su proxmox oltre ai vari tool grafici puoi usare anche tutti i comandi di openvz compresi i tool per il TC (traffic shape - limitazione di banda) direttamente via software oppure per limitare il numero di cicli ci clock che devono consumare i server sotto carico.  Calcola che puoi indicare il tuo NAS già a regime come datastore per i backup.

Ciao, fammi sapere come procede.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 13 Ottobre 2010, 11:14:20
Grazie delle ulteriori info, sinceramente per quanto riguarda intranet e mail locale non è che mi servano chissà quali prestazioni, idem per un file server quindi i template dovrebbero andare bene.

Quindi tu mi consigli una kvm per virtualizzare il server che è già in produzione?

Per quanto riguarda il "come procede" sarà una cosa non breve, in questo momento stanno decidendo se fare l'acquisto del server ed in caso affermativo ci vorrà almeno 1 mese ancora prima che arrivi!
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 13 Ottobre 2010, 13:40:09
Se hai bisogno di "prestazioni" ti consiglio di usare il container con kvm
Se hai un notebook o un pc a disposizione potresti installarci virtualbox e poi proxmox come macchina virtuale.
Ovviamente la macchina virtuale proxmox non "vedendo" le kvm perchè virtualizzata ti permetterà di usare solo le vps openvz, ma credo che sia cmq un buon esercizio per capire come funziona il tutto.


Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 25 Gennaio 2011, 09:12:25
Ieri ho acceso il server nuovo, infilato il cd di proxmox e.... non c'è verso di farlo installare, non rileva i dischi nonostante il controller dovrebbe essere supportato (nell'ultima release).

Tanto per essere sicuro che fosse un problema di proxmox ho provato l'installazione di una centos 5.5 32bit, tutto regolare!

Mi sa che dovrò buttarmi su centos 64bit + pacchetti virtualizzazione, hai qualche consiglio/suggerimento?
Intanto devo recuperare i dvd di installazione!
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 26 Gennaio 2011, 11:04:50
Come regola se manca il driver la distro di proxmox è una debian, dovresti capire qual'è quello mancante del controller ed installarlo a parte.
Prova cmq ad iscriverti sulla comunity e a vedere se ti danno supporto per questo tipo di problematica, magari c'è già un workaround : http://forum.proxmox.com/forum.php


Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 26 Gennaio 2011, 13:09:25
Come regola se manca il driver la distro di proxmox è una debian, dovresti capire qual'è quello mancante del controller ed installarlo a parte.
Prova cmq ad iscriverti sulla comunity e a vedere se ti danno supporto per questo tipo di problematica, magari c'è già un workaround : http://forum.proxmox.com/forum.php


Ciao

Già fatto, prima di postare qua.
Non è possibile in fase di boot dire a proxmox di caricare altri driver, l'unica alternativa (a cui tra l'altro ho pensato io e mi hanno confermato sul forum) sarebbe quella di installare debian (e qui penso che potrei inserire i driver in fase di boot) e poi installare proxmox come se fosse un pacchetto, c'è un how to nel wiki ma non è un'operazione "supportata".

Quindi mi sono lanciato con centos!

Primo problema: scegliendo in fase di installazione il gruppo virtualizzazione installa il kernel con xen, una volta avviata la macchina ho trovato molta difficoltà nell'iniziare a gestire la cosa.

Re-install senza selezionare virtualizzazione ma aggiungendo il pacchetto KVM (nella selezione dei pacchetti dettagliata) mi sembra più semplice.

Farò un paio di test poi azzero nuovamente tutto e riparto con una fresh-install per andare in produzione.

Domanda: come faccio a "creare" una scheda di rete bridged per la macchina virtuale, così che possa raggiungerla come fosse un host reale? Non mi sembra di aver visto nessuna opzione per questo in fase di creazione del guest.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 26 Gennaio 2011, 17:41:16

Domanda: come faccio a "creare" una scheda di rete bridged per la macchina virtuale, così che possa raggiungerla come fosse un host reale? Non mi sembra di aver visto nessuna opzione per questo in fase di creazione del guest.
In quale ambiente, proxmox, kvm, openvz,xen?
Titolo: Re: Come virtualizzare con Centos?
Inserito da: zendune - 26 Gennaio 2011, 22:14:23
Citazione da: LonelyWolf
Primo problema: scegliendo in fase di installazione il gruppo virtualizzazione installa il kernel con xen, una volta avviata la macchina ho trovato molta difficoltà nell'iniziare a gestire la cosa.

Re-install senza selezionare virtualizzazione ma aggiungendo il pacchetto KVM (nella selezione dei pacchetti dettagliata) mi sembra più semplice.

Farò un paio di test poi azzero nuovamente tutto e riparto con una fresh-install per andare in produzione.

Ti confermo che se scegli la virtualizzazione in fase di installazione, utilizza il kernel modificato per xen (a kvm non server perchè gira in user space).
Quindi, prima installi il sistema operativo base; poi dal gestore grafico dei pacchetti installi la virtualizzazione con KVM.


Citazione da: LonelyWolf
Domanda: come faccio a "creare" una scheda di rete bridged per la macchina virtuale, così che possa raggiungerla come fosse un host reale? Non mi sembra di aver visto nessuna opzione per questo in fase di creazione del guest.

No, l'opzione non esiste. Devi modificare manualmente le schede di rete.
Ho utilizzato come "bibbia" la guida di RHEL v.5 al link http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/pdf/Virtualization/Red_Hat_Enterprise_Linux-5-Virtualization-en-US.pdf
A pag.142 (158 del lettore PDF) trovi come riconfigurare la scheda di rete per funzionare da bridge ed impostare il firewall dell'host.
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 27 Gennaio 2011, 09:04:38
@dankan:
Da letture molto rapide in rete sapevo che dovevo creare manualmente la "scheda bridge" nel sistema host per poi assegnarla al guest.

@zendune:
Grazie, darò un'occhiata anche lì, ieri in serata avevo trovato delle indicazioni altrove, appena riesco a liberarmi sistemo la macchina!

ecco quello che intendevo:
http://www.cyberciti.biz/faq/rhel-linux-kvm-virtualization-bridged-networking-with-libvirt/
Titolo: Re: Come virtualizzare con Centos?
Inserito da: eugenio - 12 Marzo 2011, 16:21:37
Probabilmente sono in ritardo sulla risposta e fra l'altro non sarà di grande aiuto ma un'occhiata qui non sarebbe niente male:

http://wiki.openvz.org/Download/template/precreated

ciao

Eugenio
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 14 Marzo 2011, 12:34:35
Ho testato e ritestato proxmox ed in tutti i casi non ho mai avuto problemi di rete (Accesso) o altro.Anzi ho implementato anche il traffic shaping utilizzando tc tramite degli script trovati sulla wiki di openvz.Ci deve essere qualche passaggio che non è chiaro. Vuoi provare a spiegare di nuovo il problema indicando il contesto di rete e da dove fisicamente tenti di accedere?

Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 14 Marzo 2011, 16:49:32
Alla fine ho abbandonato proxmox, non aveva supporto per il mio hardware ed ho meso centos 64bit+kvm.
I guest sono kvm centos 32bit

Poi ho "creato" i bridge e associati alle schede di rete.

Se ho il guest attivo non  riesco ad accedere all'host sulla scheda di rete che è in bridge per la vm.

eth0->br0->vm0
Con la vm0 spenta eth0 risponde regolarmente, se vm è attiva eth0 non risponde (ma non intendo che non va la rete, tutto gira perfettamente)

idem con l'altra eth1->br1->vm1
Titolo: Re: Come virtualizzare con Centos?
Inserito da: dankan77 - 14 Marzo 2011, 17:09:00
Ok,  ho capito l'inghippo.

Dovresti usare eth0 con una configurazione alias.

eth0 in bridge sulle vm

ed

eth0:1 con ip assegnato in modo che non hai problemi di raggiungibilità sulla macchina host

Da notare che il "problema" da te rilevato è il normale funzionamento del forwarding del traffico sugli elementi della catena eth0-br0-vm0 .

Tienimi aggiornato.
Ciao
Titolo: Re: Come virtualizzare con Centos?
Inserito da: LonelyWolf - 15 Marzo 2011, 09:22:17
Esatto, è quello che avevo chiesto anche nell'altra discussione, ma non ho ancora trovato il tempo di guardare come farlo; purtroppo sono da solo a gestire un parco macchine un po' troppo grosso!