Solaris e' un sistema operativo fondamentale nella storia di tutto l'universo Unix. Questo documento tratta delle novita' presenti nella versione Oracle Solaris 11. In realta' su Solaris avevo gia' scritto, tempo fa, questa paginetta, ma le differenze con le precedenti versioni e con gli altri Unix sono tali da richiedere una nuovo sforzo [NdE il documento citato e' di 15 anni fa... bello sforzo aggiornare una pagina web ogni 3 lustri].
E' possibile installare Oracle Solaris 11 su molteplici piattaforme: Intel 64-bit, SPARC (compresi i recenti e veloci processori T4) e su ambienti virtualizzati (tra cui ovviamente anche Oracle VM). Solaris e' utilizzabile come ambiente desktop ma le sue caratteristiche sono piu' orientate per un utilizzo Enterprise come DB Server, come Application Server o come contenitore di ambienti/sistemi virtualizzati.
Sono possibili diverse modalita' di installazione:
con il LiveCD,
con il Text Installer in locale ed in rete,
in modalita' automatica (per installare una serie di sistemi simili), ...
A seconda della modalita' utilizzata vengono scaricati pacchetti diversi.
I due principali insiemi di pacchetti sono solaris-large-server e solaris-auto-install.
La modalita' piu' comunemente utlizzata per sistemi server e' con il Text Installer. La configurazione e' guidata e semplice. La procedura pone le solite domande (nome del server, parametri di rete, TZ, utenza root, DNS, ...), salva su log eventuali errori (/var/tmp/install/sysconfig.log) e richiede una decina di minuti circa.
Nel caso di sistemi Enterprise questi tipicamente sono preinstallati. In questo caso la procedura prevede la connessione sull'ILOM () ed il lancio dei comandi start /SYS e start /HOST/console. La configurazione termina con l'esecuzione del Text Installer gia' descritta sopra.
La configurazione delle componenti di networking in Solaris 11 e' completamente cambiata e ricca di nuove funzionalita'.
In pratica sono stati separati i diversi livelli del networking tra componenti fisici,
data link e network.
Questo consente di aggregare schede, definire QOS, virtualizzare componenti, ...
Per la gestione sono disponibili nuovi comandi come dladm e ipadm
(eg. dladm show-phys; dladm show-ether; dladm show-link; ipadm show-if)
Quanto definito a livello IP e' poi disponibile al normale comando ifconfig.
Un esempio semplice? Per configurare una scheda di rete:
Attenzione: i comandi ifconfig non sono permanenti mentre quanto configurato con ipadm viene mantenuto dopo il boot (se non si usa il parametro -t che indica che si tratta di un'operazione temporanea). Per definire in modo permanente un IP su un'interfaccia i comandi sono: ipadm create-ip net1; ipadm create-addr -T static net1 10.10.10.69; ipadm up-addr net1
Una volta con Solaris si configurava il default gateway agendo sul file /etc/defaultrouter e reboot; ora si fa online con route -p add default 10.10.10.1.
Con Solaris 11 viene introdotto un nuovo sistema di gestione dei pacchetti software e delle patch: Image Packaging System (IPS). Il comando nuovo pkg consente l'aggiornamento del sistema e l'installazione di pacchetti (un poco come fanno yum o apt su Linux).
I repository configurati sono tipicamente http://pkg.oracle.com/solaris/release (per l'installazione di Solaris) e https://pkg.oracle.com/solaris/support per i sistemi con un contratto di supporto. Se il sistema non e' preinstallato va configurato l'accesso alla rete di supporto Oracle. Per configurare il sistema in rete va richiesto un certificato accedendo a https://pkg-register.oracle.com/register/status/ (e' richiesto un Service Plan). I file ottenuti (Oracle_Solaris_11_Express_Support.key.pem Oracle_Solaris_11_Express_Support.certificate.pem) vanno posti su /var/pkg/ssl e lanciato il comando:
# pkg set-publisher \ -k /var/pkg/ssl/Oracle_Solaris_11_Express_Support.key.pem \ -c /var/pkg/ssl/Oracle_Solaris_11_Express_Support.certificate.pem \ -O https://pkg.oracle.com/solaris/support solaris
A questo punto l'uso dell'IPS e' banale: pkg update effettua l'update del sistema, pkg search XXX ricerca il piano d'installazione per il pacchetto XXX, ...
Un maggior dettaglio e' riportato sulla documentazione ufficiale (eg. configurare il repository del supporto).
La gestione dei servizi su Solaris 11 e' molto piu' evoluta rispetto alle versioni precedenti
che utilizzavano principalmente il file system per la configurazione. Con Solaris 11 sparisce
tutto il contenuto delle directory /etc/rcX.d !
Il repository delle informazioni non e' mantenuto piu' su file
bensi' in un database SQLite.
I principali comandi per la gestione sono: inetadm svcadm svccfg svcprop svcs
Un esempio? Eccolo!
Il file system ZFS e' apparso nella versione 10 di Solaris (U2) ma nella versione Solaris 11
e' stato ulteriormente esteso come funzionalita' ed e' il file system di default.
ZFS nasce per superare una serie di limiti che sono presenti negli altri file system.
ZFS consente infatti di gestire in modo completo sia le problematiche di gestione
dello spazio fisico (tipiche di un volume manager) che quelle di definizione degli
spazi (tipiche di un file system vero e proprio).
La prima caratteristica di ZFS e' l'enorme scalabilita': utilizza un repository a 128-bit praticamente illimitato rispetto a tutti gli altri file systems. ZFS gestisce internamente la data integrity (eg. RAID-Z: un RAID-5 con scrittura sincrona della parita', garantisce sempre la consistenza del dato).
I comandi principali di ZFS sono solo due ma sono ricchi di funzionalita': zfs e zpool.
Nel seguente esempio viene creato un pool e quindi un file system:
Una descrizione piu' completa di ZFS si trova su questo documento.
Nella versione 10 di Solaris sono state introdotte le Zone che consentono di partizionare logicamente il sistema in ambienti indipendenti ma facilmente gestibili. Su Solaris 11 le Zone sono sempre presenti (almeno come zona globale che e' quella iniziale).
La zona iniziale, detta global, consente di controllare tutte le risorse, i processi, ... in modo completo; mentre le altre zone sono tra loro indipendenti e trasparenti. I comandi principali sono: zonecfg zoneadm zlogin, l'opzione aggiuntiva per i normali comandi di sistema (eg. ps) e' la -Z. Gli stati principali sono riassunti nel diagramma a lato.
Non tutto e' cambiato con Solaris 11, molti comandi e configurazioni sono rimasti identici alle precedenti versioni di Solaris. Poiche' alcune caratteristiche sono differenti rispetto ad altri sistemi Unix in questo capitolo cerchiamo di riassumere le principali peculiarita' di Solaris.
Solaris e' da sempre un sistema operativo Unix robusto e ricco di funzionalita' di controllo, logging, debugging, ... Anche la versione 11 e' molto affidabile.
Il file che contiene la definizione dei file system da montare e' /etc/vfstab. Il file /etc/passwd ha il tipico formato System V (insomma con il file /etc/shadow). I file dei messaggi di sistema e' /var/adm/messages.
La configurazione dei parametri dinamici di sistema viene effettuata agendo sul file /etc/system. Affinche' vengano riletti e' necessario un reboot del sistema. Rispetto alle versioni precedenti sono cambiati alcuni parametri del kenerl, altri vengono ora gestiti dall'SMF o dallo ZFS, ... ma la logica e' sempre la stessa.
Il comando mpstat riporta le statistiche di utilizzo della CPU suddivise per processore. Il comando psrinfo consente di ottenere informazioni sul numero e le caratteristiche dei processori. Il comando psradm consente attivare e disattivare i singoli processori. Il comando pbind consente di assegnare un processo ad uno specifico processore. L'assegnazione ad un processore viene ereditata dai processi figli (al momento della nascita).
Sui sistemi SUN un disco SCSI ha il nome /dev/dsk/c0t0d0s0. C indica la catena. T indica il Tray e corrisponde all'identificativo sulla catena SCSI. D indica il disco. S indica la partizione. Generalmente la catena SCSI interna e' la 0. Il disco di boot ha uno SCSI ID pari a 3. Il CD-ROM ha uno SCSI ID pari a 6. Il tape o DAT ha uno SCSI ID pari a 4. Dischi aggiuntivi hanno uno SCSI ID pari a 0. La partizione contenente l'intero disco e' la 2. La partizione contenente root e' la 2. La formattazione, il partizionamento, il controllo dei dischi viene effettuato con il comando format che presenta diversi menu e possibilita'. I dischi visti in modalita' raw si trovano su /dev/rdsk.
Come su tutti gli Unix il file di configurazione (client) del DNS e' /etc/resolv.conf. L'ordine con cui vengono pero' cercati gli host (e se vengono cercati!) sul DNS rispetto al solito /etc/hosts e' definito dal file nsswitch.conf.
La configurazione di parecchi default di sistema, come su altri Unix SV, si trova in /etc/default. Tra le altre configurazioni si trova ad esempio il file /etc/default/login con i vari settaggi del login (eg. timeout, root login su /dev/console, ...).
L'elenco delle directory condivise NFS e' su /etc/dfs/dfstab ed il comando di condivisione e' share.
Ecco un esempio completo di creazione del target ed utilizzo su un secondo sistema (entrambe Solaris 11):
Vuoi abilitare il VNC? Ecco i passi!
Aggiungere nel file /etc/gdm/custom.conf le sezioni:
[security] DisallowTCP=false [xdmcp] Enable=true
Configurare i servizi di connessione X11:
Riavviare con svcadm disable gdm xvnc-inetd; svcadm enable gdm xvnc-inetd
SunOS e Solaris sono sistemi Unix storici realizzati da Sun Microsystems.
Tra le molte innovazioni apportate da Sun: NFS, sistemi diskless, DTrace, ZFS, Open Office, Java, ... e' sufficiente?
La Oracle ha acquisito la Sun nel 2009 ed ha progressivamente "rimarchiato" tutto il SW.
La storia delle versioni di Solaris e' riportata su questo documento.
Titolo: Solaris 11
Livello: Avanzato
Data:
1 Dicembre 2011
Versione: 1.0.4 - 14 Febbraio 2013
Autore: mail [AT] meo.bogliolo.name