In Solaris 10 8/07 sono state aggiunte le seguenti funzioni relative alle risorse di sistema e i seguenti miglioramenti.
La tecnologia Sun BrandZ fornisce il framework per creare zone non globali che contengono ambienti operativi non nativi. Come estensione delle zone non globali, le zone contrassegnate (branded) offrono lo stesso ambiente isolato e sicuro, mentre tutta la gestione dell'ambiente non nativo viene eseguita tramite estensioni della struttura corrente delle zone.
Attualmente è disponibile l'ambiente non nativo lx, Solaris Containers for Linux Applications. Queste zone non globali forniscono un ambiente applicativo Linux utilizzabile su un sistema x86 o x64 che esegue Solaris.
Le zone lx includono gli strumenti necessari per installare un ambiente CentOS (versioni da 3.5 a 3.8) o Red Hat Enterprise Linux (da 3.5 to 3.8) all'interno di una zona non globale. I sistemi che eseguono Solaris in modalità a 32 o 64 bit possono eseguire le applicazioni Linux a 32 bit.
Per altre informazioni, vedere la Parte III, Branded Zones nel manuale System Administration Guide: Solaris Containers-Resource Management and Solaris Zones:
Vedere anche le seguenti pagine man:
brands(5)
lx(5)
La migliore integrazione tra le funzioni di gestione delle risorse e le zone rende più semplice sfruttare le capacità di gestione delle risorse del sistema con il comando zonecfg. La configurazione delle risorse specificata viene creata automaticamente quando si avvia la zona. Non è più necessario eseguire operazioni manuali per la configurazione della gestione delle risorse.
Il comando zonecfg può essere utilizzato per configurare le impostazioni di gestione delle risorse per la zona globale.
I controlli di risorsa a livello di zona possono essere impostati usando il metodo consigliato, vale a dire l'utilizzo di nomi di proprietà globali. Sono disponibili anche nuovi controlli di risorsa per progetti e zone:
zone.max-locked-memory
zone.max-msg-ids
zone.max-sem-ids
zone.max-shm-ids
zone.max-shm-memory
zone.max-swap - Consente la limitazione dello spazio di swap delle zone utilizzando la risorsa di limitazione della memoria.
project.max-locked-memory - Sostituisce project.max-device-locked-memory
Sono stati aggiunti alcuni metodi per impostare lo scheduler predefinito in una zona, inclusa una nuova proprietà di pianificazione.
I pool di risorse sono stati migliorati. È possibile aggiungere un pool temporaneo che viene creato dinamicamente all'avvio di una zona. Il pool viene configurato con la risorsa dedicated-CPU.
È disponibile il sottocomando clear per cancellare i valori delle impostazioni opzionali.
Limitazione migliorata della memoria fisica dalla zona globale grazie ai miglioramenti a rcapd(1M). I limiti vengono configurati tramite la risorsa di limitazione della memoria.
Questa funzione può essere usata per limitare la memoria fisica per le zone contrassegnate come lx e per le zone native. Per maggiori informazioni, vedere Zone contrassegnate come lx: Solaris Containers per le applicazioni Linux.
È stata migliorata la gestione dei dati RSS. Sono stati apportati miglioramenti al daemon di limitazione delle risorse, rcapd, e al comando prstat.
Per maggiori informazioni, vedere:
Pagina man prstat(1M)
Pagina man rcapd(1M)
Pagina man zonecfg(1M)
Pagina man resource_controls(5)
System Administration Guide: Solaris Containers-Resource Management and Solaris Zones
Le funzioni di rete IP possono ora essere configurate in due modi diversi, in base al fatto che alla zona sia stata assegnata un'istanza IP esclusiva o che questa condivida la configurazione e lo stato del livello IP con la zona globale. I tipi IP vengono configurati usando il comando zonecfg.
La modalità IP condivisa è il tipo predefinito. Queste zone si collegano alle stesse VLAN o LAN utilizzate dalla zona globale e ne condividono il livello IP. Le zone contrassegnate come lx sono configurate come zone a IP condiviso. Per maggiori informazioni, vedere Zone contrassegnate come lx: Solaris Containers per le applicazioni Linux.
Le funzionalità IP complete sono disponibili nelle zone IP esclusive. Se una zona deve essere isolata al livello IP della rete, la zona può utilizzare un IP esclusivo. La zona IP esclusiva può essere usata per consolidare le applicazioni che devono comunicare su sottoreti differenti che si trovano su VLAN o LAN diverse.
Per maggiori informazioni, vedere:
Pagina man zonecfg(1M)
Pagina man zones(5)
System Administration Guide: Solaris Containers-Resource Management and Solaris Zones
Per informazioni sulla configurazione, vedere il Capitolo 17, Non-Global Zone Configuration (Overview) in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones e il Capitolo 18, Planning and Configuring Non-Global Zones (Tasks) in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.
Per informazioni sui componenti, vedere il Capitolo 26, Solaris Zones Administration (Overview) in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones e il Capitolo 27, Solaris Zones Administration (Tasks) in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.
Le funzioni di avvio delle zone di Solaris supportano ora gli argomenti per i comandi boot e reboot. Sono attualmente supportati i seguenti argomenti di avvio:
-m <opzioni_smf>
-i </percorso_init/>
-s
Gli argomenti possono essere passati nei seguenti modi:
globale# zoneadm -z nomezona boot -- -m verbose
globale# zoneadm -z nomezona reboot -- -m verbose
nomezona# reboot -- -m verbose
Gli argomenti di avvio possono essere specificati in modo persistente usando la nuova proprietà bootargs nel comando zonecfg:
zonecfg:nomezona> set bootargs="-m verbose"
Questa impostazione viene sempre applicata a meno che non venga specificata un'opzione differente nei comandi reboot, zoneadm boot o zoneadm reboot.
Per maggiori informazioni sugli argomenti di avvio e la proprietà bootargs, vedere:
Pagina man zoneadm(1M)
Pagina man zonecfg(1M)
System Administration Guide: Solaris Containers-Resource Management and Solaris Zones
Per limitare la quantità totale di risorse di System V utilizzate dai processi in una zona non globale, sono stati introdotti i seguenti controlli di risorsa a livello di zona.
zone.max-shm-memory
zone.max-shm-ids
zone.max-msg-ids
zone.max-sem-ids
I controlli di risorsa sono impostati con la proprietà add rctl in zonecfg per le zone non globali.
Per limitare il consumo della zona globale, i controlli di risorsa possono essere impostati con il comando prctl.
Per maggiori informazioni, vedere:
Pagina man prctl(1)
Pagina man zonecfg(1M)
Pagina man resource_controls(5)
System Administration Guide: Solaris Containers-Resource Management and Solaris Zones
Solaris applica automaticamente un identificativo unico globale a ogni zona non globale quando la zona viene installata. L'identificatore può essere richiamato sia nella zona globale che nella zona non globale usando il comando zoneadm list -p. Gli utenti possono utilizzare l'identificatore unico della zona per il controllo degli asset, utilizzando la zona come un singolo asset. Questo identificatore può essere usato anche per identificare le zone nelle seguenti operazioni:
Spostamento di zone.
Cambiamento di nome alle zone.
Tutti gli eventi che non comportano la distruzione del contenuto delle zone.
Per maggiori informazioni, vedere la pagina man zoneadm(1M).
A partire da questa versione, gli utenti possono contrassegnare le zone come “incomplete” usando una nuova funzione di zoneadm. Questa nuova funzione di zoneadm consente la registrazione dello stato di errore irreversibile o permanente di una zona da parte del software di amministrazione che ne sta aggiornando il contenuto.
Per maggiori informazioni, vedere la pagina man zoneadm(1M).
DTrace può ora essere utilizzato nelle zone non globali a cui siano assegnati i privilegi dtrace_proc e dtrace_user. I provider e le azioni di DTrace possono agire solo all'interno della zona. Con il privilegio dtrace_proc è possibile utilizzare i provider fasttrap e pid. Con il privilegio dtrace_user è possibile utilizzare i provider 'profile' e 'syscall'.
Questi privilegi possono essere aggiunti all'insieme dei privilegi disponibili nella zona non globale usando la proprietà limitpriv del comando zonecfg.
Per una descrizione dei privilegi delle zone non globali, vedere Privilegi configurabili per le zone non globali.
Per maggiori informazioni sulla configurazione delle zone, l'assegnazione dei privilegi alle zone e l'uso del programma di utilità DTrace, vedere: