Danilo Poccia - Tecnologia et al.
Flexible Mandatory Access Control in OpenSolaris (basato su Flask/TE)
Un nuovo progetto introduce in OpenSolaris le modalità di gestione della sicurezza di tipo Flexible Mandatory Access Control dell'ambiente Flask/TE. Lo scopo è di introdurre la nuova tecnologia mantenendo la compatibilità con le API attuali ed integrandosi con le funzionalitò di virtualizzazione già presenti in Solaris ed in particolare con le Trusted Extensions (vedi questo white paper).
Posted at 11:39AM mar 25, 2008 by danilop in Solaris | Comments[0]
Solaris in VirtualBox su un Mac
Stimolato dalla presentazione di Antonio Doldo all'OpenCamp, ecco qualche immagine della mia installazione di Solaris (trattasi della Community Edition build 84 per l'esattezza) in VirtualBox con la Beta (piuttosto stabile) per Mac OS X.
Come si vede dalla GUI di VirtualBox ho installato anche OpenSolaris Developer Preview 2 (nel qual caso non funziona tutto out-of-the-box, ma si devono scaricare a parte i driver della scheda di rete, ad esempio qui).
Nell'immagine precedente (aguzzando un po' la vista) si può notare che ho creato uno snapshot della Virtual Machine (VM) Solaris, corrispondente ad un DVD che ho masterizzato, a cui posso sempre ritornare in caso di test o prove "distruttive".
Attivando la VM parte GRUB (il boot loader). Ci sarebbe la possibilità di far partire Solaris xVM (che include le funzionalità di virtualizzazione della Comunità Xen di OpenSolaris), ma tale modalità non è ovviamente compatibile con l'ulteriore livello di virtualizzazione gestito da VirtualBox. Per sperimentarla occorre quindi una installazione su bare metal.

Ecco il login...

...e quindi il desktop, con un terminale che mostra la versione di Solaris utilizzata.

Posted at 05:17PM mar 20, 2008 by danilop in Solaris | Comments[6]
Rilasciato in OpenSolaris l'agent di HA per xVM Server
E' disponibile nella comunità HA Clusters di OpenSolaris il download dell'agent per l'alta affidabilità dei domini guest di xVM Server.
Gli obiettivi di questo progetto sono:
- Fornire l'alta affidabililtà nel caso di fault di un sistema fisico (host)
- Fornire l'alta affidabililtà nel caso di fault di un sistema virtuale (guest)
- Permettere la migrazione, sia tramite un riavvio tra i nodi che a caldo (live migration), di un ambiente guest da un sistema fisico ad un altro
Molto interessante il cheat sheet che illustra tutti i passaggi per configurare un ambiente xVM e metterlo in alta affidabilità.
Posted at 12:24PM mar 20, 2008 by danilop in Solaris | Comments[0]
Il codice di SAM-QFS è open source!
Il codice sorgente di SAM-QFS è open source e va ad arricchire i contenuti della Comunità Storage di OpenSolaris.
SAM-QFS unisce le funzionalità di un file system condiviso (dal Quick File System, o QFS) con la flessibilità di un file system gerarchico (dallo Storage Archive Manager, o SAM) che permette, configurando delle policy, di distribuire i contenuti di un file system su storage differenti. In tale modo è possibile predisporre un modello di gestione dell'informazione di tipo multi-livello (multi-tier), dove ogni dato è contenuto dallo storage che ha il miglior rapporto prezzo/prestazioni per la tipologia di accesso richiesto (ad es.: online, near online, offline).
Per maggiori informazioni c'è il blog di SAM-QFS o una descrizione più tecnica sul sito.
Posted at 11:44AM mar 18, 2008 by danilop in Solaris | Comments[0]
Virtualizzare la Rete con Solaris
Il progetto Crossbow della comunità OpenSolaris ha prodotto una interessante beta release in cui si possono testare le funzionalità di virtualizzazione della rete all'interno di un sistema Solaris.
Uilizzando Crossobow è possibile creare su una scheda di rete fisica (in inglese Network Interface Controller o NIC) dei "Virtual NIC" (VNIC). Ad un VNIC è possibile allocare risorse di banda o risorse computazionali. E' inoltre possibile creare delle entità logiche denominate "Ethernet Stubs" su cui è possibile attestare dei VNIC, in modo da poter creare un modello virtuale a partire da una qualsiasi rete, arbitrariamente complessa.
Ecco un esempio di cosa di può implementare associando dei VNIC a tre local zone di un sistema Solaris (una zona prende le funzionalità di "router"):

Le immagini per installare la beta sono disponibili qui. Questa release include anche l'interfaccia di gestione Web del progetto Virtual Networking Machine. Per creare una rete multi-livello virtuale come quella in figura, su cui testare la connettività, l'allocazione di banda e l'integrazione con altre funzionalità di Solaris (come, ad esempio, le zone ed il firewall opensource IP Filter per fare NAT) è possibile consultare questo documento. E' facile immaginare le potenzialità di Crossbow in sinergia con le nuove tecnologie di virtualizzazione basate sul lavoro del comunità OpenSolaris Xen.
I blog più recenti del team di progetto possono essere una ulteriore fonte di informazioni.
Posted at 03:35PM mar 17, 2008 by danilop in Solaris | Comments[1]
Come ottimizzare NFS su InfiniBand: il progetto NFS over RDMA
Per migliorare le prestazioni di NFS su reti ad alta velocità come InfiniBand, dove l'overhead introdotto dal protocollo TCP/IP può essere notevole, la comunità OpenSolaris sta lavorando al progetto NFS over RDMA. Utilizzando RDMA (che sta per Remote Direct Memory Access) si possono tramettere dati direttamente dalla memoria di un sistema a quella di un altro.
Il video che trovate qui spiega lo stato del progetto e mostra con un test che il throughput del benchmark IOzone passa da 200 MB/s con NFS su trasporto IPoIB (IP over InfiniBand) a oltre 900 MB/s utilizzando RDMA. Per ottenere risultati significativi nel benchmark il file system condiviso via NFS è basato su tmpfs ed è quindi tenuto in memoria e non su disco.
Per altre informazioni sulle attività in corso in ambito Storage potete consultare il sito della relativa comunità OpenSolaris e, se volete, partecipare a quelle che vi interessano di più!
Posted at 09:21PM mar 05, 2008 by danilop in Solaris | Comments[0]
Una soluzione di Video Editing basata su Thumper, ZFS e iSCSI
Riprendo il blog di Constatin per sottolineare come il sistema Sun Fire X4500 (noto anche come Thumper) possa essere una piattaforma di storage ideale per una soluzione di video editing grazie all'utilizzo di Solaris ZFS come file system ed iSCSI come protocollo di Network Attached Storage (NAS) in grado di integrarsi con soluzioni multi piattaforma basate su applicativi che richiedono un ambiente Windows, Linux o Mac OS X.
L'unica attenzione è quella di disabilitare nelle connessioni TCP l'algoritmo di Nagle che riduce ad un decimo il throughput via iSCSI.
Posted at 03:47PM gen 09, 2008 by danilop in Solaris | Comments[0]
Gestire i Logical Domain (LDom) con SNMP e libvirt
Per favorire l'integrazione dei Logical Domains (LDom) con gli strumenti di gestione più diffusi, sono state rilasciate con la versione 1.0.1 delle interfacce basate su SNMP e libvirt. Tali interfacce sono disponibili qui.
Ecco alcuni link alla documentazione ufficiale:
- Libvirt for LDoms 1.0.1 Administration Guide
- Libvirt for LDoms 1.0.1 Release Notes
- Logical Domains (LDoms) MIB 1.0.1 Administration Guide
- Logical Domains (LDoms) MIB 1.0.1 Release Notes
Posted at 03:14PM gen 09, 2008 by danilop in Solaris | Comments[0]
ZFS & Mac OS X
ZFS è stato integrato da Apple in modalità read only in Leopard, l'ultimo aggiornamento di Max OS X (corrispondente ala versione 10.5). Il progetto di porting open source è ora pubblicato sul sito MacOSforge dove sono disponibili gli ultimi sorgenti e binari disponibili, insieme alle FAQ e ai bug noti:
Il link si trova anche partendo dalla pagina ZFS della comunità OpenSolaris nella sezione ZFS
Porting:
http://opensolaris.org/os/community/zfs/porting/
Posted at 12:02PM gen 09, 2008 by danilop in Solaris | Comments[0]
ZFS su InfoWorld

Un altro articolo su ZFS, questa volta su InfoWorld. La conclusione è di mantenersi aggiornati su ZFS, perché la sua diffusione nell'IT è destinata a crescere.
Posted at 01:51PM ott 30, 2007 by danilop in Solaris | Comments[0]
Un confronto tra ZFS e UFS Drect I/O con MySQL
Ho trovato interessante questo confronto tra ZFS e UFS in modalità Direct I/O con MySQL.
Posted at 09:49PM ott 29, 2007 by danilop in Solaris | Comments[0]
Migrare Sistemi Solaris 8 in Container Solaris 10
E' disponibile il Solaris 8 Migration Assistant, precedentemente noto come Project Etude: il framework include il software ed i servizi che permettono di migrare ambienti applicativi che utilizzano Solaris 8 in Container di un sistema Solaris 10. In tal modo è possibile implementare un consolidamento dell'infrastruttura superando anche i limiti di compatibilità hardware di Solaris 8 con i sistemi di ultima generazione.

Posted at 11:28AM ott 25, 2007 by danilop in Solaris | Comments[10]
Passare da MySQL a PostgreSQL
Sul portale BigAdmin vi è una guida per chi vuole passare da MySQL a PostgreSQL nella versione 8.2 integrata con Solaris 10 8/07 (Update 4). Nella parte finale dell'articolo sono indicate le funzionalità frutto dell'integrazione di Postgres in Solaris 10, in particolare con DTrace, Service Management Facility (SMF) ed i Solaris Containers.
Posted at 02:40PM ott 19, 2007 by danilop in Solaris | Comments[0]
DTrace per utenti diversi da root
L'utilizzo di DTrace può essere molto utile in un ambiente di sviluppo o collaudo, in particolare nel caso di test prestazionali. Per semplificare le attività è possibile dare l'accesso a DTrace ad utenti diversi da root dando agli utenti (o ai processi) i privilegi dtrace_proc, dtrace_user, dtrace_kernel.
Per dare i privilegi in modo persistente ad un utente (<userid> nell'esempio) il comando è il seguente:
# usermod -K defaultpriv=basic,dtrace_proc,dtrace_user,dtrace_kernel <userid>
Questo comando aggiorna il file "/etc/usr_attr" con i privilegi indicati.
Per avere una descrizione dei privilegi è possibile usare il comando ppriv:
# ppriv -lv dtrace_proc,dtrace_user,dtrace_kernel
Per rimuovere i privilegi è sufficiente non indicarli nel comando usermod:
# usermod -K defaultpriv=basic <userid>
Per iniziare ad usare il DTrace si può partire dagli script già pronti del DTraceToolkit o dalla guida utente.
Posted at 10:17AM ott 17, 2007 by danilop in Solaris | Comments[0]
Che cos'è ZFS?

...ecco una risposta breve ma piuttosto esaustiva.
ZFS è un nuovo tipo di file system che fornisce una semplice amministrazione, una approccio transazionale, una integrità del dato "end-to-end" e una immensa scalabilità (128-bit). ZFS non è un miglioramento "incrementale" alla tecnologia esistente, ma è un nuovo approccio alla gestione dei dati creato eliminando alcune assunzioni di base che risalevano a 20 anni fa.
ZFS è basato su un modello di "storage pool" che elimina completamente il concetto di "volumi" ed i problemi associati di partizionamento, provisioning e bilanciamento del carico sui device fisici. Migliaia di file system possono prelevare lo spazio da uno Storage Pool comune e ciascuno di essi consumerà solamente lo spazio di cui ha bisogno. In questo modo la banda di I/O combinata di tutti i device nel pool è disponibile per tutti i file system, in ogni momento. Per regolare l'accesso condiviso ad uno Storage Pool ogni file system può avere associati dei parametri di quota (massimo spazio visibile all'interno del pool) e reservation (spazio del pool dedicato ad un file system e non visibile agli altri). Tali parametri sono logici e possono istantaneamente essere cambiati in qualsiasi momento.
Tutte le operazioni sono transazioni "copy-on-write", in questo modo lo stato dei dati su disco è sempre valido. Non serve (e non esiste) un "fsck" per un ZFS. Ogni blocco ha un checksum per prevenire una corruzione silente dei dati ed il dato stesso è riparato in automatico se si trova in un pool in configurazione mirror o RAID. Se una copia è danneggiata, ZFS se ne accorge e usa un'altra copia per riparla. ZFS introduce un nuovo modello di replicazione dei dati chiamato RAID-Z. E' simile al RAID-5, ma usa uno striping a dimensione variabile che, assieme al "copy-on-write", elimina il RAID-5 "write hole" (la corruzione dovuta ad una perdita di corrente tra l'aggiornamento dei dati e della parità). Tutte le scritture RAID-Z sono effettuate in striping. ZFS implementa inoltre una pipeline per le richieste di I/O, con un concetto simile a quello dei processori (CPU). La pipeline effettua lo scheduling più performante per le richieste di I/O, cambiando l'ordine delle operazioni all'interno di una transazione "copy-on-write".
Sfruttando il "copy-on-write" ZFS permette di creare rapidamente un numero illimitato di snapshot (read-only) e cloni (read-write) di un file system. Le funzionalità di backup e restore di ZFS sono basate proprio sugli snapshot. Ogni snapshot può generare un backup completo, ogni coppia di snapshot può produrre un backup incrementale. I backup incrementali possono essere utilizzati per implementare una architettura di data replication, ad esempio trasmettendo un "incremento" ogni 10 secondi.
ZFS permette di attivare su base file system la compressione trasparente dei dati. Oltre a ridurre il consumo di spazio, la compressione riduce anche il numero di richieste di I/O. Per questo motivo si è verificato che attivando la compressione con particolari workload si ottiene anche un beneficio prestazionale.
Oltre ai file system, uno Storage Pool ZFS può fornire dei volumi alle applicazioni che necessitano di una semantica di tipo raw-device. I volumi ZFS possono per esempio essere utilizzati come device di swap. Ed attivando la compressione su un volume di swap, si ottiene di aver compresso la memoria virtuale di un sistema. A partire dall'ultimo aggiornamento di Solaris 10 (8/07) i volumi ZFS possono essere esportati via rete tramite iSCSI.
Ecco alcuni utili puntatori per maggiori informazioni:
Posted at 04:50PM ott 12, 2007 by danilop in Solaris | Comments[0]


