NO, questa è la mia risposta. Parto da questo concetto: la virtualizzazione e il consolidamento sono utili laddove io posso disporre di un hardware con risorse molto grandi sul quale appoggio una serie di sistemi virtualizzati che di loro non sono memory, CPU, I/O intensive. Infatti di solito si virtualizzano tante piccole cose su blade servers. Perchè però virtualizzare un database oracle o peggio ancora un database oracle in RAC quindi con più nodi che devono intanto bilanciare un servizio comune e inoltre parlare tra di loro.
L’importanza della velocità delle risorse per oracle è vitale, se su un sistema operativo la SGA viene allocata direttamente tramite il kernel in RAM, su un sistema virtualizzato abbiamo in mezzo il layer della virtualizzazione che senz’altro rallenta ulteriormente l’I/O e poi non consideriamo tutti i problemi dell’hardware virtuale. Per chi ha provato la combinazione Oracle->Windows->VMWare…o è stato fortunato o l’ha buttato. Sfatiamo poi questo mito che non capisco dove la virtualizzazione tramite sistemi come VMWare ESX Server sia una alternativa al clustering. Infatti la relocazione delle macchine virtuali avviene solo quando ci sono problemi hardware, ma se un nostro database va giù oppure cade il listener, mentre un sistema di clustering di host proverebbe prima a riavviare la risorsa e poi a switchare di nodo nel nodo peggiore dei casi… vmware? Niente, lui non è in grado di verificare lo stato dei servizi. Finchè la virtual machine è accesa per lui sta bene.
Oracle Virtual Machine si muove in modo leggermenete diverso. Questo perchè l’utilizzo del motore Xen (comprato da Citrix) permette di funzionare in modo leggermente diverso. Xen crea istanze di kernel e tipicamente virtualizza lo stesso sistema host sul guest, i.e. che se io ho una RedHat come host OS, mi troverò con Xen la stessa RedHat con lo stesso Kernel sul sistema guest. Questo riduce sensibilmente le latenze date dalla virtualizzazione ma non toglie il concetto, inutile, di virtualizzazione.
Diverso è se parliamo di ambienti di test, allora possiamo virtualizzare, fare danni, configurazioni fasulle e farlocche…ma queste sono altre mani. Alla domanda: virtualizzare un oracle in produzione la risposta secondo me deve essere sempre NO.



Recent Comments