Questo documento contiene un riepilogo di tutte le funzioni del sistema operativo Solaris 10 che sono state introdotte o migliorate nella versione attuale, Solaris 10 10/09.
Per un riepilogo di tutte le funzioni del sistema operativo Solaris 10 introdotte o migliorate rispetto alla versione Solaris 9 distribuita nel maggio 2002, vedere Solaris 10 What’s New.
In Solaris 10 10/09 sono state aggiunte le seguenti funzioni di amministrazione di sistema e i seguenti miglioramenti.
A partire dalla versione Solaris 10 10/09 è possibile installare e avviare il sistema operativo Solaris da un disco con dimensioni massime di 2 TB. Nelle versioni precedenti di Solaris non era possibile installare e avviare il sistema operativo da un disco di dimensioni superiori a 1 TB.
Nella versione corrente di Solaris è possibile utilizzare l'etichetta VTOC per un disco di qualsiasi dimensione. Tuttavia, lo spazio indirizzabile da VTOC è limitato a 2 TB. Questa funzionalità consente di utilizzare anche dischi di dimensioni superiori a 2 TB come unità di avvio, ma lo spazio utilizzabile dall'etichetta è limitato a 2 TB.
Questa funzionalità è disponibile solo sui sistemi che eseguono il kernel a 64 bit. Per i sistemi basati su x86 è richiesta una memoria minima di 1 GB.
Per maggiori informazioni sui driver del disco e le utilità del disco di Solaris aggiornati per il supporto dell'avvio in dischi di dimensioni superiori a 1 TB, vedere il manuale System Administration Guide: Devices and File Systems.
L'utilità pcitool consente agli amministratori di sistema di associare gli interrupt a thread hardware per ottenere migliori prestazioni. Questa utilità si trova nel pacchetto SUNWio-tools pubblico. Per maggiori informazioni sull'utilizzo di pcitool, vedere la pagina man pcitool.
La sezione seguente riassume le nuove funzioni del file system ZFS.
Supporto dell'installazione ZFS e Flash – Nella versione Solaris 10 10/09 è possibile impostare un profilo JumpStart per identificare un archivio Flash di un pool radice ZFS. Per maggiori informazioni, vedere il manuale Solaris ZFS Administration Guide.
Impostazione di quote ZFS per utenti e gruppi – Nelle versioni precedenti di Solaris era possibile applicare quote e riserve ai file system ZFS per gestire e riservare spazio. In questa versione di Solaris è possibile impostare una quota per la quantità di spazio occupata dai file di proprietà di un determinato utente o gruppo. Valutare la possibilità di impostare quote per utenti e gruppi in un ambiente che ne contiene un numero significativo. È possibile impostare quote di utenti e gruppi utilizzando le proprietà zfs userspace e zfs groupspace come indicato di seguito:
# zfs set userquota@user1=5G tank/data # zfs set groupquota@staff=10G tank/staff/admins |
È possibile visualizzare la quota corrente di un utente o gruppo come indicato di seguito:
# zfs get userquota@user1 tank/data NAME PROPERTY VALUE SOURCE tank/data userquota@user1 5G local # zfs get groupquota@staff tank/staff/admins NAME PROPERTY VALUE SOURCE tank/staff/admins groupquota@staff 10G local |
Uso dell'ereditarietà pass-through ACL ZFS per autorizzazioni di esecuzione – Nelle versioni precedenti di Solaris era possibile applicare l'ereditarietà ACL in modo che tutti i file fossero creati con autorizzazioni 0664 o 0666. Se si desidera includere il bit di esecuzione dalla modalità di creazione file nell'ACL ereditato, questa versione permette di utilizzare l'ereditarietà pass-through per l'autorizzazione di esecuzione.
Se aclinherit=passthrough-x è attivato in un set di dati ZFS, è possibile includere l'autorizzazione di esecuzione per un file di output creato mediante gli strumenti cc o gcc. Se l'ACL ereditato non include l'autorizzazione di esecuzione, l'output eseguibile dal compilatore non sarà eseguibile fino a quando non si utilizzerà il comando chmod per modificare le autorizzazioni del file.
Uso di dispositivi cache nel pool di memorizzazione ZFS – Nella versione Solaris 10 10/09 è possibile creare un pool e specificare i dispositivi cache utilizzati per memorizzare i dati del pool di memorizzazione nella cache. I dispositivi cache rappresentano un livello aggiuntivo di memorizzazione nella cache, situato tra la memoria principale e il disco. L'uso dei dispositivi cache offre un notevole incremento delle prestazioni, in particolare quando i carichi di lavoro richiedono la lettura casuale di contenuti prevalentemente statici.
Durante la creazione del pool è possibile specificare uno o più dispositivi cache. Ad esempio:
# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0 # zpool status pool pool: pool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM pool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0t2d0 ONLINE 0 0 0 c0t4d0 ONLINE 0 0 0 cache c0t0d0 ONLINE 0 0 0 errors: No known data errors |
Per determinare se l'uso di dispositivi cache sia appropriato per l'ambiente in uso, vedere il manuale Solaris ZFS Administration Guide.
Miglioramenti alle proprietà ZFS – La versione Solaris 10 10/09 include miglioramenti alle seguenti proprietà ZFS:
È possibile impostare le proprietà del file system ZFS durante la creazione del pool. Nel seguente esempio è stata attivata la compressione per il file system ZFS creato durante la creazione del pool.
# zpool create -O compression=on pool mirror c0t1d0 c0t2d0 |
In un file system ZFS è possibile impostare due proprietà della cache che consentono di controllare gli elementi memorizzati nella cache primaria (ARC) o nella cache secondaria (L2ARC). Le proprietà della cache vengono impostate come indicato di seguito:
primarycache – Controlla ciò che viene memorizzato nella cache ARC.
secondarycache – Controlla ciò che viene memorizzato nella cache L2ARC.
È possibile impostare queste proprietà in un file system esistente o durante la creazione di un file system. Ad esempio:
# zfs set primarycache=metadata tank/datab # zfs create -o primarycache=metadata tank/newdatab |
La mancata memorizzazione dei dati dell'utente nella cache potrebbe risultare utile per alcuni ambienti di database. Sarà necessario determinare se l'impostazione delle proprietà della cache è utile per l'ambiente in uso.
Per maggiori informazioni, vedere il manuale Solaris ZFS Administration Guide.
È possibile utilizzare le proprietà relative all'utilizzo di spazio al fine di identificare lo spazio utilizzato da cloni, file system e volumi, ma non quello utilizzato dalle istantanee. Di seguito sono riportate le proprietà:
usedbychildren – Identifica la quantità di spazio utilizzata dagli elementi secondari di questo set di dati, che verrebbe liberata se tutti gli elementi secondari del set di dati fossero eliminati. L'abbreviazione della proprietà è usedchild.
usedbydataset – Identifica la quantità di spazio utilizzata dal set di dati che verrebbe liberata se il set di dati fosse eliminato in seguito all'eliminazione di tutte le istantanee e alla rimozione di tutti i set refreservation. L'abbreviazione della proprietà è usedds.
usedbyrefreservation – Identifica la quantità di spazio utilizzato da un set refreservation in questo set di dati, che verrebbe liberata se la proprietà refreservation fosse rimossa. L'abbreviazione della proprietà è usedrefreserv.
usedbysnapshots – Identifica la quantità di spazio utilizzata dalle istantanee di questo set di dati. In particolare, è la quantità di spazio che verrebbe liberata se tutte le istantanee di questo set di dati fossero eliminate. Non si tratta semplicemente della somma delle proprietà used delle istantanee, poiché lo spazio può essere condiviso da più istantanee. L'abbreviazione della proprietà è usedsnap.
Queste nuove proprietà scompongono il valore della proprietà used nei diversi elementi che utilizzano lo spazio. In particolare, il valore della proprietà used viene scomposto come indicato di seguito:
used property = usedbychildren + usedbydataset + usedbyrefreservation + usedbysnapshots |
È possibile visualizzare queste proprietà utilizzando i comandi zfs list - o space. Ad esempio:
# zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD pool 33.2G 72K 0 21K 0 51K rpool 27.0G 6.27G 20.5K 97K 0 6.27G rpool/ROOT 27.0G 4.73G 0 21K 0 4.73G rpool/ROOT/zfsBE 27.0G 4.73G 97.5M 4.63G 0 0 rpool/dump 27.0G 1.00G 16K 1.00G 0 0 rpool/export 27.0G 60K 16K 23K 0 21K rpool/export/home 27.0G 21K 0 21K 0 0 rpool/swap 27.5G 553M 0 41.5M 512M 0 |
In questa versione, le istantanee vengono omesse dall'output zfs list. La proprietà del pool listsnaps determina se le informazioni sull'istantanea vengono visualizzate dal comando zfs list. Se si utilizza il comando zfs list -t snapshots, le informazioni sull'istantanea vengono visualizzate. Il valore predefinito è off, pertanto per impostazione predefinita le informazioni sull'istantanea non vengono visualizzate.
Ripristino dispositivi registro ZFS – Nella versione Solaris 10 10/09, il file system ZFS consente di identificare gli errori nell'intent log mediante il comando zpool status. FMA rileva anche tali errori. Sia ZFS che FMA descrivono come eseguire il ripristino da un errore dell'intent log.
Ad esempio, se si verifica un arresto imprevisto del sistema prima che le operazioni di scrittura sincrona vengano salvate in un pool con un registro separato, nell'output zpool status vengono visualizzati i messaggi di errore relativi all'intent log. Per informazioni sulla risoluzione degli errori relativi al registro, vedere il manuale Solaris ZFS Administration Guide.
Utilizzo dei set ACL ZFS – Nella versione Solaris 10 10/09 è possibile applicare set ACL di tipo NFSv4 anziché singole autorizzazioni ACL di diverso tipo. Sono disponibili i seguenti set ACL:
full_set = tutte le autorizzazioni
modify_set = tutte le autorizzazioni eccetto write_acl e write_owner
read_set = read_data, read_attributes, read_xattr e read_acl
write_set = write_data, append_data, write_attributes e write_xattr
Questi set ACL sono predefiniti e non possono essere modificati.
Per maggiori informazioni su questi miglioramenti, vedere il manuale Solaris ZFS Administration Guide.
Vedere le sezioni successive per informazioni legate a ZFS:
Il servizio di denominazione LDAP è stato migliorato per consentire il supporto della funzionalità di blocco dell'account e di durata della password tramite i dati del database shadow memorizzato su un server LDAP configurato. Il supporto consente il funzionamento dell'utility passwd(1) e dei moduli pam_unix_*(5) PAM in modo quasi identico per la gestione del blocco dell'account e della durata della password per account locali e account utente LDAP remoti. Pertanto, l'uso del modulo pam_ldap(5) non costituisce più l'unico metodo per l'implementazione del criterio di password e del controllo degli account per il servizio di denominazione LDAP. È possibile utilizzare pam_unix_*(5) per ottenere gli stessi risultati coerenti ottenuti con i file e i servizi di denominazione nisplus.
Per maggiori informazioni, vedere System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
SunVTSTM 7.0 Patch Set 6 è integrato nella versione Solaris 10 10/09. SunVTS 7.0 Patch Set 6 segue un modello di architettura tradizionale a tre livelli. L'insieme di patch include un'interfaccia utente basata su browser (BUI), un server intermedio basato su tecnologia Java e un agente diagnostico. I miglioramenti all'infrastruttura SunVTS includono:
Aggiunta di supporto per SSD (unità a stato solido) a vtsk
Miglioramento del livello predefinito di test logici per l'adattamento alle dimensioni di configurazione del sistema
Valori minimi e massimi o limite massimo per swap di riserva in vtsk
Capacità di modifica della sequenza di esecuzione dei test logici
La versione Solaris 10 10/09 include i seguenti miglioramenti alla diagnostica della memoria e della CPU:
Aggiunta della copertura per X86-L3$ in l3sramtest
vmemtest, fputest e l2sramtest migliorati che forniscono callback per la restituzione di requisiti di swap
Test logici ottimizzati per sistemi x86 e sistemi basati su processori T2 UltraSPARC®
La versione Solaris 10 10/09 include inoltre i seguenti miglioramenti alla diagnostica I/O:
disktest migliorato per l'esecuzione in modalità di sola lettura se non è applicabile l'opzione di scrittura o lettura
Test logico del disco ottimizzato per sistemi x86, UltraSPARC T2 e UltraSPARC IV
Opzioni disktest automatizzate per l'esecuzione di attività SSD (unità a stato solido) e HDD (unità disco rigido) in Disk LT
Selezione automatizzata di opzioni di test in netlbtest
Supporto in disktest e iobustest per opzioni di prova sicure o potenzialmente pericolose
In Solaris 10 10/09 è stata aggiunta la seguente funzione di installazione.
A partire dalla versione Solaris 10 10/09, i comandi del pacchetto SVR4 vengono eseguiti più rapidamente. Questo miglioramento consente di accelerare notevolmente le prestazioni delle tecnologie di installazione Solaris quali installazioni iniziali, aggiornamenti, Live Upgrade e installazioni delle zone.
In Solaris 10 10/09 è stata aggiunta la seguente funzione per le risorse di sistema.
Il miglioramento dell'applicazione parallela delle patch di zone per le utility patch di Solaris 10 incrementa le prestazioni degli strumenti di applicazione delle patch in sistemi con più zone, consentendo l'applicazione di patch parallele a zone non globali. Nelle versioni precedenti a Solaris 10 10/09, la funzionalità viene implementata attraverso le utility patch 119254-66 o versioni successive per SPARC e 119255-66 o versioni successive per x86. Le patch vengono ancora applicate alla zona globale prima dell'applicazione alle zone non globali.
Per maggiori informazioni, vedere:
Quando si utilizza l'hypervisor Sun xVM in un sistema operativo Solaris, i domini guest completamente virtuali vengono chiamati HVM (Hardware-assisted Virtual Machines, macchine virtuali assistite da hardware). I guest HVM + PVIO offrono prestazioni ottimali tramite l'uso di driver PV.
Solaris 10 10/08 e le versioni successive includono i driver Solaris PV. È disponibile una patch per Solaris 10 5/08.
Per ulteriori informazioni, vedere "Solaris 10 releases" nella sezione Guests That Are Known to Work in System Administration Guide: Virtualization Using the Solaris Operating System. Il manuale tratta anche i computer con supporto HVM.
In Solaris 10 10/09 sono state aggiunte le seguenti funzioni di gestione dei dispositivi.
È stato introdotto un nuovo servizio SMF in FMRI svc:/network/iscsi/initiator:default per consentire il controllo della disponibilità di dispositivi iSCSI. Il servizio SMF controlla inoltre il timing per avviare l'individuazione e la numerazione di dispositivi iSCSI durante l'avvio del sistema operativo.
È possibile personalizzare la dipendenza dai nuovi servizi iSCSI Initiator per altri servizi che si basano sulla disponibilità di dispositivi iSCSI. Per maggiori informazioni, vedere la pagina man iscsi(7D).
A partire dalla versione Solaris 10 10/09, Solaris MPxIO supporta gli array di memorizzazione basati su controller LSI 6180.
In Solaris 10 10/09 è stata aggiunta la seguente funzione per il miglioramento delle prestazioni.
Il sottosistema di callout è stato riprogettato per includere le seguenti funzioni:
Miglioramenti di prestazioni e scalabilità:
Strutture di dati per CPU per ridurre le contese di utilizzazione mutex
Elaborazione callout per CPU al fine di migliorare la scalabilità
Implementazione basata su eventi che evita l'overhead di polling
Timer ad alta risoluzione per funzionalità migliorate. Numerose chiamate API usano timer ad alta risoluzione e non registrano latenza, poiché il sistema regola gli intervalli specificati. Questi timer includono chiamate di uso comune, quali poll() e nanosleep().
Miglioramenti di visualizzazione:
Gruppo globale di opzioni per il callout MDB dcmd
Nuovo calloutid MDB dcmd
Nuovo callout kstats
In Solaris 10 10/09 sono state aggiunte le seguenti funzioni relative ai driver e i seguenti miglioramenti.
La versione Solaris 10 10/09 include molteplici miglioramenti per i driver Solaris 10GbE. Il driver 10GbE nxge include i seguenti miglioramenti:
Il throughput in ricezione TCP è stato migliorato dal 40% per 8 connessioni a oltre il 90% per 32, 100, 400 e 1000 connessioni
Il throughput in trasmissione TCP è stato migliorato da valori prossimi all'80% per 8 connessioni a oltre il 100% per test con un numero maggiore di connessioni
Il throughput in trasmissione UDP è stato migliorato dall'80% per messaggi a 64 byte a oltre il 160% per messaggi a 8 Kbyte
Il driver ixgbe nei sistemi x86 include i seguenti miglioramenti:
Il throughput in trasmissione TCP è stato migliorato a valori prossimi al 100% per 8 o più connessioni
La velocità di ricezione TCP corrisponde alla velocità di linea a 10Gb per 8, 32, 100, 400 e 1000 connessioni
Il throughput massimo in trasmissione UDP è stato raddoppiato fino a raggiungere la velocità di linea a 10Gb
La velocità dei dati negli scambi ping pong è passata da 2x a 3x, mentre le dimensioni del messaggio sono passate da 64 a 512 byte
I driver Solaris 10GbE sono ora in grado di garantire velocità dei dati prossime alla velocità di linea, garantendo prestazioni ottimali nelle reti a 10 gigabit.
La versione Solaris 10 10/09 include i seguenti miglioramenti per la funzione InfiniBand:
Controller InfiniBand (HCA): la versione Solaris 10 10/09 include un driver InfiniBand notevolmente migliorato per il controller Mellanox ConnectX. Il driver InfiniBand consente ai protocolli InfiniBand di operare sui fabric InfiniBand DDR (Double Data Rate) e QDR (Quad Data Rate). Il driver è inoltre integrato nella struttura per la gestione degli errori FMA di Solaris e supporta il meccanismo relaxed ordering nei sistemi SPARC.
IBTF (InfiniBand Transport Framework): la versione Solaris 10 10/09 include un'implementazione IBTF notevolmente migliorata, che fornisce un supporto avanzato per l'esecuzione dei protocolli InfiniBand basati su RDMA in Solaris. InfiniBand per SPARC ora supporta la riconfigurazione dinamica (DR) PCI.
IPoIB (Internet Protocol over InfiniBand): la versione Solaris 10 10/09 include un driver IPoIB (ibd) notevolmente migliorato, che supporta le RFC Internet 4391 e 4392. Il driver IPoIB della release Solaris 10 10/09 supporta la modalità operativa UD (User Datagram) e l'indirizzamento IPv4 e IPv6; inoltre, si avvale degli scaricamenti hardware nell'HCA ConnectX per migliorare il throughput riducendo l'utilizzo della CPU. IPoIB-UD consente l'utilizzo di qualsiasi protocollo di applicazione TCP/IP, ad esempio SSH, HTTP, FTP, NFS e iSCSI su fabric InfiniBand DDR e QDR. Il nuovo driver IPoIB per le piattaforme SPARC e x86 garantisce un notevole incremento delle prestazioni rispetto al driver disponibile in precedenza.
Protocollo SDP (Sockets Direct Protocol): la versione Solaris 10 10/09 include un driver SDP e un'implementazione sockfs notevolmente migliorati. SDP è un protocollo di trasporto che utilizza IBTF (Infiniband Transport Framework). SDP è un'implementazione standard basata sull'Allegato 4 del volume 1 della specifica di Infiniband. Il protocollo SDP fornisce una trasmissione bidirezionale affidabile con flusso di byte controllato, simile al protocollo TCP (Transmission Control Protocol). I programmatori InfiniBand utilizzano SDP mediante la libreria libsdp C che supporta un'interfaccia verso i programmi SOCK_STREAM basata su socket. Il protocollo SDP supporta la chiusura normale, l'indirizzamento IPv4 e IPv6, il modello connessione/accettazione connessione, i dati OOB (Out-Of-Band) e le opzioni socket comuni. Il protocollo SDP supporta inoltre i trasferimenti di dati fuori dal kernel e i trasferimenti di dati da buffer ULP (send-Upper-Layer-Protocol) a buffer ULP di ricezione.
RDS (Reliable Datagram Sockets): la versione Solaris 10 10/09 include un driver RDSv1 migliorato certificato per l'utilizzo con Oracle RAC (Real Application Clusters) 10gR2.
uDAPL (User-Level Direct Access Programming Library): la versione Solaris 10 10/09 include un'API uDAPL su InfiniBand aggiornata, conforme alla specifica DAT (Direct Access Transport) Collaborative uDAPL 1.2 più recente.
Il driver mpt_sas(7D) supporta dispositivi fisici SAS, SATA, SMP e dispositivi virtuali utilizzando la funzione RAID integrata. La nuova architettura per driver SAS supporta le seguenti funzionalità:
Porte SAS initiator (iports)
Riconfigurazione dinamica di destinazioni SAS, SATA e SMP
Rappresentazione del dispositivo compatibile FWARC 2008/013
Multipath
Per maggiori informazioni, vedere la pagina man mpt_sas(7D).
La versione Solaris 10 10/09 include supporto per nuovi chipset quali bcm5716c e bcm5716s.
La versione Solaris 10 10/09 fornisce una tabella di rimappatura interrupt che isola gli interrupt quantomeno sulla piattaforma Intel Nehalem e assicura che i dispositivi possano utilizzare solo interrupt autorizzati, impostati sulla destinazione appropriata. La funzione migliora l'affidabilità del sistema, la disponibilità e il servizio (RAS).
I dispositivi a nastro SATA sono ora supportati dal driver AHCI. Gli utenti possono collegare o connettere a caldo l'unità a nastro SATA al controller AHCI tramite il cavo SATA o eSATA. Il meccanismo di gestione dell'errore è stato migliorato per dispositivi SATA ATAPI che includono CD, DVD o nastro.
Per maggiori informazioni, vedere la pagina man ahci(7D).
Il driver del controller HBA mr_sas MegaRAID SAS2.0 è un driver nexus compatibile SCSA che supporta la serie di controller LSI MegaRAID SAS 92xx, la serie di controller StorageTek 6 Gb/s SAS RAID HBA e la serie di controller LSI MegaRAID SAS 92xx.
Alcune funzioni RAID supportate includono:
Livelli RAID 0, 1, 5 e 6 e span 10, 50 e 60
Capacità di espansione online (OCE, Online Capacity Expansion)
Migrazione livello RAID (RLM) online
Ripresa automatica dopo l'interruzione di corrente durante la ricostruzione degli array (OCE o RLM)
Dimensione della stripe configurabile fino a 1 MB
Possibilità di eseguire un controllo di coerenza per l'integrità dei dati in background
Funzioni di lettura per l'analisi e la riparazione dei dischi (Patrol Read)
Supporto di 64 dischi logici
Supporto LUN fino a 64 TB
Ricostruzione automatica e supporto hot-spare globale e dedicato
A partire dalla versione Solaris 10 10/09, il driver ixgbe supporta il chipset del controller Ethernet Intel PCI Express 82599 10Gb.
A partire dalla versione Solaris 10 10/09, il driver ixgbe supporta il chipset del controller Ethernet Intel 82598 10Gb PCI Express.
In Solaris 10 10/09 sono stati aggiunti i miglioramenti e le funzioni freeware seguenti.
La versione Solaris 10 10/09 include la versione più aggiornata di Network Time Protocol, che supporta un'autenticazione migliorata, IPv6 e prestazioni superiori. Per maggiori informazioni, vedere la pagina man ntpdate(1M).
La versione Solaris 10 10/09 supporta le versioni PostgreSQL 8.1.17, 8.2.13 e 8.3.7.
La versione Solaris 10 10/09 supporta Samba 3.0.35.