Volume (informatica)
# Volume (informatica)

Volume è il termine con cui, in informatica, si descrive un'area di memorizzazione di dati con un singolo file system, tipicamente (ma non necessariamente) residente su una sola partizione di disco rigido. Similmente, il termine si riferisce all'interfaccia logica usata da un sistema operativo (oppure da un ambiente di ripristino quale, ad esempio, Windows RE) per accedere ai dati memorizzati su qualche apparato usando una singola istanza di file system.

Il termine volume viene usato talvolta in alternativa al termine drive (unità) qualora sia desiderabile indicare che l'entità in oggetto non è un disco fisico, ma piuttosto un aggregato di dati memorizzati usando un solo file system. Volume dovrebbe essere sinonimo di drive logico, ma non di partizione.

Nei sistemi operativi simili a Unix, i volumi sono solitamente gestiti dal gestore logico dei volumi (LVM) o dal EVMS e modificati usando il comando mount(8). Il termine è anche usato nelle versioni di Microsoft Windows basate su Windows NT dove sono gestite dal kernel usando la Console di controllo di Windows.

## Differenza tra volume e partizione

Volume non è sinonimo di partizione. Ad esempio, un floppy disk potrebbe essere accessibile come volume anche senza contenere nessuna partizione, dato che i floppy disk non possono essere partizionati con la maggior parte dei computer moderni. Inoltre un sistema operativo può riconoscere una partizione senza associarvi nessun volume, se non riesce a riconoscere il file system memorizzato su tale partizione. Questa situazione si verifica, ad esempio sui sistemi Windows con la maggior parte dei file system non Microsoft come ad esempio ext3 che è solitamente usato dai sistemi Linux o HFS Plus usato da macOS. Un altro esempio è quello che si verifica nel mondo Intel con la "partizione estesa" che, sebbene sia una partizione, non può contenere direttamente un file system. Al contrario devono essere creati al suo interno "drive logici" (volumi). Questo è anche il caso dei volumi di NetWare che risiedono all'interno di una singola partizione.

In breve:

* 1) i volumi esistono a livello logico di sistema operativo, le partizioni esistono a livello fisico di supporto; a volte vi è una corrispondenza uno a uno, ma in generale ciò non è garantito;
* 2) la partizione è ad un livello, genericamente parlando, inferiore (più vicino all'hardware) rispetto al volume (gerarchia: disco, partizione, volume);
* 3) nei sistemi Windows partizione e volume sono quasi sempre sinonimi cioè nel caso della partizione (volume) primaria; non è così quando una partizione estesa è stata poi suddivisa in N volumi semplici;
* 4) LVM (Logical Volume Manager) dei kernel Linux amplia notevolmente le combinazioni e la manutenzione, dato che fornisce un sistema di allocazione dinamica degli spazi (dischi, partizioni, volumi);
* 5) quando si utilizzano i sistemi di immagazzinamento RAID la gestione tra dischi fisici, dischi virtuali, partizioni e volumi (spesso, su dispositivi con sistemi operativi diversi-caso tipico dei server) è alquanto complessa ma è l'ideale per comprendere bene le differenze tra partizioni e volumi. La situazione tipica è che un volume è formato e distribuito tra N dischi (non partizioni) di un apparato di storage tipicamente interfacciato ad un sistema di tipo blade.

### Esempio

Questo esempio riguarda un sistema Windows XP con due dischi fissi fisici. Il primo ha due partizioni, mentre il secondo solo una. La prima partizione del primo hard disk contiene il sistema operativo. I punti di montaggio sono stati lasciati come da impostazioni predefinite.

| Disco fisico | Partizione | Filesystem | Lettera del drive |
| - | - | - | - |
| Disco fisso 1 | Partizione 1 | NTFS | C: |
| | Partizione 2 | FAT32 | D: |
| Disco fisso 2 | Partizione 1 | FAT32 | E: |

In questo esempio,

* "C:", "D:", ed "E:" sono volumi.
* Disco fisso 1 and Disco fisso 2 sono dischi fisici.
* Ciascuno di questi volumi può essere chiamato "drive".

## Nomenclatura dei volumi

I sistemi operativi, specie nel terminale comandi (prompt), utilizzano le seguenti diciture:

* 1) volume => significato della presente voce quindi non una partizione. In pratica il contenuto logico del volume identificato dalla sua etichetta e/o lettera di accesso;
* 2) unità => nel senso di partizione fisica (quindi non nel significato di periferica o dispositivo di memoria che è invece utilizzato in altri contesti); le unità possono appartenere a dispositivi di memorizzazione diverse.

Ad esempio, in Windows, questo è il significato che utilizza chkdsk o Windows backup.

### Sistemi operativi basati su Windows NT

È importante notare che i sistemi operativi basati su Windows NT non hanno un solo percorso radice (root path). Come risultato, Windows assegnerà almeno un percorso per ogni volume montato, che assumerà una delle seguenti forme:

* Una lettera del drive (unità), ovvero una singola lettera seguita dai due punti, come "F:"
* Un punto di montaggio su un volume NTFS avente una lettera di drive, come "C:\Musica""

In questi due esempi, un file chiamato "Traccia 1.mp3" posizionato nel percorso radice del volume montato si può riferire a "F:\Traccia 1.mp3" o a "C:\Musica\Traccia 1.mp3"

Per assegnare un punto di montaggio per un volume ad una cartella di un altro volume vanno seguiti i seguenti criteri:

* Il volume deve essere formattato in NTFS.
* Deve esistere una cartella nel percorso della radice.
* Quella cartella deve essere vuota.

Come impostazione predefinita Windows assegna le lettere a tutti i drive, secondo le regole seguenti:

* "A:" e "B:" ai drive per floppy disk, presenti o meno
* "C:" e lettere seguenti, a seconda delle necessità, a:
   * Dischi fissi
   * Dischi removibili, quali drive per CD e DVD

A causa di questa convenzione il volume contenente il sistema operativo è solitamente chiamato C:, ma in alcuni casi può non essere così.

Con Windows XP i punti di montaggio possono essere gestiti attraverso l'utility Gestione Disco (Disk Management) che è inserita in Gestione Computer all'interno dell'icona del Pannello di Controllo chiamata Strumenti di Amministrazione.

Ad un volume singolo si può riferire anche più di una lettera, come nel caso del comando SUBST.

Attenzione: rimuovere lettere o punti di montaggio per un drive può portare a crash di programmi, perché i file richiesti da questi ultimi non possono essere trovati tramite il percorso prestabilito. Per esempio, se un programma è installato in "D:\Programmi\Programma" potrebbe aspettarsi di trovare dei file in "D:\Programmi\Programma\Data". Se la lettera "D:" di quel volume nel frattempo è stata cambiata in "E:" il programma non sarà più in grado di trovare la cartella "D:\Programmi\Programma\Data", perché la lettera "D:" non rappresenta più quel volume.

### Sistemi operativi Unix-like

Nei sistemi operativi Unix-like, i volumi diversi da quello da cui avviene il boot hanno un punto di montaggio da qualche parte nel filesystem, rappresentato da un percorso. Logicamente l'albero delle cartelle memorizzate sul volume è legato al punto di montaggio. Convenzionalmente i punti di montaggio sono inseriti in cartelle chiamate '/mnt', '/media', o con un nome simile. Come in Windows, per usare un percorso come punto di montaggio per un altro volume, in questo percorso deve esistere una cartella vuota.

I sistemi operativi Unix-like usano il comando mount per manipolare i punti di montaggio del volume.

Per esempio, se un drive per CD-ROM contenente un file chiamato 'info.txt' è stato montato in '/mnt/iso9660', il file di testo sarà accessibile in '/mnt/iso9660/info.txt'.

## Benefici nel mantenere i file all'interno di un singolo volume

### Velocità di gestione dati

I file all'interno di un singolo volume possono solitamente essere spostati in qualsiasi altra posizione all'interno di quel volume manipolando il filesystem, senza spostare il dato in questione. Comunque, se un file deve essere spostato all'esterno del volume, il dato stesso deve essere riposizionato, che è un'operazione molto più intensa.

Per visualizzare meglio questo concetto, potremmo prendere in considerazione l'esempio di una grande biblioteca. Se un lavoro di saggistica è classificato inizialmente come "piante", ma poi deve essere spostato nell'argomento "flora", non c'è bisogno di spostare il libro, la cui posizione sullo scaffale è statica, ma piuttosto, basta spostare la targhetta dell'argomento index card. Invece, per spostare il libro in un'altra biblioteca, sistemare le sole targhette dell'argomento è insufficiente. L'intero libro va spostato.

### Funzioni speciali dei filesystem e dei volumi avanzati

Alcuni file system, come il file system NTFS di proprietà di Microsoft, e l'ext3, consentono di creare pseudonimi multipli (conosciuti come "hard link") per un singolo file all'interno dello stesso volume. Gli hard link consentono di puntare un file utilizzando due nomi diversi, senza che i dati vengano memorizzati in due punti distinti del disco (senza raddoppiare lo spazio occupato). Gli hard link non possono essere creati per i file tra volumi; è come spostare il file nella biblioteca dell'esempio di prima. Ritornando all'analogia con la biblioteca, è come se riempissimo due targhette per lo stesso libro: è possibile in questo modo individuare il libro sia in "flora" sia in "piante". In generale, cancellare un hard link non si riflette immediatamente sull'altro hard link, mentre cancellare l'hard link finale di un file libera sull'hard disk lo spazio occupato da quel file. Comunque, modificare i dati del file collegato ad un altro per mezzo dell'hard link influenzerà tutti gli altri hard link. Nella biblioteca, questo fatto è paragonabile allo scrivere su un libro. Gli hard link non devono essere confusi con gli alias (MacOS), gli shortcut (Windows), o i link simbolici (UNIX e varianti), che possono riferirsi a file presenti in un altro volume. I file system FAT, come FAT32, non supportano gli hard link e i link simbolici, sebbene il sistema operativo Windows supporti i "collegamenti".

## Tipologie di volume

### Volume di sistema

Un volume di sistema è un volume che contiene cartelle e/o file necessari per il funzionamento base di altre sezioni (ad esempio una partizione principale). Solitamente, un volume di sistema è nascosto e non accessibile (se non con operazioni avanzate).

Da quando esiste la tecnologia Uefi, qualsiasi sistema operativo ha necessità di un volume di sistema con all'interno la propria cartella efi.

### Volume principale

Volume di sistema che contiene un sistema operativo. È, per definizione, un volume di sistema e avviabile.

### Volume di avvio

Volume che ha un boot loader e che quindi può essere avviabile.

### Volume di ripristino

Volume, di sistema e avviabile, che contiene un ambiente di ripristino o strumenti analoghi atti a svolgere operazioni base su hardware privi di sistemi operativi o sistemi operativi non avviati o sistemi operativi virtualizzati.

### Volume dati

Area di archiviazione di dati (documenti, informazioni, oggetti). Non è di sistema, né avviabile, né principale.

