PDA

View Full Version : vmware + storage


eclissi83
07-02-2009, 18:34
ATTENZIONE: POST LUNGO
Salve,
in azienda, per vari motivi che non sto qui a spiegarvi, si e' deciso di spostare gli attuali server fisici in varie macchine virtuali.
Il server che sostituira' le attuali macchine e' un HP con un quad xeon, 4gb di ram, 4 tb di HD Sata2, che presto verra' raggiunto da una macchina simile (se non identica) per avere una ridondanza in caso di guasti gravi.
I server che attualmente utilizziamo sono 5:
1) webdev0: C2D - 4gb di Ram - HD 2x500Gb Raid 1- CentOS 5.2 [apache + mysql 5 + php 5 + nagios + samba]
2) webdev1: Athlon64 - 4gb Ram - HD 2x500Gb Raid1 - CentOS 5.2 [gemella di webdev0 - mysql in replica con webdev0 - rsync dei dati ogni notte]
3) win2k3file: Athlon64 - 4Gb Ram - HD 2x250Gb + 2x500Gb Raid1 - Windows 2003 server [Dominio + File Server + VmWare Player]
4) centralino: AthlonXp - 2 Gb Ram - HD 2x250Gb Raid1 - Windows XP SP3 [Voispeed]
5) testing: P4 - 1gb Ram - HD 1x250Gb - CentOS 5.2 [utilizzata per gli esperimenti e probabilmente non verra' toccata].

La ragione per cui e' stato scelto vmware invece di xen e' abbastanza semplice: vmware gira su ogni tipo di piattaforma, mentre xen come sistema host necessita di linux.
Questa, nel caso specifico e' una limitazione, perche' spesso capita di portare al cliente (che ha gia' il suo server - magari con windows 2003 - e non vuole spendere soldi in altro hardware) direttamente la macchina virtuale: basta quindi installare vmware e copiare la vm affinche' il cliente abbia il suo prodotto.

Attualmente sto effettuando delle prove per capire come configurare il tutto e le opzioni a cui sono arrivato sono due:
1) vmware ESXi
2) CentOS + vmware server

vmware ESXi sembra carino e le prestazioni sono elevate, ma ha delle forti limitazioni:
1) non ti fa partizionare i dischi e durante l'installazione distrugge tutto (quindi non posso usare il Raid 5 come avevo previsto ed inoltre alcune partizioni le fa vfat, non capisco perche');
2) la console e' esclusivamente per Windows (il che e' un problema relativamente marginale);
3) l'interfaccia nativa e' talmente spartana che e' complessa persino da navigare.
4) non mi riconosce (nel caso specifico) un lettore dvd usb e le installazioni delle vm le devo fare via rete, cosa che richiede tanto tempo in piu', sebbene la rete sia tutta gigabit.

CentOS + vmware server:
1) installazione minimale del sistema operativo con tutti i vantaggi del caso (partizionamento + liberta' di installare cio' che ti pare etc etc);
2) vmware 2 server ha l'interfaccia web quindi usabile con un qualsiasi client, peccato necessiti di Tomcat lato server, essendo scritta in java (l'interfaccia risulta essere non molto reattiva);
3) prestazioni lievemente inferiori alla ESXi.

Queste sono le impressioni dalle mie prove, ma il punto principale e' quello dello storage: avendo la necessita' di un file server e facendo vmware un unico file per la macchina virtuale (o lo splitta in piu' file da 2gb l'uno ma il concetto e' lo stesso) credo sia conveniente utilizzare una partizione apposita da far mountare al sistema guest, ma non ho capito come (se non mountandole sul sistema operativo host e poi accedervi via samba), ed in ogni caso dovrei preoccuparmi di backuppare non solo la vm, ma anche la partizione dove ci sono questi dati (che poi sono trasportabili non con molta facilta'). Avevo pensato all'iSCSI anche se non so se e' poi possibile usarlo su windows.
Sarebbe bello se fosse possibile poter installare la VM direttamente su una partizione apposita (piu' o meno come puo' fare Xen)...

grazie in anticipo...

ciao

Empyrium
08-02-2009, 10:24
Ho letto velocemente, per cui perdonami se tirerò fuori risposte che non c'entrano nulla :D

Prima di tutto, ti consiglio caldamente di aumentare la quantità di RAM sul nuovo server host: 4 GB per cinque VM (più l'host) sono pochi.

Poi, non ho ben capito la questione storage: prima dici di voler usare VMware perché è più facilmente trasportabile tra host diversi, poi dici che ti piacerebbe poter usare come storage partizioni (modello Xen). Direi di metterti d'accordo con te stesso: o usi un formato autocontenuto che inglobi tutto in uno o più file, oppure usi un formato raw che spalmi i dati sull'intero storage disponibile :stordita:

In ogni caso, ti ricordo che esistono ottimi convertitori da formato VMware (VMDK), a formato Xen (raw), a formato QEMU (qcow, qcow2, ...). Quindi ti consiglierei di non preoccuparti dell'aspetto portabilità, soprattutto se scegli di usare partizioni raw.

Detto ciò, puoi usare quello che vuoi: VMware ESXi, VMware Server, Xen, KVM, etc. Il mio consiglio è di buttarti su Xen, in modo da godere di tutti i vantaggi del caso (iSCSI, LVM, ...) ed eventualmente convertire il formato delle VM in caso di necessità :)

eclissi83
08-02-2009, 11:12
Prima di tutto, ti consiglio caldamente di aumentare la quantità di RAM sul nuovo server host: 4 GB per cinque VM (più l'host) sono pochi.

Si, questo e' un passo che e' gia' previsto, bisogna solo procedere. In ogni caso la migrazione sara' graduale.

Poi, non ho ben capito la questione storage: prima dici di voler usare VMware perché è più facilmente trasportabile tra host diversi, poi dici che ti piacerebbe poter usare come storage partizioni (modello Xen). Direi di metterti d'accordo con te stesso: o usi un formato autocontenuto che inglobi tutto in uno o più file, oppure usi un formato raw che spalmi i dati sull'intero storage disponibile :stordita:

La questione, che forse ho espresso male, e' questa: se uso il formato di vmware, ha senso - parlando di prestazioni - farci un file server? oppure ha piu' senso mettere la roba direttamente su una partizione e mountarla in qualche modo (via smb, iSCSI, etc) con i problemi di backup/portabilita' del caso?

In ogni caso, ti ricordo che esistono ottimi convertitori da formato VMware (VMDK), a formato Xen (raw), a formato QEMU (qcow, qcow2, ...). Quindi ti consiglierei di non preoccuparti dell'aspetto portabilità, soprattutto se scegli di usare partizioni raw.

Quali sono questi convertitori?

Detto ciò, puoi usare quello che vuoi: VMware ESXi, VMware Server, Xen, KVM, etc. Il mio consiglio è di buttarti su Xen, in modo da godere di tutti i vantaggi del caso (iSCSI, LVM, ...) ed eventualmente convertire il formato delle VM in caso di necessità :)
aziendalmente questa e' una scelta discutibile e ti spiego il motivo (non che si debba fare per forza come abbiamo scelto noi eh, sia chiaro): solitamente si tende ad usare per i clienti le stesse soluzioni che usi all'interno dell'azienda per avere un ambiente uniforme. Inoltre, non si puo' rischiare di avere problemi in conversioni od altro da un formato all'altro, o doverci perdere del tempo.

spero di aver messo in chiaro il problema.

ciao

flisi71
09-02-2009, 13:13
...
Il server che sostituira' le attuali macchine e' un HP con un quad xeon, 4gb di ram,


Come ti ha già suggerito l'utente Empyrium, se le tue vm hanno i requisiti che sotto hai riportato, devi espandere la RAM.

che presto verra' raggiunto da una macchina simile (se non identica) per avere una ridondanza in caso di guasti gravi.


Questo implica subito che il tuo storage dovrà essere di rete.



I server che attualmente utilizziamo sono 5:
1) webdev0: .... HD 2x500Gb Raid 1 ....
2) webdev1: .... HD 2x500Gb Raid1 ....
3) win2k3file: ... 2x500Gb Raid1 .... VmWare Player
4) centralino: .... HD 2x250Gb Raid1 ....


Utilizzando uno storage di rete riuscirai anche ad evitare lo "spreco" di HDD che hai attualmente.
In rosso ho evidenziato il sw di virtualizzazione che dovrai togliere, una votla che avrai virtualizzato l'host win2k3file.


...
spesso capita di portare al cliente (che ha gia' il suo server - magari con windows 2003 - e non vuole spendere soldi in altro hardware) direttamente la macchina virtuale: basta quindi installare vmware e copiare la vm affinche' il cliente abbia il suo prodotto.


Condivisibile.

Attualmente sto effettuando delle prove per capire come configurare il tutto e le opzioni a cui sono arrivato sono due:
1) vmware ESXi


No, perchè necessita di una macchina dedicata, al contrario di quanto hai affermato come requisito per la portabilità delle vm ai clienti.


2) CentOS + vmware server
....
vmware 2 server ha l'interfaccia web quindi usabile con un qualsiasi client, peccato necessiti di Tomcat lato server, essendo scritta in java (l'interfaccia risulta essere non molto reattiva);


Lo uso anche io e ho l'impressione, avvalorata da molti altri commenti nel forum di vmware server, che l'interfaccia web sia "bruttina" e forse anche poco pratica.
http://communities.vmware.com/community/vmtn/server


3) prestazioni lievemente inferiori alla ESXi.


Vero.

.... ma il punto principale e' quello dello storage: avendo la necessita' di un file server e facendo vmware un unico file per la macchina virtuale (o lo splitta in piu' file da 2gb l'uno ma il concetto e' lo stesso) credo sia conveniente utilizzare una partizione apposita da far mountare al sistema guest


Non te lo consiglio, visto il tuo requisito sopra esposto di portabilità delle vm ai clienti.
Se lo vedi nell'ottica delle prestazioni non è automatico che le partizione raw siano più veloci (anche se ormai la differenza non è così marcata); tutto dipende da DOVE sono collocate le vm: pensa ad esempio alle prestazioni mediocri che avresti nel caso che ogni vm avesse una sua partizione raw dedicata e tutte fossero nello stesso unico disco.

Avevo pensato all'iSCSI anche se non so se e' poi possibile usarlo su windows.


L'iniziatore iSCSI Microsoft è gratuito e funziona bene.
Semmai devi scegliere cosa usare come Target.


Ciao

Federico

eclissi83
09-02-2009, 14:13
Come ti ha già suggerito l'utente Empyrium, se le tue vm hanno i requisiti che sotto hai riportato, devi espandere la RAM.

si si la ram va' aumentata, ma e' decisamente costosa, quindi per ora o si passano meno macchine o avranno meno ram (io sono piu' per la prima soluzione, tanto non e' che gli attuali server li dobbiamo dismettere).


Questo implica subito che il tuo storage dovrà essere di rete.

beh attualmente la macchina ha 4 dischi da 1 tb, l'idea era quella di tenere rsyncate le due macchine gemelle: e' sbagliato o controproducente?


Utilizzando uno storage di rete riuscirai anche ad evitare lo "spreco" di HDD che hai attualmente.

che intendi per "spreco" di hard disk?

In rosso ho evidenziato il sw di virtualizzazione che dovrai togliere, una votla che avrai virtualizzato l'host win2k3file.

beh quello si e' normale, e' che attualmente quella macchina e' utilizzata per lavorare sulle vm dei clienti (cosa che avverra' poi nativamente sul nuovo server).


No, perchè necessita di una macchina dedicata, al contrario di quanto hai affermato come requisito per la portabilità delle vm ai clienti.

non sapevo che con vmware esxi non avevo la possibilita' di esportarmi le vm su un'altra macchina vmware. sono diverse le macchine create da vmware server e esxi? :doh:


Non te lo consiglio, visto il tuo requisito sopra esposto di portabilità delle vm ai clienti.
Se lo vedi nell'ottica delle prestazioni non è automatico che le partizione raw siano più veloci (anche se ormai la differenza non è così marcata); tutto dipende da DOVE sono collocate le vm: pensa ad esempio alle prestazioni mediocri che avresti nel caso che ogni vm avesse una sua partizione raw dedicata e tutte fossero nello stesso unico disco.

avevo intenzione di mettere i dischi in raid 5, in ogni caso da quello che capisco e' meglio avere il singolo file con tutto dentro.


L'iniziatore iSCSI Microsoft è gratuito e funziona bene.
Semmai devi scegliere cosa usare come Target.

questo se decido di usare uno storage esterno (ora abbiamo solo dei NAS per il backup).

Altrove mi hanno suggerito di dedicare dello spazio disco del server come un "finto" storage di rete utilizzando iSCSI: idee a riguardo?


Ciao

Federico

ciao e grazie,

Alfredo

flisi71
10-02-2009, 11:36
Innanzi tutto scusami per il ritardo nella risposta.

si si la ram va' aumentata, ma e' decisamente costosa, quindi per ora o si passano meno macchine o avranno meno ram (io sono piu' per la prima soluzione, tanto non e' che gli attuali server li dobbiamo dismettere).


Giusto. Inoltre, se pensate comunque di andare verso un prodotto non legato a costose licenze quale vmware server o ESXi, nulla vieta di utilizzare più host senza bisogno di concentrare tutte le vm su 1 uno solo.


beh attualmente la macchina ha 4 dischi da 1 tb, l'idea era quella di tenere rsyncate le due macchine gemelle: e' sbagliato o controproducente?


Francamente non sono certo che vmware sia rsync-aware.
In genere nel forum che sopra ti ho indicato si trovano discussioni sulle strategie di backup e mi pare che tutte prevedano lo spegnimento delle vm.
Alcuni sw proprietari usano invece un agente specifico per vmware (tipicamente per ESX).


che intendi per "spreco" di hard disk?


Intendo solo dire che ogni catena raid1 ti spreca il 50% dei dischi, mentre un unica catena (più capiente), magari in RAID5, ti ridurrà lo spreco dei dischi.


non sapevo che con vmware esxi non avevo la possibilita' di esportarmi le vm su un'altra macchina vmware. sono diverse le macchine create da vmware server e esxi? :doh:


No, scusami, la versione delle vm credo che sia la 6 sia per ESXi che per VMware Server 2. Per cui non dovrebbe essere difficile migrare una vm.
Al limite, basterà utilizzare la versione free del VMware Converter.


avevo intenzione di mettere i dischi in raid 5, in ogni caso da quello che capisco e' meglio avere il singolo file con tutto dentro.


Semplifica la portabilità e le prestazioni, specialmente se utilizzi uno storage di rete, saranno influenzate quasi unicamente dalla velocità di connessione di rete.


questo se decido di usare uno storage esterno (ora abbiamo solo dei NAS per il backup).

Altrove mi hanno suggerito di dedicare dello spazio disco del server come un "finto" storage di rete utilizzando iSCSI: idee a riguardo?


Idea valida, l'unica controindicazione da valutare è che, se l'host va down, anche lo storage dove risiedono le vm non sarà disponibile.

Ciao

Federico

eclissi83
10-02-2009, 15:59
Innanzi tutto scusami per il ritardo nella risposta.

figurati, non c'e' problema.


Francamente non sono certo che vmware sia rsync-aware.
In genere nel forum che sopra ti ho indicato si trovano discussioni sulle strategie di backup e mi pare che tutte prevedano lo spegnimento delle vm.
Alcuni sw proprietari usano invece un agente specifico per vmware (tipicamente per ESX).

considerato che sono macchine interne per sviluppo e non offrono servizi all'esterno, posso fare uno script che spegne ogni macchina, rsynca il file immagine e riaccende la macchina. credo che a partire dalle 22 della sera fino alle 08 del mattino successivo riesca ampiamente a completare il backup (almeno spero :p ).


No, scusami, la versione delle vm credo che sia la 6 sia per ESXi che per VMware Server 2. Per cui non dovrebbe essere difficile migrare una vm.
Al limite, basterà utilizzare la versione free del VMware Converter.

ok, in ogni caso credo che usero VMware Server 2.


Semplifica la portabilità e le prestazioni, specialmente se utilizzi uno storage di rete, saranno influenzate quasi unicamente dalla velocità di connessione di rete.

ecco, lo storage di rete per il momento non e' previsto.


Idea valida, l'unica controindicazione da valutare è che, se l'host va down, anche lo storage dove risiedono le vm non sarà disponibile.

avendo ipotizzando un "fake" iSCSI, l'host sarebbe la stessa macchina dove risiedono le VM..

in definitiva, tu come faresti?


Ciao

Federico

ciao a te e grazie ancora..

il link nella tua firma non funziona...

flisi71
10-02-2009, 16:15
considerato che sono macchine interne per sviluppo e non offrono servizi all'esterno, posso fare uno script che spegne ogni macchina, rsynca il file immagine e riaccende la macchina. credo che a partire dalle 22 della sera fino alle 08 del mattino successivo riesca ampiamente a completare il backup (almeno spero :p ).

ok, in ogni caso credo che usero VMware Server 2.


Allora sei a posto.
Il lasso di tempo che hai a disposizione ti lascia ampi margini (anche se tu dovessi copiarle completamente).


avendo ipotizzando un "fake" iSCSI, l'host sarebbe la stessa macchina dove risiedono le VM..


Di sicuro la tua configurazione funziona se sull'host installi un iSCSI Target software, immagino tu intenda questo per "fake" iSCSI.
Io ho invece WinTarget su WindowsStorageServer2003 e una vm di test con openFiler 2.3.


il link nella tua firma non funziona...

Vero, l'ho modificata alla corrispondente discussione qui nel forum.
Grazie della segnalazione.


Ciao

Federico

eclissi83
10-02-2009, 16:31
Allora sei a posto.
Il lasso di tempo che hai a disposizione ti lascia ampi margini (anche se tu dovessi copiarle completamente).

beh almeno la prima volta ci mettera' un botto di tempo, rsync dovrebbe fare il backup incrementale, sperando che passi solo il diff e non tutto il file.

Di sicuro la tua configurazione funziona se sull'host installi un iSCSI Target software, immagino tu intenda questo per "fake" iSCSI.
Io ho invece WinTarget su WindowsStorageServer2003 e una vm di test con openFiler 2.3.

si, intendo un target software di iSCSI. ma ha senso farlo?

ti ripropongo la domanda (magari essendo ripetitivo): tu nella mia situazione come faresti?


Vero, l'ho modificata alla corrispondente discussione qui nel forum.
Grazie della segnalazione.

figurati, la bimba e' importante :)

[quote
Ciao

Federico[/QUOTE]

ancora ciao e di nuovo grazie delle dritte

flisi71
10-02-2009, 16:42
beh almeno la prima volta ci mettera' un botto di tempo, rsync dovrebbe fare il backup incrementale, sperando che passi solo il diff e non tutto il file.


Se rsync fosse troppo lento, ma ne dubito, in ogni caso potresti proprio copiare direttamente tutte le vm, oppure utilizzare uno degli script che girano nel forum del VMware Server, già testati dagli utenti (non da me). L'importante è avere schede gigabit.
Per il primo rsync ovviamente opterai per un fine settimana.

si, intendo un target software di iSCSI. ma ha senso farlo?


Ho sempre valutato l'iSCSI per la portabilità dello storage e per la facilità con cui aggiungo spazio disco ad una workstation.
E ho sempre utilizzato una appliance iSCSI su una macchina "dedicata" fisica o virtuale.
Secondo me la tua idea dell'rsync è buona, a patto di mantenere 2 soli host.
Alcune vm le farai girare sul primo host, le altre nel secondo. Durante la notte rsync provvederà a sincronizzarle nei rispettivi host di backup, in modo da poterle lanciare anche da li nel caso che l'host "nativo" sia down.
Se intendi aumentare il numero di host invece tale soluzione non lo vedrei più bene.



Ciao

Federico