23 novembre 2008

Solaris sostituisce Linux a casa

Sono passato a Solaris per il mio megaserver casalingo. Complice la scarsa affidabilità del paio di dischi originali, sostituiti con una coppia da 320 GB nuova, mi sono trovato a provare la nuova splendida versione di Solaris (10/08) su x86/64.

Con la nuova versione di Solaris è possibile avere il disco di root in mirror software, attraverso un pool ZFS. Non solo: il programma di installazione installa il boot-loader grub anche sul secondo disco, rendendo praticamente indifferente il disco da cui viene fatto il boot.
ZFS infatti si basa su metadati registrati sui dischi; da ciò ne deriva che, anche facendo il boot dal secondo disco, ci si ritrova esattamente come se si fosse fatto il boot dal primo.
Non ho ancora provato ma, quasi sicuramente, anche l'ordine dei dischi rispetto al BIOS e la loro posizione sul bus SATA sia del tutto indifferente.

Con ZFS lo spazio dei dischi si sfrutta molto meglio, non essendoci spazi vuoti tra un filesystem e l'altro, quindi mi sento un po' meno "costretto" dallo spazio disponibile.
ZFS inoltre ottimizza le letture da disco, utilizzando entrambi i dischi in parallelo come i migliori controller RAID, ottenendo quasi un raddoppio delle prestazioni. Anche in scrittura la velocità non manca, almeno da quanto ho potuto constatare. Pensavo infatti che la doppia scrittura fosse molto penalizzante, ma mi sono ricreduto; evidentemente ZFS fa la seconda scrittura in modo asincrono.

Pochi giorni fa è uscito l'ultimo patchset 10g per Solaris x86/64, che ora fa bella mostra di sé nel nuovo server. Purtroppo per 11g si prevedono tempi più lunghi, sempre che non decidano (chissà) di trascurare Solaris su Intel.

VirtualBox, il software di virtualizzazione open-source della Sun, funziona perfettamente, e per ora sto provando a creare nuove macchine virtuali Linux, per avere installazioni RAC di prova.

ZFS esporta nativamente target iSCSI tramite volumi ZFS, differenti dai filesystem ZFS, quindi penso che i nuovi RAC virtuali avranno il loro storage condiviso via iSCSI. Non so invece se sono utilizzabili con RAC i volumi vboxfs condivisi, per i soliti problemi di sincronia dell'accesso ai dischi.

Ho completato anche una installazione di Oracle BI Publisher (per una demo) in modalità manuale, ovvero facendo uso del servlet engine di Sun, invece del nativo OC4J, non disponibile per la mia coppia CPU/OS.
Ho utilizzato infatti Sun Java System Web Server 7.0, molto interessante. Ovviamente l'installazione del web server è stata facilissima, come la sua gestione (se si conosce ciò che si sta facendo). In questi aspetti, il software enterprise è enormemente più piacevole da usare del software open-source.

Ho fatto i primi passi anche con i Solaris Containers, che sono una specie di macchine virtuali uguali al sistema operativo ospite. Di questo parleremo più avanti.

3 commenti:

Andrea Salzano ha detto...

Ciao.
Propoprio in questi gg riflettevo sul fatto che avendo a disposizione le macchine virtuali puoi utilizzare qualsiasi sistema operativo tu voglia. Ovviamente puoi decidere di installare di default Solaris 10 x86 e poi eventualmente virtualizzare windows, linux o qualsiasi altro SO. Se usi il pc (o notebook) per lavoro e/o per giocare, allora forse il giusto compromesso è l'installazione base (macchina fisica nel nostro caso) di un sistema Winzoz e come macchina virtuale il SO che più si adatta alle tue esigenze (Solaris ad esempio). Il vantaggio è che in questo modo puoi usufruire del pacchetto Office per il lavoro e dei giochi per divertirti. All'occasione "swithciare" sulla macchina virtuale per tutte le altre cose.

Nel mio caso, ad esempio, utilizzo un notebook per lavoro. Poiché ho bisogno di Office ed altri strumenti che girano su Windows, ho installato Vista ed utilizzo poi Linux Centos 5.2 come macchina virtuale.

La controindicazione ad una tale soluzione è che necessiti di un hrdware un pò più carrozzato e soprattutto un pò più di RAM (la scelta cade quindi su Vista 32 con 2GB o su Vista 64 con 4GB).

Siamo all'inizio di qualcosa di nuovo, ma credo che in futuro, con l'hw che aumenta la sua potenza, con i prezzi che scendono di giorno in giorno, avremo a disposizione sistemi in cui l'hw stesso permetterà di utilizzare macchine virtuali (come già avviene su sistemi Unix Enterprise) in modo da svincolarsi anche del sistema operativo di base risparmiando così RAM e Spazio Disco.

Andrea

Rudy ha detto...

Le mie esigenze sono, ultimamente:

- Massima affidabilità: vorrei creare le macchine virtuali una sola volta, quindi non deve fermarsi nulla se un disco si rompe: mi costa molto tempo ricostruire tutto.

- Massima compatibilità del sistema operativo con quello che voglio installare (Oracle in primis). Da questo punto di vista Solaris è il "meno incompatibile" che abbia mai usato.

- Minimo spreco dello spazio su disco: ZFS aiuta molto.

- Massima utilizzazione dei 4 GB di RAM a disposizione (quindi 64 bit): OK ci siamo.

- Licenza di libero utilizzo per fini di test e proof of concept: OK anche per questo, la licenza viene data via web.

- Buona compatibilità hardware con l'hw ultrastandard che ho (chipset nForce e scheda grafica nVidia): OK! Solaris supporta strabenissimo i driver nVidia (o viceversa :-)).

In più, già che ci siamo, aggiungo che è molto interessante sperimentare ed esercitarsi nelle caratteristiche enterprise di Solaris 10.

Stefano ha detto...

Da sistemista sono molto propenso all'uso di Solaris e ZFS, però vedo alcune limitazioni... il kernel di Solaris/Opensolaris è ottimo per architetture standard. Io che ad esempio ora usi Core I7 non riuscirei a sfruttare al massimo il PC. Inoltre vedo che lo sviluppo di oracle su Solaris/x86 è sempre più lento. La 11g che a me ad esempio servirebbe per studiare per la OCP non è disponibile su questa piattaforma e la trovo una grossa limitazione. Sigh.