| Italia - Italiano |
|
|
|
![]() |
Gestione di sistemi e gruppi di lavoro: Guida per gli amministratori di sistema HP-UX > Capitolo 2 Pianificazione di
un gruppo di lavoroPianificazione della gestione dei file system |
|
Questa sezione fornisce le risposte alle domande che potrebbero insorgere durante la pianificazione dell’amministrazione dei file system. Si discute dei seguenti argomenti: Per le procedure usate per amministrare i file system, andare a “Gestione dei file system”. I file di sistema, i file delle applicazioni ed i file degli utenti devono risiedere in un file system per essere disponibili al sistema operativo ed alle applicazioni. Il file system complessivo di HP-UX è composto da un albero delle directory o gerarchia, a partire dalla root. Sebbene il file system possa apparire come un sistema unitario, in realtà potrebbe essere composto da varie “parti” diverse, ciascuna memorizzata su dispositivi diversi o su volumi logici diversi. Per consentire agli utenti di accedere ai file di un file system, tranne che per il file system di root, occorre “montare” il file system. È possibile fare ciò sia manualmente sia automaticamente all’avvio, allegandolo ad una directory contenuta nell’albero delle directory esistente. La directory in cui si allega il file system aggiunto si chiama il punto di montaggio.
È anche possibile smontare un file system e se lo si sceglie, allegarlo nuovamente ad un punto di montaggio diverso. Per le informazioni procedurali, andare a “Smontaggio di file system ”. Esistono molti motivi per cui si potrebbe creare una nuova parte del file system globale, incluso:
Tabella 2-3 Limiti del file system delle release HP-UX
A partire da HP-UX 11.0, il Journaled File System (JFS) è installato di default per la root ed altri file system HP-UX. Tuttavia, sono disponibili altri quattro tipi di file-system da usare su HP-UX. Le informazioni su ciascuno di essi sono presentate nella seguente tabella: Tabella 2-4 Tipi di file system di HP-UX
È consentito avere un misto di JFS ed altri file system su un unico sistema di computer.
Molti comandi di amministrazione del file system ora forniscono un’opzione -F tipo_FS che consente di specificare il tipo di file system. Usare le seguenti parole chiave per indicare il tipo di file system idoneo:
HP-UX può stabilire il tipo di file system per i comandi che funzionano su un file system preesistente, anche se non si specifica -F tipo_FS sulla riga dei comandi. Per ulteriori informazioni sui wrapper del file system, consultare fs_wrapper(5). Per informazioni procedurali sulla conversione del file system, consultare “Conversione di file system esistenti in JFS”. JFS è l’implementazione HP-UX del VERITAS journaled file system (VxFS), che presenta una superba affidabilità ed un rapido recupero. A partire dalla release 10.30, JFS è il file system di default di HP-UX. Gli ambienti operativi HP-UX 11i includono VxFS. La funzionalità JFS di base è inclusa con il software del sistema operativo HP-UX. Con l’installazione di un prodotto che è possibile ordinare a parte denominato HP OnLineJFS, JFS fornisce anche le operazioni amministrative in linea, incluso il backup, il ridimensionamento e la deframmentazione. Vale davvero la pena dedicare un po’ di tempo all’apprendimento dell’uso di JFS, considerando i vantaggi che esso offre. Per le informazioni procedurali concernenti i file system JFS, andare a:
Cos’è JFS? JFS è l’implementazione HP-UX del VERITAS journaled file system (VxFS) introdotta in HP-UX 10.01. Essa offre affidabilità, recupero rapido ed operazioni amministrative in linea, incluso il backup, il ridimensionamento e la deframmentazione. Per quanto tempo è stato disponibile JFS in HP-UX? HP ha programmato l’implementazione di JFS nel corso di varie release:
Come si confronta il journaled file system (JFS) a HFS? JFS migliora l’High-Performance file system (HFS) nei seguenti modi:
Se confrontato con HFS, JFS si ripristina molto più rapidamente dal guasto del sistema, grazie al suo meccanismo per la registrazione delle modifiche nella struttura del file system. Quando il sistema si avvia dopo un crash, il file system si sincronizza usando il suo log per accelerare il ripristino, con un’operazione simile, ma più veloce, a quella realizzata da fsck. Il tempo di recupero rapido è particolarmente utile in ambienti che richiedono alte prestazioni o che trattano grandi volumi di dati. JFS consente una maggiore velocità effettiva dei dati (I/O più veloce) di HFS. Ciò è dovuto all’organizzazione di JFS della memorizzazione dei file in estensioni, che possono essere composte da blocchi di dati multipli. Il prodotto opzionale HP OnLineJFS facilita la manutenzione del sistema consentendo di realizzare procedure come il backup del file system e l’aumento o la riduzione di un file system senza doverlo smontare. Queste funzionalità non sono disponibili con HFS. Quali sono gli svantaggi di configurare un file system usando JFS? Si potrebbe non voler configurare JFS su un sistema con memoria limitata perché i suoi requisiti di memoria superano quelli di HFS. L’uso di JFS è limitato in qualche modo da LVM (consultare “Il Logical Volume Manager (LVM)”)? È possibile usare JFS su qualsiasi file system, a prescindere dal fatto che sia gestito o meno da LVM. Come si amministra JFS? JFS può essere amministrato usando SAM o i comandi di HP-UX. SAM ha delle utility per creare (aggiungere), eseguire il backup e ridimensionare i file system JFS. Se si dispone del pacchetto opzionale HP OnLineJFS (a cui si fa riferimento in alcune manpage come Advanced VxFS), è possibile usare la scelta di menu VxFS Maintenance di SAM per visualizzare l’estensione e la frammentazione delle directory, riorganizzare le estensioni e le directory, ridimensionare i file system JFS quando si è in linea e realizzare un backup in linea usando un’istantanea di un file system JFS. Dalla riga di comando è possibile usare:
Come funziona JFS? JFS alloca lo spazio sui file sotto forma di estensioni, blocchi di dischi adiacenti trattati come un’unità. Le dimensioni delle estensioni possono variare da un unico blocco a molti megabyte. Organizzare i dati dei file in questo modo consente a JFS di emettere richieste I/O di grandi dimensioni, il che è più efficace che leggere o scrivere un unico blocco per volta. JFS raggruppa le modifiche strutturali in transazioni e le registra in un log degli intenti su un disco prima di realizzare effettivamente qualsiasi modifica. Se il sistema subisce un crash, fsck dovrà soltanto scansionare il log degli intenti e completare le transazioni che erano in corso. Ciò fornisce una maggiore integrità del file system e riduce di molto il tempo di recupero in confronto ad un file system tradizionale che deve essere scansionato dall’inizio alla fine alla ricerca di eventuali incoerenze. JFS offre opzioni di montaggio per ritardare o disabilitare la registrazione delle transazioni. Ciò consente all’amministratore di sistema di realizzare bilanciamenti tra integrità e prestazioni del file system, assicurando l’integrità dei file system critici ed al contempo ottimizzando le prestazioni dei file system non critici o temporanei. Quando si dispone del prodotto opzionale HP OnLineJFS, è possibile realizzare molte operazioni amministrative su un file system JFS attivo, incluso ridimensionarlo, riorganizzare i suoi file per renderli contigui e riorganizzare le directory per recuperare lo spazio non utilizzato. Inoltre, è possibile realizzare un’istantanea di un file system montato per il backup. L’istantanea fornisce una visualizzazione coerente e di sola lettura del file system in un determinato momento, anche se il file system del quale è un’istantanea continua a modificarsi. L’amministrazione in linea, insieme con il recupero rapido reso possibile dal log degli intenti, aumenta in modo significativo la disponibilità del file system. Quali sono i contenuti di una transazione JFS? Una transazione è composta da tutte le singole operazioni del sistema correlate ad una modifica. Ad esempio, scrivere su un file potrebbe comportare l’aumento delle sue proporzioni, il che implicherebbe l’allocazione di spazio aggiuntivo, l’aggiornamento della mappa delle sue estensioni, l’aumento delle sue dimensioni e l’aggiornamento del suo tempo dell’ultima modifica. Queste modifiche sono trattate come un’unica transazione, che viene registrata prima della realizzazione effettiva di eventuali modifiche. Quando tutte le modifiche sono effettuate, anche questo fatto è registrato nel log degli intenti. Le transazioni di JFS sono garantite come atomiche, cioè tutte le singole operazioni che comprendono una transazione vanno a buon fine o nessuna di esse lo fa. Il file system non resta in uno stato intermedio, con alcune operazioni completate ed altre no, anche dopo un crash del sistema. In genere, una transazione è impegnata (cioè, assicurata per il completamento) quando la chiamata del sistema che l’ha iniziata torna all’applicazione; tuttavia, si trovano delle eccezioni nelle opzioni di montaggio JFS che ritardano la registrazione della transazione. Tuttavia, anche se la registrazione della transazione è ritardata, le transazioni restano atomiche ed il file system non sarà tuttavia lasciato in uno stato intermedio. I dati utente fanno parte di una transazione? Di solito, i dati utente non sono trattati come parte di una transazione. Invece, sono collocati nella cache buffer senza garanzia di scriverli sul disco a meno che non si esegua esplicitamente sync(1M). Tuttavia, se un’applicazione usa una scrittura sincrona (ad esempio, aprendo un file con l’indicatore O_SYNC), i dati utente sono trattati come parte della transazione, con la stessa atomicità applicabile ai metadati (inodi, mappe delle estensioni, ecc.) del file system. Cosa sono le estensioni di JFS e come le usa il sistema operativo? JFS alloca lo spazio sui file sotto forma di estensioni, blocchi di dischi adiacenti (contigui) trattati come un’unità. Le dimensioni delle estensioni possono variare da un unico blocco a molti megabyte. Organizzare i dati dei file in questo modo consente a JFS di emettere richieste I/O di grandi dimensioni (cioè, gestire I/O in blocchi multipli), il che è più efficace che leggere o scrivere un unico blocco per volta. Se si legge un file in sequenza, JFS può trasportare più dell’estensione attuale di quanta ne occorra per soddisfare un’unica chiamata di sistema di lettura, rendendo in tal modo disponibili i dati nella cache buffer per le letture successive. Questa forma di lettura anticipata non comporta un’operazione I/O extra, dato che i dati sono contigui sul disco. Al contrario, con un’unica richiesta I/O vengono portati nella cache buffer più dati di quanti ne occorrano nell’immediato. I dati per una chiamata di sistema di scrittura vengono collocati nella cache buffer e riversati sul disco in un momento successivo. Questa è definite scrittura ritardata. Casomai, quando i dati vengono svuotati sul disco, JFS cerca altri dati in attesa di essere stati svuotati sui blocchi adiacenti e tenta di raggruppare tutti i dati in un’unica grande richiesta I/O. Le estensioni di JFS sono rappresentate da un numero di blocco di partenza ed un conteggio di blocco. Quando un file cresce, JFS prima tenta di aumentare le dimensioni dell’ultima estensione del file.
Come fa JFS ad allocare le estensioni per gestire la crescita dei file? Quando un file cresce, è possibile aggiungere una nuova estensione, o aumentare le dimensioni dell’ultima estensione (presumendo che vi sia sufficiente spazio libero immediatamente dopo di essa). Nel caso in cui non vi sia sufficiente spazio libero immediatamente dopo l’ultima estensione, JFS alloca un’estensione non contigua a parte. Il prodotto opzionale HP OnLineJFS consente di deframmentare le estensioni non contigue. Questa riorganizzazione comporta il mescolamento dei blocchi di dati in un file system per fondere le estensioni e rendere i file più contigui. Per i dettagli, consultare la guida in linea di SAM o fsadm_vxfs(1M). Cos’è il log degli intenti di JSF e come si usa? JFS raggruppa le modifiche strutturali in transazioni e le registra in un log degli intenti su un disco prima di dare loro inizio. Ad esempio, scrivere su un file potrebbe comportare l’aumento delle sue proporzioni, il che implicherebbe l’allocazione di spazio aggiuntivo su di esso, l’aggiornamento della mappa delle sue estensioni, l’aumento delle sue dimensioni e l’aggiornamento dell’ora dell’ultima modifica. Tali modifiche sarebbero trattare come un’unica transazione che sarebbe registrata prima della realizzazione effettiva di qualsiasi modifica. Una volta effettuate tutte le modifiche, anche questo fatto sarebbe registrato nel log degli intenti. Se il sistema subisce un crash, fsck dovrà soltanto scansionare il log degli intenti e completare le transazioni che erano in corso. Questo si chiama riesecuzione del log. Essa fornisce una maggiore integrità del file system e riduce di molto il tempo di recupero in confronto ad un file system tradizionale che deve essere scansionato dall’inizio alla fine alla ricerca di eventuali incoerenze. Poichè il log degli intenti è disponibile su fsck, le dimensioni del file system non rappresentano un fattore importante, soltanto il numero di transazioni incomplete al momento del crash. Anche per un file system che era molto attivo, la riesecuzione del log impiegherà di solito meno di dieci secondi. Per ulteriori informazioni, consultare “Gestione della corruzione del file system”. Ogni file system JFS ha il proprio log degli intenti. Al momento della creazione del file system, si riserva dello spazio per il log degli intenti, e le sue dimensioni non possono essere in seguito modificate. Il log degli intenti non è un file visibile dall’utente, sebbene sia possibile usare lo strumento fsdb per copiarlo. Di solito, i dati utente non sono trattati come parte di una transazione. Al contrario, vengono collocati nella cache buffer con la solita semantica di scrittura ritardata UNIX (cioè, senza garanzie di essere stati scritti su disco, a meno che non si esegua esplicitamente sync). Tuttavia, se l’applicazione indica una scrittura sincrona (ad esempio, aprendo un file con l’indicatore O_SYNC), i dati utente sono trattati come parte della transazione, con la stessa garanzia di ‘tutto o niente’ applicabile ai metadati del file system (tipo directory, inodi, mappe libere delle estensioni). In quali casi il log degli intenti contiene i dati dei file? Di solito, il log degli intenti contiene soltanto le informazioni sui metadati del file system, tipo superblocco, inodi e directory. Tuttavia, i dati dei file scritti sincronicamente (cioè, il file viene aperto con l’opzione O_SYNC o O_DSYNC) vengono registrati nel log degli intenti, se le dimensioni del blocco di scrittura sono di 8KB o inferiori. Tale comportamento è vero sia per Basic JFS sia per HP OnLineJFS (anche noto come pacchetto Advanced VxFS), ma può essere modificato usando l’opzione nodatainlog del comando di montaggio (consultare mount_vxfs(1M)).
Quali sono le dimensioni consigliate del log degli intenti? Le dimensioni del log degli intenti sono impostate per default, in base alle dimensioni del file system. Di solito, le dimensioni del log degli intenti sono di 1 MB. Se il file system è:
Potrebbe esservi un motivo per aumentare le dimensioni del log degli intenti? Cosa accade se si riempie? Si verificheranno degli errori o ne risulteranno pregiudicate le prestazioni? No. Se il log degli intenti si riempie, non vi sarà alcun impatto percettibile sugli utenti. Potrebbe verificarsi un blocco su I/O, ma ciò si verifica in molte situazioni che non sono correlate al log degli intenti e non avrà un impatto percettibile. Se il log degli intenti si riempie, non si verificheranno errori. Come è possibile conoscere le dimensioni del log degli intenti? È possibile usare fsdb per visualizzare le dimensioni del log degli intenti. Tuttavia, questo debugger del file system deve essere usato esclusivamente da utenti avanzati, dato che, se non è usato correttamente, può distruggere il file system. Per le relative informazioni e per informazioni sul formato superblocco JFS, consultare fsdb_vxfs(1M). Come è possibile modificare le dimensioni del log degli intenti? Usare il comando mkfs -F vxfs con la seguente opzione -o: -o logsize=n, dove n è il numero di blocchi da allocare per il log degli intenti. n deve essere compreso nell’intervallo da 32 a 2048. Per la sintassi, consultare mkfs_vxfs(1M). Quali sono le opzioni di montaggio JFS e dove sono vantaggiose da usare? JFS offre opzioni di mount per ritardare o disabilitare la registrazione delle transazioni e per controllare se i dati utente sono scritti sincronicamente o ritardati. Queste impostazioni consentono all’amministratore di sistema di realizzare bilanciamenti tra integrità e prestazioni del file system, assicurando l’integrità dei file system critici ed al contempo ottimizzando le prestazioni dei file system non critici o temporanei. Per la sintassi, consultare mount_vxfs(1M). Quali sono le opzioni di registrazione disponibili usando JFS? JFS fornisce una varietà di opzioni per controllare come le transazioni vengono registrate sul disco, come elencato di seguito. Il default, log, fornisce la massima integrità di sistema in caso di guasto del sistema. In altri casi, incluso il montaggio di un file system JFS con SAM e della realizzazione di un’installazione a freddo, il modo di registrazione consigliato è delaylog.
Quali sono le opzioni di scrittura disponibili usando JFS? JFS fornisce varie opzioni per controllare le modalità di scrittura dei dati utenti sul disco.
Inoltre, l’amministratore di sistema può controllare il modo in cui le scritture sono gestite, con e senza O_SYNC.
Date tutte le molteplici opzioni di JFS, quali sono alcune delle combinazioni utili di registrazione e memorizzazione nella cache? mount -o log,mincache=dsync
mount -o log
mount -o delaylog
mount -o nolog,convosync=delay
Quali operazioni in linea è possibile realizzare con OnLineJFS? Le operazioni amministrative che è possibile realizzare sul file system JFS attivo quando si dispone del prodotto opzionale HP OnLineJFS includono:
Cos’è un’istantanea di JFS e perché è utile? Un’istantanea (disponibile con HP OnLineJFS) è una visualizzazione coerente e stabile di un file system attivo, usata per realizzare un backup di un file system attivo. Consente all’amministratore di sistema di catturare lo stato del file system in un determinato momento nel tempo (senza doverlo collocare fuori linea e copiare), montare l’immagine di quel file system in qualche altro posto ed eseguirne il backup. Ad esempio, è possibile montare un’istantanea di /home su /tmp/home. All’inizio, compariranno directory e file identici sotto /home e sotto /tmp/home, ma gli utenti saranno ancora in grado di accedere e modificare il file system primario (/home). Tali modifiche non compariranno nell’istantanea. Invece, /tmp/home continuerà a rispecchiare lo stato di /home al momento della realizzazione dell’istantanea. Per l’utente, l’istantanea ha l’aspetto di un file system ordinario, che è stato montato read-only (in sola lettura). Le istantanee sono sempre montate in sola lettura; cioè, nessuna delle sue directory o file può essere modificato. Tuttavia, internamente succede qualcosa di molto diverso.
Tutto ciò viene realizzato in modo trasparente nell’ambito della kernel. Come si lavora con le istantanee? Un’istantanea JFS può essere usata per realizzare un backup in linea di un file system. Per la procedura, andare a “Come creare ed effettuare il backup di un’istantanea JFS del file system”. L’istantanea del file system deve risiedere su un disco a parte o su un volume logico a parte, separato dal file system originale. Tutti i dati presenti sul dispositivo prima della realizzazione dell’istantanea saranno sovrascritti al momento della realizzazione dell’istantanea stessa. Non occorre modificare i comandi e le applicazioni per lavorare con le istantanee, dal momento che la kernel è responsabile dell’ubicazione dei dati dell’istantanea (sul dispositivo dell’istantanea o sul dispositivo primario) e della copiatura dei singoli blocchi dal file system primario al dispositivo dell’istantanea immediatamente prima del loro aggiornamento. In ragione di tale schema di scrittura su copia, è possibile creare un’istantanea in modo immediato ed occorre soltanto lo spazio sufficiente a contenere i blocchi che potrebbero cambiare durante l’esecuzione del montaggio dell’istantanea. Il volume dell’istantanea deve essere pari a circa il 10-20% delle dimensioni del file system originale. Non occorre strutturare il volume dell’istantanea in alcun modo; non è necessario eseguire newfs per il file system di un’istantanea prima della realizzazione del suo montaggio. Durante il montaggio di un’istantanea, le modifiche apportate al file system originale non compariranno in tale istantanea. L’istantanea è un’immagine “congelata” del file system originale. Una volta smontata l’istantanea, i suoi contenuti vanno perduti. Quali limitazioni presentano le istantanee? È possibile esaurire lo spazio su un dispositivo di istantanea. Ciò potrebbe accadere perché il dispositivo è troppo piccolo, perché il file system primario è troppo volatile o perché l’istantanea resta montata troppo a lungo. Quando il dispositivo di un’istantanea si riempie, la kernel non ha altro luogo in cui copiare i blocchi dal file system primario. In una situazione simile, la kernel non può conservare una visualizzazione stabile del file system, pertanto rende inaccessibile l’istantanea. Di solito, l’amministratore di sistema creerà una nuova istantanea dopo aver eliminato il problema (ad esempio, usando un dispositivo di istantanea di maggiori dimensioni, o scegliendo un’ora in cui il file system primario sia meno volatile). In che modo un backup di OnLineJFS è diverso da un backup standard? Un backup di OnLineJFS implica l’uso di un’istantanea del file system, invece che il file system stesso. È possibile reperire informazioni esplicite sulle modalità di realizzazione di un backup in linea in “Backup di un’istantanea JFS del file system”. Ai fini dei backup in linea, quali sono i vantaggi e quali gli svantaggi delle istantanee in confronto all’uso della utility lvsplit di LVM? Questa domanda presume che si sia installato sia HP MirrorDisk/UX sia HP OnLineJFS.
Vantaggi dell’istantanea JFS:
JFS ha un’interfaccia con un file system di istantanea? La utility fscat fornisce un’interfaccia con un file system di istantanea di JFS, simile quella fornita dalla utility dd richiamata sul file speciale di altri file system JFS. Sulla maggior parte dei file system JFS, il blocco o file speciale di caratteri per il file system fornisce l’accesso ad un’immagine grezza del file system per scopi tipo l’esecuzione del backup del file system su nastro. La utility fscat illustra l’istantanea come flusso di byte che è possibile elaborare in un pipeline o scrivere su nastro. Per ulteriori informazioni, consultare fscat_vxfs(1M). Di quali considerazioni sulle dimensioni deve essere al corrente un amministratore quando configura un file system JFS?
Inoltre, JFS ed HFS hanno gli stessi limiti per le dimensioni dei file e del file system:
Cosa fornisce JFS per garantire buone prestazioni? In generale, un file system JFS ha prestazioni migliori di un file system HFS, in ragione del suo uso di grandi estensioni, uso dello spazio del file system ottimizzato, grande lettura in anticipo e file contigui. Tuttavia, il risultato naturale del file system è la frammentazione dei suoi blocchi. HP OnLineJFS ha un efficiente mezzo di deframmentare lo spazio del file system, per ripristinare le prestazioni del file system. È possibile deframmentare un file system JFS usando SAM o direttamente dalla riga di comando usando il comando fsadm. È possibile realizzare due generi di directory di deframmentazione e frammentazione di estensione. Con quale frequenza occorre deframmentare (riorganizzare) un file system JFS? Per le prestazioni ottimali, l’allocatore delle estensioni della kernel deve essere in grado di trovare grandi estensioni ogniqualvolta sia necessario. Per conservere i livelli di prestazioni del file system, occorre eseguire la utility fsadm periodicamente su tutti i file system J01FS, per ridurre la frammentazione. La frequenza dipende dall’uso del file system, dagli schemi di attività e dall’importanza delle prestazioni, per cui potrebbe voler dire quotidianamente o mensilmente. Tuttavia, per conservare le prestazioni ottimali su file system occupati, occorre deframmentarli nottetempo. Come si deframmenta un file system JFS?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||