Sistemi di File Unix: UFS1 e UFS2

Sistemi di File Unix: UFS1 e UFS2

Contenuti

  1. Cos'è il file system UFS?
  2. Struttura del file system UFS1 e UFS2
  3. Dove vengono utilizzati i file system UFS1 e UFS2?
  4. La differenza tra UFS, UFS2 ed EXT4
  5. Come posso visualizzare i file su un'unità UFS1 su un'unità UFS2 in OS Windows e, se necessario, copiarli sull'altro disco locale?

Cos’è il file system UFS?

Il file system UFS (Unix File System) è stato originariamente progettato specificamente per l’uso nella famiglia di sistemi operativi BSD. Oggi, viene utilizzato in una forma più raffinata nei sistemi operativi di tipo Unix (come Linux e Solaris), che supportano questo file system a livello di kernel. Il supporto per UFS è anche implementato in Mac OS X, ma non è nativo di questo sistema operativo.

In una fase iniziale di sviluppo, il file system UFS era chiamato FS. Era abbastanza semplice e conteneva solo dati come superblock, boot block, data block e descrittori di indice (noti anche come inode). FS era adatto ai dischi rigidi di piccole dimensioni che dominavano il mercato dell’epoca. Ma col passare del tempo, la capacità di archiviazione è aumentata e è diventato gradualmente chiaro che il file system FS non era in grado di fornire le prestazioni necessarie. Ciò ha portato allo sviluppo ulteriore di FS. Gli sviluppatori hanno aggiunto gruppi di cilindri. Ogni gruppo aveva i suoi descrittori di indice per evitare l’accumulo di “spazzatura” nel file system e il file system stesso ha cambiato il suo nome da “FS” a “FFS (Fast File System)”.

Lo scopo principale di FFS era di consolidare tutti i contenuti di una directory (dati e metadati) in un unico gruppo di cilindri. Ciò avrebbe notevolmente ridotto il livello di frammentazione che si verificava a causa della diffusa dispersione dei dati sulla superficie del disco. Tuttavia, a causa dell’aumento rapido delle dimensioni del disco e delle dimensioni dei file memorizzati su di essi, questa soluzione non era più efficace poiché la dimensione del blocco era aumentata per mantenere le prestazioni al livello adeguato. Di conseguenza, la memorizzazione di un gran numero di piccoli file occupava molto spazio.

Ciò ha costretto nuovamente gli sviluppatori a sviluppare il file system e sulla base di FFS è stato creato il file system rivisto “UFS1“, e successivamente la sua versione rivista – “UFS2“, la creazione del quale ha permesso di fornire affidabilità e velocità grazie alla divisione dei blocchi in frammenti, che vengono utilizzati per memorizzare gli ultimi byte del file (in precedenza per questo veniva allocato un intero blocco) e alcune nuove tecnologie.

In effetti, “UFS1” e “UFS2” sono due strati aggiuntivi: lo strato superiore, che fornisce la struttura della directory e supporta i metadati nel descrittore della struttura dell’indice, e gli strati inferiori, che consentono di rappresentare i dati del contenitore come descrittori di indice. Ciò è stato fatto per supportare sia FFS tradizionale che LFS.

La struttura del file system UFS è dettagliata nel paragrafo successivo di questo articolo.

Struttura del file system UFS1 e UFS2

La struttura dei file system UFS1 e UFS2 è la seguente: prima viene il blocco di avvio, seguito dal superblocco. La tabella degli indici descrittivi (tabella inode) viene posizionata successivamente, seguita dai cataloghi. In alcuni sistemi operativi (ad esempio Solaris), il file system memorizza le liste di controllo degli accessi (ACL) per fornire descrittori di indici ombra (inode ombra). Questo è approssimativamente ciò che appare una partizione FreeBSD quando viene utilizzato il file system UFS:

File system UFS1 e UFS2

Tutto lo spazio su disco è diviso in gruppi di cilindri, e ogni gruppo memorizza le seguenti informazioni:

  • Blocco di avvio – progettato per memorizzare i dati necessari per avviare il sistema operativo. Se fosse mancante, il sistema operativo non sarebbe in grado di avviarsi. Il blocco di avvio appare solo nel gruppo di cilindri zero e occupa i primi 8 Kbyte della parte del disco. Se il file system non viene utilizzato durante l’avvio del sistema, rimane vuoto;
  • Superblocco – questa sezione del file system contiene la sua descrizione, nonché informazioni sulla sua configurazione;
  • Descrizioni dei gruppi di “cilindri” (riassunto CG). I cilindri sono un’area separata dal resto, che contiene alcuni file nidificati. Di conseguenza, un gruppo di cilindri contiene diversi cilindri del disco.
  • Mappa degli inode liberi – dati sugli inode liberi e informazioni di riepilogo sull’utilizzo degli inode nel gruppo;
  • Mappa dei blocchi liberi – dati sui blocchi liberi e informazioni di riepilogo sull’utilizzo dei blocchi del disco nel gruppo;
  • Array di inode – l’inode contiene tutte le informazioni sul file tranne il suo nome, come la dimensione del file, la data e l’ora di creazione, l’ultima modifica e l’ultima lettura del file. Ogni file ha il proprio inode;
  • Backup del superblocco;
  • Un certo numero di blocchi dati in cui sono memorizzati i dati del file;

Per migliorare le prestazioni del sistema operativo, UFS utilizza alcune soluzioni aggiuntive. Ad esempio:

  • blocchi dati più grandi per aumentare la larghezza di banda e quindi le prestazioni;
  • creazione di duplicati del superblocco – questa soluzione consente il ripristino del disco quando necessario;
  • supporto alla frammentazione dei blocchi in 2, 4 o 8 frammenti per una migliore performance con file di piccole dimensioni;
  • assegnazione di ogni nuova directory a un gruppo di cilindri separato per distribuire uniformemente le informazioni sul disco;
  • ottimizzazione dell’accesso fisico per una migliore performance di lettura;

Altre caratteristiche del file system UFS sono i “flag di stato“. Sono progettati per indicare lo stato del file system. Sono disponibili quattro stati: pulito, stabile, attivo o sconosciuto. Evitano controlli inutili del file system. Se tutto è a posto e lo stato viene visualizzato come “pulito” – l’utilità di controllo non viene eseguita durante il caricamento del sistema operativo;

Vale anche la pena notare che il numero di inode in UFS è fisso e non è possibile aggiungerli dinamicamente (come nel file system XFS). È un’altra ragione per cui il file system UFS è più adatto per i file di grandi dimensioni che per i file di piccole dimensioni, poiché se tutti gli inode liberi si esauriscono, l’utente deve ricreare il file system sul disco, e quando si parla di terabyte di dati, è un processo abbastanza lungo.

Dove vengono utilizzati i file system UFS1 e UFS2?

Grazie alle prestazioni veloci con file di grandi dimensioni, il file system UFS (Unix File System) è il più comunemente utilizzato sui server. Questo è particolarmente vero per i server che memorizzano dati video, poiché i file video occupano di solito la maggior parte della memoria. Quindi, maggiore è la velocità di upload del server, migliore è la performance del servizio video in generale. Inoltre, molti amministratori di server preferiscono utilizzare UFS per i suoi estesi timestamp.

UFS esiste in diverse varianti e può essere installato su molti tipi di sistemi UNIX, tra cui FreeBSD, HP-UX, NetBSD, OpenBSD, Apple OS X e Sun Solaris. Molti sistemi operativi hanno modificato una o più strutture dati nel corso degli anni per soddisfare le loro esigenze, ma tutti condividono gli stessi concetti. Ad esempio, Solaris ha aggiunto add-on proprietari che modificano il file system in modo tale che altri sistemi operativi potrebbero non riconoscere il file system. Allo stesso tempo, molte delle suddette aziende continuano a utilizzare la larghezza e la dimensione originale del blocco dati. Grazie a questo, è stata preservata una certa compatibilità tra le piattaforme. Tuttavia, prima di utilizzarlo su più piattaforme, è consigliabile approfondire la compatibilità per evitare il blocco del sistema operativo e la possibile perdita di dati futura.

Il sistema operativo FreeBSD si basa interamente su FFS e UFS. Ciò è stato fatto per supportare l’evoluzione dello standard UFS2 che aggiunge un blocco di puntatori a 64 bit, consentendo così al sistema operativo di gestire fino a 8 zettabyte (8 milioni di miliardi di gigabyte) di archiviazione.

I file system UFS1 e UFS2 sono molto comunemente utilizzati in varie distribuzioni Linux, ma vale la pena notare che il kernel Linux supporta questo file system solo a livello di lettura. Per far funzionare completamente UFS1 e UFS2, saranno necessari pacchetti software aggiuntivi.

Vale anche la pena notare che con utilità aggiuntive è possibile fornire il journaling e ottenere così un file system journalable che può lavorare rapidamente con file di dimensioni enormi.

Le console di gioco Sony PlayStation 2 e Sony PlayStation 3 utilizzano le loro modifiche di UFS1 e UFS2, rispettivamente. Il motivo è che per la rapida performance della console, gli sviluppatori avevano bisogno di un file system che potesse fornire il livello appropriato di prestazioni della console quando si lavora con grandi immagini di giochi installati.

Tra le altre cose, non si può non menzionare il fatto che il file system ext4 si basa su UFS. Leggi come ext4 differisce da UFS nel paragrafo successivo di questo articolo.

La differenza tra UFS, UFS2 ed EXT4

UFS1 e UFS2 sono molto simili. Entrambi hanno la stessa struttura e portata. Tuttavia, poiché UFS2 è una versione rielaborata di UFS1, la differenza tra i due risiede nella funzionalità.

La principale differenza tra UFS2 e UFS1 è che UFS2 è a 64 bit e può lavorare con volumi di disco superiori a un terabyte. Si noti che la lunghezza dell’ingresso della tabella degli inode in UFS2 è raddoppiata a 256 byte.

Inoltre, UFS2 include il supporto per gli attributi estesi dei file, come le ACL. È essenziale per gli amministratori di rete. La cosa che l’utente medio noterà è che la creazione di un nuovo file system è più veloce (soprattutto su dischi molto grandi).

In generale, dal punto di vista dell’utente, non c’è differenza tra UFS e UFS2. In pratica, tuttavia, è meglio utilizzare UFS2 perché è più recente e ha più funzionalità.

Come già accennato, il file system ext4 (come ext2 ed ext3) si basa su UFS, quindi sono simili. Ad esempio, i blocchi di dati in ext4 sono combinati in gruppi, che assomigliano molto ai gruppi di cilindri in UFS. Inoltre, ext4 utilizza gli inode e i superblock allo stesso modo di UFS.

Allo stesso tempo, ext4 ha alcune differenze rispetto a UFS. Ad esempio, ha il supporto per gli “extent“, che consentono di indirizzare un gran numero (fino a 128 MB) di blocchi consecutivi con un singolo descrittore. Fino a 4 puntatori agli extent possono essere posizionati direttamente nell’inode, il che è sufficiente per i file di piccole e medie dimensioni. Questa soluzione consente di aumentare la velocità di lettura/scrittura dei dati. UFS utilizza il principio di allocazione dello spazio fisico per aumentare la velocità di lettura dei dati. Ciò significa che mentre la testina del disco rigido sta leggendo le informazioni, c’è un ritardo tra la fine della lettura di un blocco e l’inizio della lettura del blocco successivo. Durante questo tempo, il disco magnetico ha il tempo di ruotare di diversi gradi e se ci sono file sul disco uno dopo l’altro, il disco deve completare una rotazione completa per consentire alla testina di iniziare a leggere il blocco successivo, e questo richiede un certo tempo. Il file system UFS tiene conto di questo e distribuisce i file nello spazio del disco in modo da minimizzare il ritardo nel passaggio da un blocco dati al successivo. Tuttavia, la pratica dimostra che gli extent sono più efficienti. Inoltre, quando si lavora con file di piccole dimensioni, UFS perde molto in prestazioni rispetto ad ext4.

L’altra differenza tra i file system ext4 e UFS è la profondità dei bit. Ext4 utilizza numeri di blocco a 48 bit, mentre UFS utilizza numeri di blocco a 64 bit. In pratica, ciò significa che la dimensione massima di un file system ext4 è di 1 exabyte, mentre UFS 2 ha una dimensione massima di 8 zettabyte. Ecco perché quando si lavora con enormi quantità di dati (hosting video, ecc.), la scelta ricade su UFS2.

Il file system ext4 supporta il journaling di serie, mentre UFS richiede software aggiuntivo.

In sintesi, ext4 ha buone possibilità di sostituire UFS2 in futuro, ma deve ancora evolversi (ad esempio, aggiungere numeri di blocco a 64 bit). Inoltre, ext4 non ha la verifica del checksum per i dati, il che rende impossibile rilevare la corruzione dei dati dovuta a guasti hardware.

Come posso visualizzare i file su un’unità UFS1 su un’unità UFS2 in OS Windows e, se necessario, copiarli sull’altro disco locale?

Nonostante tutti i vantaggi dei file system UFS1 e UFS2, vengono utilizzati principalmente nei sistemi operativi di tipo UNIX. Ad esempio, gli utenti di Linux spesso installano UFS2 su hard disk esterni ad alta capacità dove memorizzano film e altri dati. Tuttavia, la pratica dimostra che il 97% degli utenti di PC e laptop utilizza Windows come sistema operativo principale, il quale non supporta il file system UFS. Quindi, come si può aprire un’unità formattata in UFS su un sistema Windows?

Per aprire una chiavetta USB o un hard disk esterno formattato con FreeBSD, HP-UX, NetBSD, OpenBSD o Sun Solaris non è necessario installare driver o utilizzare una macchina virtuale per installare il secondo sistema.

La soluzione migliore è utilizzare il programma RS Linux Recovery. È molto facile da usare e non richiede molte risorse del computer. Inoltre, ha un’interfaccia intuitiva. Pertanto, puoi essere sicuro di aprire la tua unità UFS, indipendentemente dal tuo livello di competenza informatica.

Lo stesso metodo può essere utilizzato se hai eliminato accidentalmente un file importante o formattato il tuo disco UFS seguendo la raccomandazione di Windows Explorer.

Quindi, per aprire la tua unità UFS, segui alcuni semplici passaggi:

Passaggio 1: Scarica e installa RS Linux Recovery seguendo i consigli della procedura di installazione. Quindi avvia il programma.

Passaggio 2: Ti verrà presentata la procedura guidata di ripristino file. Fai clic su “Avanti“. Il programma ti chiederà di scansionare la tua unità UFS per i file. RS Linux Recovery offre due tipi di scansioni: una scansione rapida e una scansione completa. La prima opzione è utile se vuoi solo guardare i dati sull’unità e copiarli su un altro disco locale. La seconda opzione è utile se hai perso informazioni importanti e vuoi recuperarle.

Anche in questa fase, vale la pena selezionare il tipo di file system dell’unità. RS Linux Recovery supporta TUTTI i file system utilizzati in Linux. Fai clic su “Avanti“.

UFS1 and UFS2 file systems

L’analisi dell’unità inizierà e richiederà alcuni minuti.

UFS1 and UFS2 file systems

Passaggio 3: Una volta completata l’analisi, RS Linux Recovery mostrerà TUTTI i file sulla tua unità UFS (inclusi quelli eliminati e recuperabili). Puoi sfogliare i file che desideri. Una rapida anteprima sarà disponibile anche sul lato destro. Se vuoi copiare un file su un disco diverso del tuo computer o recuperare un file perso, fai clic con il pulsante destro del mouse su di esso. Quindi scegli “Ripristino“.

UFS1 and UFS2 file systems

Passaggio 4: Scegli dove vuoi copiare o ripristinare il file desiderato. Può essere un hard disk, un archivio ZIP o un server FTP. Quindi fai clic su “Avanti“. Il processo di copia/ripristino inizierà. Di solito richiede alcuni minuti, a seconda della dimensione.

UFS1 and UFS2 file systems

Vale anche la pena notare che puoi utilizzare questo metodo per visualizzare i dati su unità con il file system ext2,3,4, XFS, ReiserFS e altri moderni file system.

Domande frequenti

UFS2 è una versione rielaborata a 64 bit di UFS1. Inoltre, presenta alcune nuove funzionalità. È possibile trovare ulteriori dettagli sul nostro sito web.
Per copiare i file da un disco con sistema di file UFS2 su Windows, utilizzare il programma RS Linux Recovery. Il programma è facile da usare e non richiede driver aggiuntivi.
UFS (Unix File System) è un sistema di file utilizzato in molti sistemi operativi simili a Unix come Linux, FreeBSD, HP-UX, NetBSD, OpenBSD o Sun Solaris.
Solo a livello di lettura. Per fornire un supporto completo per il sistema di file UFS (1,2) sarebbe necessario utilizzare software aggiuntivo.
Tutto dipende dalle tue esigenze. Se lavori con file di grandi dimensioni, scegli UFS, se lavori con file di piccole dimensioni, scegli ext4, poiché è notevolmente più veloce di UFS per i file di piccole dimensioni.
lascia un commento

Articoli correlati

Il file system Btrfs
Il file system Btrfs
Il sistema operativo Linux supporta una vasta gamma di file system. In questo articolo, discuteremo i vantaggi e gli svantaggi nell’utilizzo del file system Btrfs.
Cos’è LVM e come funziona?
Cos’è LVM e come funziona?
Per aumentare il livello di sicurezza dei dati, gli sviluppatori implementano nuove tecnologie nei loro sistemi operativi. In questo articolo esamineremo LVM e risponderemo alle domande su cosa sia e quali siano i suoi principali vantaggi.
Confronto e differenze tra RAID LVM e mdadm
Confronto e differenze tra RAID LVM e mdadm
I moderni sistemi operativi hanno molte funzionalità per migliorare la sicurezza dei dati e l’usabilità. In questo articolo, confrontiamo RAID LVM e RAID mdadm – due tecnologie interessanti il cui scopo principale è mantenere il tuo server, computer o NAS … Continue reading
Come Creare il Tuo LiveCD
Come Creare il Tuo LiveCD
Per creare il tuo LiveCD, devi ottenere un’immagine di un ambiente software autonomo e scriverla su una chiavetta USB, o su un altro supporto rimovibile come un disco rigido esterno, o un disco ottico se il tuo computer dispone di … Continue reading
Online Chat with Recovery Software