Salta l'introduzione Italia - Italiano
HP.com Italia Prodotti e Servizi Supporto e Drivers Soluzioni Come Acquistare
» Contatta HP
Altre opzioni
HP.com Italia
Gestione di sistemi e gruppi di lavoro: Guida per gli amministratori di sistema HP-UX > Capitolo 2 Pianificazione di un gruppo di lavoro

Pianificazione della gestione dei file system

» 

Documentazione tecnica

Libro completo in PDF
» Feedback
Inizio contenuto

 » Sommario

 » Indice

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”.

Introduzione alla 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:

  • È stato appena aggiunto un nuovo disco o volume logico non LVM.

  • Ci si preoccupa della possibilità di esaurire lo spazio su disco per i file dei propri utenti (o si è davvero esaurito lo spazio su disco).

  • Si desidera separare fisicamente parti di un file system, per limitare la crescita dei file entro una parte del file system oppure per aumentare la velocità di accesso in modo da avere prestazioni migliori. Ad esempio, si potrebbe voler mantenere il file system di root quanto più piccolo possibile per motivi di prestazioni e di sicurezza. Oppure, si potrebbe volersi preoccupare di un gruppo distinto di utenti e delle loro necessità, o separare determinati dati con caratteristiche distinte.

  • Si desidera sostituire un file system di dimensioni maggiori entro un disco o volume logico non LVM con uno di dimensioni inferiori. Ciò potrebbe richiedere la creazione di un nuovo file system entro un disco o volume logico non LVM.

    Per le informazioni procedurali, andare a “Creazione di un file system”.

Tabella 2-3 Limiti del file system delle release HP-UX

10.20

11.00

11i versione 1

11i versione 2

Dimensioni del file system

128 GB

1 TB

2 TB[1]

4 TB[2]

Dimensioni del file

128 GB locale, 2 GB rete

1 TB

2 TB[1]2 TB[2]

RAM fisica

3.75 GB

4 TB

256 GB[3]
448 GB[4]
1 TB[5]

Memoria condivisa

2.75 GB

8 TB

8 TB261 x 3 Byte

Spazio dati di elaborazione

1.9 GB

4 TB

4 TB262 Byte

Numero di descrittori dei file

60 K

60 K

60K400 K

Numero di ID utente

~2.000 K

~2.000 K

~2.000 K

~2.000 K

[1] Usando JFS (la versione di default è 3.3)

[2] Usando JFS (la versione di default è 3.5), la limitazione di LVM è 2 TB

[3] Su un Superdome che usa DIMMS da 512 MB

[4] Su un Superdome che usa DIMMS da 1 GB

[5] HP-UX supporta 1 TB - le capacità di memoria variano a seconda del tipo di macchina

 

Determinazione di quale tipo di file system usare

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

Tipo di file system

Quando occorre usarlo?

Informazioni aggiuntive

JFS (Journaled File System)

Installato di default per HP-UX 11.0. Consigliato per scopi generali.

Implementazione HP-UX di un journaled file system (JFS). Fornisce un recupero del file system rapido e la capacità di realizzare una varietà di procedure amministrative in linea.

HFS (High Performance File System)

Quando occorra la compatibilità con release precedenti di HP-UX.

Rappresenta l’implementazione HP-UX standard dello UNIX File System (UFS).

NFS (Network File System)

Usare NFS per montare le directory da sistemi remoti.

NFS consente a molti sistemi di condividere gli stessi file usando un approccio client/server. Dato che le tecniche di accesso sono trasparenti, l’accesso dei file remoti appare simile all’accesso dei file locali.

CDFS (CD-ROM File System)

Usare CDFS per montare un CD-ROM contenente un file system.

CDFS è un file system di sola lettura; non è possibile scrivere su un CDFS.

LOFS (Loopback File System)

Usare LOFS per montare una directory esistente su un’altra directory.

Consente alla stessa gerarchia di file di comparire in posti multipli, il che è utile per la creazione di copie di ambienti di costruzione e sviluppo.

 

È consentito avere un misto di JFS ed altri file system su un unico sistema di computer.

NOTA: Le liste di controllo dell’accesso sono supportate in JFS ad iniziare da JFS 3.3, che è incluso con HP-UX 11i. È possibile ottenere JFS per HP-UX 11.00 dal Software Depot HP, http://software.hp.com.

Per vedere se JFS è installato su un sistema HP-UX 11.00, eseguire

swlist -l fileset JFS

Se JFS è installato, l’output includerà una lista dei set di file di JFS. Nel caso in cui si ottenga un messaggio di errore, significa che JFS non è installato.

Wrapper del file system

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:

  • vxfs per JFS (VxFS)

  • hfs per HFS

  • nfs per NFS

  • cdfs per CDFS

  • lofs per LOFS

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”.

Journaled File System, il default del file system

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:

NOTA: Per informazioni aggiuntive sulle funzionalità di JFS, consultare Disk and File Management Tasks on HP-UX, pubblicato da Prentice Hall. Consultare anche la documentazione HP JFS, la HP OnLineJFS e VERITAS File System disponibile alla pagina http://docs.hp.com.

http://docs.hp.com/hpux/os/11i/index.html#VERITAS%20Volume%20Manager%20and%20File%20System

FAQ sul Journaled File System

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:

  • HP-UX 10.01 ha introdotto una parte iniziale di JFS, basata su VERITAS Versione 2 VxFS, per file system che era possibile montare (ma non di root). Fino ad allora, HFS (high-performance file system) era il solo file system di lettura/scrittura montato a livello locale.

  • A partire da 10.20, HP-UX ha concesso JFS come file system di root locale nell’ambito di un volume logico, sebbene non su un disco intero non partizionato. L’implementazione 10.20 di JFS è VERITAS Versione 3, che supporta dimensioni file superiori a 2 GB così come numero di identificazione utente (UID) di grandi dimensioni. Per informazioni per convertire un file system Versione 2 alla Versione 3, consultare vxupgrade(1M). Non si è limitati ad usare soltanto un’unica versione sul proprio sistema; tuttavia, non è possibile montare la Versione 3 su un sistema 10.01.

  • A partire da 10.30, JFS è diventato il file system di default per i server ad accensione immediata ed installazione a freddo.

  • Tra le altre caratteristiche, HP-UX 11i versione 1 include JFS 3.3 o 3.5, che supporta le Liste di controllo dell’accesso (Access Control Lists - ACL) ed il layout disco Versione 4. HP-UX 11.00 include JFS 3.1, ma JFS 3.3 è disponibile per HP-UX 11.00 dal Software Depot HP, http://software.hp.com.

JFS ed altri file system

Come si confronta il journaled file system (JFS) a HFS?

JFS migliora l’High-Performance file system (HFS) nei seguenti modi:

  • tempo di recupero più rapido rispetto ad HFS fsck, usando un log di intenti

  • più robusto di HFS, perché JFS contiene più codici di annullamento panico

  • migliori prestazioni in molte circostanze, dovute all’uso di estensioni

  • amministrazione in linea, incluso il backup, il ridimensionamento e la deframmentazione, usando il pacchetto opzionale HP OnLineJFS

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:

  • Il comando mkfs -F vxfs per creare un file system JFS (consultare mkfs_vxfs(1M)).

  • Qualsiasi utility di backup per realizzare un backup di un file system JFS tranne fbackup (perché non supporta i file system a sola lettura) o dump.

  • fsadm per visualizzare la frammentazione, riorganizzare e ridimensionare i file system JFS. (fsadm(1M) è disponibile con HP OnLineJFS (anche noto come Advanced VxFS).

JFS e le operazioni interne

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.

  • Se riesce nell’operazione, il suo numero di blocco di partenza resta lo stesso, ma il suo conteggio di blocco viene aumentato.

  • Se invece fallisce, una nuova estensione viene allocata con un numero di blocco diverso ed aggiunta al file.

NOTA: Le estensioni di JFS non sono correlate alle estensioni fisiche o logiche di LVM. Le estensioni fisiche di LVM sono anche blocchi contigui del volume fisico (disco), 4 MB di dimensioni di default, ma le cui dimensioni sono fisse. Per informazioni sulle estensioni di LVM, consultare “Come funziona LVM”.

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)).

NOTA: Un server NFS scrive sincronicamente, pertanto potrebbe avere un senso aumentare le dimensioni del log degli intenti (opzione newfs) su un file system esportato su NFS.

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 è:

  • superiore o uguale ad 8 MB, il default è di 1024 blocchi

  • superiore o uguale a 2 MB, il default è di 128 blocchi

  • inferiore a 2 MB, il default è di 32 blocchi

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).

JFS ed il comando mount

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.

log 

Registrazione completa (default). Le modifiche strutturali del file system sono registrate sul disco prima che la chiamata del sistema torni all’applicazione. Se il sistema subisce un crash, fsck porterà a termine le operazioni registrate non ancora completate.

delaylog 

Registrazione ritardata. Alcune chiamate del sistema tornano prima che il log degli intenti sia scritto. Ciò aumenta le prestazioni del sistema, ma alcune modifiche non sono assicurate fino a poco tempo dopo l’avvenuta scrittura del log degli intenti. Questo modo si avvicina alle garanzie UNIX tradizionali per la correttezza in caso di guasto del sistema.

tmplog 

Registrazione temporanea. Il log degli intenti è quasi sempre ritardato. Ciò migliora le prestazioni, ma le modifiche recenti potrebbero scomparire in caso di crash del sistema. Questo modo è consigliato soltanto per i file system temporanei.

nolog 

Nessuna registrazione. Il log degli intenti è disabilitato. Gli altri tre modi di registrazione forniscono il recupero rapido del file system; nolog non fornisce il recupero rapido del file system. Con il modo nolog, occorre realizzare una verifica strutturale completa dopo un crash; ciò potrebbe provocare una perdita di parti sostanziali del file system, a seconda dell’attività che si stava realizzando al momento del crash. Di solito, dopo un crash occorre ricostruire un file system nolog con mkfs. Il modo nolog deve essere usato esclusivamente per file system residenti in memoria o molto temporanei (consultare mkfs_vxfs(1M)).

Quali sono le opzioni di scrittura disponibili usando JFS?

JFS fornisce varie opzioni per controllare le modalità di scrittura dei dati utenti sul disco.

sync 

Scritture sincrone. Scrive il blocco fino a che i dati specificati nella richiesta di scrittura e tutti gli attributi del file richiesti per recuperare i dati non siano scritti sul disco.

dsync 

Scritture sincrone dei dati. Un’operazione di scrittura torna al chiamante dopo che i dati sono stati trasferiti al supporto esterno. Tuttavia, se nell’inodo deve essere aggiornato soltanto il tempo, l’inodo non viene aggiornato sincronicamente.

closesync 

Scritture alla chiusura sync. Il modo I/O alla chiusura sync provoca il ritardo delle scritture invece del loro effetto immediato e provoca l’esecuzione dell’equivalente di un fsync(2) alla chiusura di un file.

delay 

Scritture ritardate. Provoca il ritardo delle scritture invece che il loro effetto immediate. Alla chiusura di un file non si effettua alcuna azione particolare.

Inoltre, l’amministratore di sistema può controllare il modo in cui le scritture sono gestite, con e senza O_SYNC.

  • l’opzione di mount mincache stabilisce le modalità di trattamento delle scritture ordinarie.

  • l’opzione di mount convosync stabilisce le modalità di trattamento delle scritture sincrone

Date tutte le molteplici opzioni di JFS, quali sono alcune delle combinazioni utili di registrazione e memorizzazione nella cache?

mount -o log,mincache=dsync

  • fornisce integrità completa per i metadati ed i dati utente

  • registra immediatamente tutte le transazioni

  • tratta tutte le scritture come sincrone

mount -o log

  • fornisce integrità completa per i metadati

  • registra immediatamente tutte le transazioni

  • per le scritture vale la normale semantica UNIX

    • Svuotate periodicamente dal daemon syncer(1M).

    • È possible svuotarle in modo esplicito mediante sync(1M)

mount -o delaylog

  • fornisce integrità completa per i metadati critici

  • registra immediatamente le modifiche dei metadati critici

  • ritarda la registrazione delle modifiche dei metadati non critici

    • Operazione più comune: aggiornamento dell’ora dell’accesso o di modifica del file

  • per le scritture vale la normale semantica UNIX

mount -o nolog,convosync=delay

  • fornisce le prestazioni massime, ma la protezione minima

  • non registra alcuna transazione

  • tratta tutte le scritture come ritardate (anche se l’applicazione ha richiesto esplicitamente I/O sincrono)

  • riesecuzione della registrazione impossibile

    • dopo un crash, potrebbe essere necessario dover ricostruire il file system

ATTENZIONE: mount -o nolog,convosync=delay è utile soltanto per file system temporanei. L’opzione convosync=delay fa in modo che JFS modifichi tutte le scritture O_SYNC in scritture ritardate, annullando tutte le garanzie di integrità dei dati di solito fornite aprendo un file con O_SYNC.

Funzionalità di HP OnLineJFS

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:

  • ridimensionamento

  • riorganizzazione dei suoi file per renderli contigui

  • riorganizzazione delle directory per recuperare spazio inutilizzato

  • realizzazione di un’istantanea di un file system montato a scopo di backup

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.

  • Il dispositivo contenente un’istantanea contiene soltanto i blocchi che sono cambiati sul file system primario dal momento in cui l’istantanea è stata creata.

  • I restanti blocchi, che non sono cambiati, possono essere reperiti sul dispositivo contenente il file system primario. Pertanto, non occorre realizzare una copia.

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’uso di lvsplit:

  • È possibile realizzare il backup usando un gruppo di volumi di sola lettura.

  • È possibile usare fbackup, che non è supportato per i file system dell’istantanea di JFS.

  • lvsplit funziona in modo atomico su vari volumi logici contemporaneamente; al contrario, non è possibile realizzare un’istantanea di più di un file system per volta.

  • In caso di guasto di un disco, il mirroring fornisce maggior protezione (tuttavia, è possibile realizzare un’istantanea di un volume del quale sia stata eseguita una copia speculare; non occorre realizzare la copia speculare dell’istantanea stessa).

  • lvsplit potrebbe fornire prestazioni migliori, dal momento che i blocchi in scrittura sono copiati sul volume dell’istantanea, aumentando quindi l’I/O del disco. Tuttavia, lvmerge aumenterà anche l’I/O del disco ed occorrerà anche un fsck.

Vantaggi dell’istantanea JFS:

  • Le istantanee richiedono meno spazio su disco di quanto non ne richiedano le immagini copiate specularmente del file system.

  • Le istantanee non richiedono un fsck, che è necessario dopo avere eseguito un lvsplit.

  • Le istantanee sono una procedura sicura a prova d’errore: eseguendo lvmerge con una sequenza di argomenti errata è possibile distruggere i blocchi del disco creati dopo lvsplit.

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?

Dimensioni del blocco
  

Le dimensioni del blocco consigliate per i file system JFS sono di 1K. Dal momento che JFS usa le estensioni, non occorre aumentarle. Tuttavia, nel caso in cui si decida di modificare le dimensioni del blocco, occorre ricreare il file system. Usare mkfs -F vxfs -o bsize=n, dove n sono le dimensioni del blocco espresse in byte e rappresenta la quantità di spazio su disco più piccola che sarà allocata su un file. n deve essere una potenza di 2 scelta in un intervallo compreso da 1024 a 8192; il default è 1024 byte.

Spazio su disco 

Il solo spazio su disco aggiuntivo usato da JFS oltre a quello usato da HFS è quello destinato al log degli intenti. La sua media è di 1 MB e non può essere maggiore di 2048 blocchi.

Dimensioni del volume logico
  

Le dimensioni massime consentite per un volume logico in JFS sono di 4 GB.

Inodi 

JFS alloca gli inodi dinamicamente, senza limitazione interna sul numero possibile, in quanto l’unica limitazione è rappresentata dallo spazio su disco. Un inodo di JFS occupa fino a 256 byte (la creazione degli inodi di JFS è diversa da HFS, che ha mkfs che alloca un numero fisso di inodi in anticipo).

Inoltre, JFS ed HFS hanno gli stessi limiti per le dimensioni dei file e del file system:

  • Le dimensioni del file massime sono di 2 GB per le release di HP-UX precedenti alla 10.20, di 128 GB per HP-UX 10.20, o di 1TB per HP-UX 11.x e successive.

  • Le dimensioni del file massime sono di 4 GB per le release di HP-UX precedenti alla 10.20, di 128 GB per HP-UX 10.20, o di 1TB per HP-UX 11.x e successive.

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?

  • Su un file system JFS Basic, occorre realizzare le stesse procedure usate per il file system HFS. eseguire il backup del file system, quindi ripristinarlo.

    Per le procedure e la logistica di backup, consultare “Effettuazione del backup dei dati”.

  • Se si ha il prodotto opzionale HP OnLineJFS, è possibile deframmentare (riorganizzare) un file system JFS usando SAM o la utility fsadm.

    Per la procedura, consultare “Deframmentazione di un file system JFS”.

Versione stampabile
Informativa sulla privacy Usando questo sito si accettano le sue condizioni
© 1997-2006 Hewlett-Packard Development Company, L.P.