Capitolo 25. Introduzione al partizionamento del disco

Nota

Quest'appendice non viene necessariamente applicata alle architetture che non sono basate su x86. Tuttavia il concetto generale potrebbe essere valido.
Quest'appendice non viene necessariamente applicata alle architetture che non sono basate su x86. Tuttavia il concetto generale potrebbe essere valido.
If you are reasonably comfortable with disk partitions, you could skip ahead to Sezione 25.1.4, «Creazione di spazio per l'installazione di Red Hat Enterprise Linux», for more information on the process of freeing up disk space to prepare for a Red Hat Enterprise Linux installation. This section also discusses the partition naming scheme used by Linux systems, sharing disk space with other operating systems, and related topics.

25.1. Concetti di base sui dischi fissi

I dischi fissi svolgono una funzione molto semplice: possono archiviare dati e recuperarli su comando.
When discussing issues such as disk partitioning, it is important to know a bit about the underlying hardware. Unfortunately, it is easy to become bogged down in details. Therefore, this appendix uses a simplified diagram of a disk drive to help explain what is really happening when a disk drive is partitioned. Figura 25.1, «Unità disco mai utilizzata», shows a brand-new, unused disk drive.
Unità disco mai utilizzata

Figura 25.1. Unità disco mai utilizzata

Non c'è molto da vedere, vero? Ma se parliamo di dischi fissi a livello base, la questione cambia. Supponiamo di voler archiviare alcuni dati su questa unità. In questo momento non è possibile. Dobbiamo prima compiere alcune operazioni.

25.1.1. Non conta ciò che scrivete, ma come lo scrivete

Experienced computer users probably got this one on the first try. We need to format the drive. Formatting (usually known as "making a file system") writes information to the drive, creating order out of the empty space in an unformatted drive.
Unità disco con filesystem

Figura 25.2. Unità disco con filesystem

As Figura 25.2, «Unità disco con filesystem», implies, the order imposed by a file system involves some trade-offs:
  • A small percentage of the drive's available space is used to store file system-related data and can be considered as overhead.
  • A file system splits the remaining space into small, consistently-sized segments. For Linux, these segments are known as blocks. [11]
Poichè i file system consentono di eseguire numerose operazioni, tra le quali la creazione di directory e file, questi compromessi non sono che un piccolo prezzo da pagare.
It is also worth noting that there is no single, universal file system. As Figura 25.3, «Unità disco con un filesystem differente», shows, a disk drive may have one of many different file systems written on it. As you might guess, different file systems tend to be incompatible; that is, an operating system that supports one file system (or a handful of related file system types) may not support another. This last statement is not a hard-and-fast rule, however. For example, Red Hat Enterprise Linux supports a wide variety of file systems (including many commonly used by other operating systems), making data interchange between different file systems easy.
Unità disco con un filesystem differente

Figura 25.3. Unità disco con un filesystem differente

Naturalmente, scrivere un filesystem su disco costituisce solo l'inizio. L'obiettivo di questo processo è quello di archiviare e recuperare i dati. Diamo uno sguardo al nostro disco dopo la scrittura di alcuni file su di esso.
Unità disco contenente dati

Figura 25.4. Unità disco contenente dati

As Figura 25.4, «Unità disco contenente dati», shows, some of the previously-empty blocks are now holding data. However, by just looking at this picture, we cannot determine exactly how many files reside on this drive. There may only be one file or many, as all files use at least one block and some files use multiple blocks. Another important point to note is that the used blocks do not have to form a contiguous region; used and unused blocks may be interspersed. This is known as fragmentation. Fragmentation can play a part when attempting to resize an existing partition.
Con lo sviluppo delle tecnologie informatiche, le unità disco hanno continuato a mutare nel tempo. In particolare, sono diventate più grandi, non dal punto di vista delle dimensioni ma delle capacità, in quando possono archiviare più dati. E questo ha introdotto un cambiamento fondamentale nella modalità di utilizzo dei dischi.

25.1.2. Partizioni: ottenere più unità da una sola

Con l'aumento delle capacità delle unità disco, alcune persone hanno cominciato a chiedersi se fosse una buona idea avere tutto quello spazio disponibile su un unico disco. Questa linea di pensiero era guidata da vari argomenti, alcuni filosofici, altri tecnici. Da un punto di vista filosofico, oltre una certa dimensione, sembrava che lo spazio aggiuntivo fornito da un disco più grande creasse solo confusione. Da un punto di vista tecnico, alcuni filesystem erano stati ideati per supportare fino a una certa capacità. Oppure i filesystem potevano supportare dischi più grandi, ma l'overhead imposto dal filesystem per tenere traccia dei file diventava eccessivo.
Per risolvere il problema, si è deciso di dividere i dischi in partizioni. Si può accedere a ogni partizione come se fosse un disco separato. Questo avviene mediante l'aggiunta di una tabella delle partizioni.

Nota

Mentre i diagrammi in questo capitolo mostrano la tabella delle partizioni separata dal resto del disco, in realtà questa è archiviata all'inizio del disco, prima di ogni filesystem o di qualsiasi dato dell'utente. Ma per maggior chiarezza, nei nostri diagrammi verrà visualizzata separatamente.
Unità disco e tabella delle partizioni

Figura 25.5. Unità disco e tabella delle partizioni

As Figura 25.5, «Unità disco e tabella delle partizioni» shows, the partition table is divided into four sections or four primary partitions. A primary partition is a partition on a hard drive that can contain only one logical drive (or section). Each section can hold the information necessary to define a single partition, meaning that the partition table can define no more than four partitions.
Ogni voce della tabella delle partizioni contiene molte caratteristiche importanti della partizione:
  • i punti sul disco in cui la partizione inizia e finisce;
  • Whether the partition is "active"
  • The partition's type
Let us take a closer look at each of these characteristics. The starting and ending points actually define the partition's size and location on the disk. The "active" flag is used by some operating systems' boot loaders. In other words, the operating system in the partition that is marked "active" is booted.
The partition's type can be a bit confusing. The type is a number that identifies the partition's anticipated usage. If that statement sounds a bit vague, that is because the meaning of the partition type is a bit vague. Some operating systems use the partition type to denote a specific file system type, to flag the partition as being associated with a particular operating system, to indicate that the partition contains a bootable operating system, or some combination of the three.
By this point, you might be wondering how all this additional complexity is normally used. Refer to Figura 25.6, «Disco fisso con partizione singola», for an example.
Disco fisso con partizione singola

Figura 25.6. Disco fisso con partizione singola

In molti casi un'unica partizione occupa tutto il disco. In questo caso, nella tabella delle partizioni viene utilizzata solo una voce, che punta all'inizio della partizione.
We have labeled this partition as being of the "DOS" type. Although it is only one of several possible partition types listed in Tabella 25.1, «Tipi di partizione», it is adequate for the purposes of this discussion.
Tabella 25.1, «Tipi di partizione», contains a listing of some popular (and obscure) partition types, along with their hexadecimal numeric values.

Tabella 25.1. Tipi di partizione

Tipo di partizione Valore Tipo di partizione Valore
Vuota 00 Novell Netware 386 65
DOS 12-bit FAT 01 PIC/IX 75
XENIX root 02 MINIX precedente 80
XENIX usr 03 Linux/MINUX 81
DOS 16-bit <=32M 04 Linux swap 82
Estesa 05 Linux nativo 83
DOS 16-bit >=32 06 Linux esteso 85
OS/2 HPFS 07 Amoeba 93
AIX 08 Amoeba BBT 94
AIX bootable 09 BSD/386 a5
OS/2 Boot Manager 0a OpenBSD a6
Win95 FAT32 0b NEXTSTEP a7
Win95 FAT32 (LBA) 0c BSDI fs b7
Win95 FAT16 (LBA) 0e BSDI swap b8
Win95 Esteso (LBA) 0f Syrinx c7
Venix 80286 40 CP/M db
Novell 51 DOS access e1
Avvio PPC PReP 41 DOS R/O e3
GNU HURD 63 DOS secondario f2
Novell Netware 286 64 BBT ff

25.1.3. Partizioni all'interno di partizioni — Panoramica sulle partizioni estese

Col passare del tempo quattro partizioni non erano più sufficienti. Con la crescita delle dimensioni dei dischi fissi, è diventato sempre più diffuso creare quattro partizioni di dimensioni ragionevoli, riuscendo contemporaneamente ad avere ancora spazio sul disco per creare altre partizioni.
Enter the extended partition. As you may have noticed in Tabella 25.1, «Tipi di partizione», there is an "Extended" partition type. It is this partition type that is at the heart of extended partitions.
When a partition is created and its type is set to "Extended," an extended partition table is created. In essence, the extended partition is like a disk drive in its own right — it has a partition table that points to one or more partitions (now called logical partitions, as opposed to the four primary partitions) contained entirely within the extended partition itself. Figura 25.7, «Unità disco con partizione estesa», shows a disk drive with one primary partition and one extended partition containing two logical partitions (along with some unpartitioned free space).
Unità disco con partizione estesa

Figura 25.7. Unità disco con partizione estesa

Come si può notare da questa figura, esiste una differenza tra partizioni primarie e partizioni logiche — si possono avere solo quattro partizioni primarie, ma non c'è limite al numero di partizioni logiche che è possibile ottenere. Tuttavia, dato il modo in cui si accede alle partizioni in Linux, non è una buona idea tentare di definire più di 12 partizioni logiche su una singola unità.
Ora che abbiamo trattato in modo generale l'argomento delle partizioni, passiamo al lato pratico e proviamo a installare Red Hat Enterprise Linux.

25.1.4. Creazione di spazio per l'installazione di Red Hat Enterprise Linux

Durante la ripartizione del disco fisso si possono incontrare alcuni possibili scenari:
  • spazio libero non partizionato
  • partizione inutilizzata
  • spazio libero in una partizione utilizzata attivamente
Analizziamo nell'ordine ogni scenario.

Nota

Occorre tenere presente che i seguenti esempi sono stati semplificati per fornire maggior chiarezza e non riflettono la struttura generale delle partizioni che otterrete durante l'installazione di Red Hat Enterprise Linux.

25.1.4.1. Utilizzo dello spazio libero non partizionato

In this situation, the partitions already defined do not span the entire hard disk, leaving unallocated space that is not part of any defined partition. Figura 25.8, «Unità disco con spazio libero non partizionato», shows what this might look like.
Unità disco con spazio libero non partizionato

Figura 25.8. Unità disco con spazio libero non partizionato

In Figura 25.8, «Unità disco con spazio libero non partizionato», 1 represents an undefined partition with unallocated space and 2 represents a defined partition with allocated space.
In fondo, anche un disco fisso non utilizzato rientra in questa categoria, con la sola differenza che lo spazio non fa parte di alcuna partizione definita.
In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Red Hat Enterprise Linux). Most pre-installed operating systems are configured to take up all available space on a disk drive (refer to Sezione 25.1.4.3, «Utilizzo dello spazio libero di una partizione attiva»).
Vediamo ora una situazione più comune.

25.1.4.2. Utilizzo dello spazio di una partizione non utilizzata

In this case, maybe you have one or more partitions that you do not use any longer. Perhaps you have dabbled with another operating system in the past, and the partition(s) you dedicated to it never seem to be used anymore. Figura 25.9, «Unità disco con partizione inutilizzata», illustrates such a situation.
Unità disco con partizione inutilizzata

Figura 25.9. Unità disco con partizione inutilizzata

In Figura 25.9, «Unità disco con partizione inutilizzata», 1 represents an unused partition and 2 represents reallocating an unused partition for Linux.
Se vi trovate in questa situazione, potete utilizzare lo spazio assegnato per la partizione inutilizzata. È necessario prima di tutto cancellare la partizione e quindi creare al suo posto la partizione (o le partizioni) appropriata per Linux. Durante il processo d'installazione, avrete l'opportunità di creare manualmente le partizioni e di cancellare la partizione che non è stata usata.

25.1.4.3. Utilizzo dello spazio libero di una partizione attiva

Questa è la situazione più comune. È anche, purtroppo, la più difficile da gestire. Il problema principale infatti è che, anche se avete abbastanza spazio libero, questo è comunque allocato a una partizione già in uso. Se avete acquistato un computer con un software preinstallato, il disco rigido ha probabilmente una partizione ampia contenente il sistema operativo e i dati.
Oltre ad aggiungere un nuovo disco fisso al vostro sistema, avete due possibilità
Destructive Repartitioning
In poche parole, si tratta di cancellare l'unica grande partizione e di creare tante partizioni più piccole. Come potrete immaginare, tutti i dati presenti nella partizione originale verranno distrutti. È pertanto necessario fare prima un backup. Per sicurezza, fate due backup, effettuate la verifica (se disponibile nel vostro software di backup) e provate a leggere i dati dalla copia di backup prima di cancellare la partizione.

Avvertimento

Se sulla partizione è installato un sistema operativo, è necessario reinstallarlo. Alcuni computer dotati di sistema operativo pre-installato possono non fornire il supporto CD-ROM per la reinstallazione del sistema operativo originale. Verificate se questo accade sul vostro sistema prima di distruggere la partizione originale e l'installazione del sistema operativo.
After creating a smaller partition for your existing operating system, you can reinstall any software, restore your data, and start your Red Hat Enterprise Linux installation. Figura 25.10, «Unità disco partizionata in modo distruttivo» shows this being done.
Unità disco partizionata in modo distruttivo

Figura 25.10. Unità disco partizionata in modo distruttivo

In Figura 25.10, «Unità disco partizionata in modo distruttivo», 1 represents before and 2 represents after.

Avvertimento

As Figura 25.10, «Unità disco partizionata in modo distruttivo», shows, any data present in the original partition is lost without proper backup!
Non-Destructive Repartitioning
Potete avviare un programma capace di ridurre le dimensioni di una grossa partizione senza perdere nessuno dei file contenuti in quella partizione. Molti trovano questo metodo affidabile e privo di particolari problemi. Quale software dovete utilizzare per compiere questa operazione? Ci sono parecchi software di gestione del disco sul mercato. Dovete cercare quello che più si addice alla vostre esigenze.
Mentre il processo di ripartizionamento distruttivo è abbastanza intuitivo, qui ci sono alcuni passi da seguire:
  • Compressione e back up dei dati esistenti
  • Resize the existing partition
  • Create new partition(s)
Osserviamo ogni passo in modo dettagliato.
25.1.4.3.1. Compressione dei dati esistenti
As Figura 25.11, «Unità disco durante la compressione», shows, the first step is to compress the data in your existing partition. The reason for doing this is to rearrange the data such that it maximizes the available free space at the "end" of the partition.
Unità disco durante la compressione

Figura 25.11. Unità disco durante la compressione

In Figura 25.11, «Unità disco durante la compressione», 1 represents before and 2 represents after.
Questo passo è cruciale. Senza di esso, la posizione dei vostri dati può impedire che la partizione venga ridimensionata nella misura desiderata. Notate anche che alcuni dati non possono essere spostati. Se questo succede (e restringe la misura della/e nuova/e partizione/i), rischiate di dover eseguire il ripartizionamento distruttivo forzato del vostro disco.
25.1.4.3.2. Resize the existing partition
Figura 25.12, «Unità disco con partizione ridimensionata», shows the actual resizing process. While the actual result of the resizing operation varies depending on the software used, in most cases the newly freed space is used to create an unformatted partition of the same type as the original partition.
Unità disco con partizione ridimensionata

Figura 25.12. Unità disco con partizione ridimensionata

In Figura 25.12, «Unità disco con partizione ridimensionata», 1 represents before and 2 represents after.
È importante capire come il software di ridimensionamento lavora con lo spazio libero creato, in modo da poter eseguire le operazioni necessarie. Nell'esempio fornito, sarebbe più appropriato cancellare la nuova partizione DOS e creare le partizioni appropriate per Linux.
25.1.4.3.3. Create new partition(s)
As the previous step implied, it may or may not be necessary to create new partitions. However, unless your resizing software is Linux-aware, it is likely that you must delete the partition that was created during the resizing process. Figura 25.13, «Unità disco con configurazione di partizione finale», shows this being done.
Unità disco con configurazione di partizione finale

Figura 25.13. Unità disco con configurazione di partizione finale

In Figura 25.13, «Unità disco con configurazione di partizione finale», 1 represents before and 2 represents after.

Nota

Le informazioni seguenti riguardano solo i computer basati su x86.
Per una questione di convenienza per i nostri clienti, l'utilità parted è inclusa. Si tratta di un programma distribuito gratuitamente che può ridimensionare le partizioni.
Se decidete di ripartizionare la vostra unità disco con parted, è importante avere una certa familiarità con la memoria del disco, importante per questo scopo effettuare anche un back up dei dati del vostro computer. Fate due copie di tutti i dati importanti presenti sul vostro computer. Queste copie dovrebbero essere fatte su dispositivi rimovibili (come nastri, CD-ROM, o dischetti). Prima di procedere, dopo aver fatto il backup assicuratevi che i dati siano leggibili.
Se decidete di utilizzare parted, ricordate che dopo la sua esecuzione saranno presenti due partizioni: quella ridimensionata e quella che parted ha creato dallo spazio libero della prima partizione. Se il vostro obiettivo è quello di utilizzare questo spazio per installare Red Hat Enterprise Linux, cancellate la partizione appena creata utilizzando la utility di partizionamento del vostro sistema operativo corrente, oppure durante l'impostazione delle partizioni durante l'installazione.

25.1.5. Schema dei nomi per le partizioni

Linux refers to disk partitions using a combination of letters and numbers which may be confusing, particularly if you are used to the "C drive" way of referring to hard disks and their partitions. In the DOS/Windows world, partitions are named using the following method:
  • Each partition's type is checked to determine if it can be read by DOS/Windows.
  • If the partition's type is compatible, it is assigned a "drive letter." The drive letters start with a "C" and move on to the following letters, depending on the number of partitions to be labeled.
  • La lettera del disco può quindi essere utilizzata per riferirsi a una data partizione così come al filesystem contenuto in essa.
Red Hat Enterprise Linux utilizza uno schema di assegnazione dei nomi più flessibile e ricco di informazioni rispetto all'approccio utilizzato da altri sistemi operativi. Tale schema si basa sui file, con nomi del tipo /dev/xxyN.
Ecco come decifrare lo schema per l'assegnazione dei nomi delle partizioni:
/dev/
Questo è il nome della directory nella quale risiedono tutti i file device. Visto che le partizioni risiedono su disco e i dischi rigidi sono dispositivi, i file che rappresentano tutte le possibili partizioni sono contenuti in /dev/.
xx
Le prime due lettere del nome della partizione indicano il tipo di dispositivo su cui risiede la partizione. In genere trovate hd (per i dischi IDE) oppure sd (per i dischi SCSI).
y
Questa lettera indica su quale dispositivo si trova la partizione. Per esempio, /dev/hda (il primo disco IDE) oppure /dev/sdb (il secondo disco SCSI).
N
Il numero finale indica la partizione. Le prime quattro partizioni (primarie o estese) vengono numerate da 1 a 4. Le partizioni logiche iniziano da 5. Per esempio, /dev/hda3 è la terza partizione primaria o estesa sul primo disco IDE e /dev/sdb6 è la seconda partizione logica sul secondo disco SCSI.

Nota

Non esiste nessuna convenzione su questa metodologia di denominazione basata sul tipo di partizione. A differenza di DOS/Windows, tutte le partizioni possono essere identificate sotto Red Hat Enterprise Linux. Naturalmente, questo non significa che Red Hat Enterprise Linux può accedere ai dati su qualunque tipo di partizione, ma in molti casi è possibile accedere ai dati di partizioni dedicate ad altri sistemi operativi.
Queste informazioni vi faciliteranno le cose quando configurerete le partizioni richieste da Red Hat Enterprise Linux.

25.1.6. Partizioni e altri sistemi operativi

Se le partizioni di Red Hat Enterprise Linux devono condividere lo spazio presente sul disco con partizioni utilizzate da altri sistemi operativi, allora non dovreste avere problemi. Tuttavia, alcune combinazioni di Linux e altri sistemi operativi richiedono maggiori precauzioni.

25.1.7. Partizioni su disco e Mount Point

One area that many people new to Linux find confusing is the matter of how partitions are used and accessed by the Linux operating system. In DOS/Windows, it is relatively simple: Each partition gets a "drive letter." You then use the correct drive letter to refer to files and directories on its corresponding partition.
Il modo con cui Linux gestisce le partizioni e, quindi, l'archiviazione sulle unità disco in generale, è completamente diverso. La differenza risiede nel fatto che ogni partizione viene utilizzata per supportare l'archiviazione di un singolo set di file directory. Questo avviene associando una partizione a una directory attraverso un processo chiamato mounting. Montare una partizione vuol dire rendere disponibile il contenuto in essa archiviato a partire dalla directory specificata (nota come mount point).
Per esempio, se la partizione /dev/hda5 viene montata su /usr, significa che tutti i file e le directory sotto /usr risiedono fisicamente su /dev/hda5. Così il file /usr/share/doc/FAQ/txt/Linux-FAQ sarà archiviato in /dev/hda5, ma non il file /etc/X11/gdm/Sessions/Gnome.
Continuando con questo esempio, è anche possibile che una o più directory sotto /usr siano mount point per altre partizioni. Per esempio, una partizione (come /dev/hda7) può essere montata su /usr/local, il che significa che /usr/local/man/whatis risiede su /dev/hda7 anziché su /dev/hda5.

25.1.8. Quante partizioni?

At this point in the process of preparing to install Red Hat Enterprise Linux, you must give some consideration to the number and size of the partitions to be used by your new operating system. The question of "how many partitions" continues to spark debate within the Linux community and, without any end to the debate in sight, it is safe to say that there are probably as many partition layouts as there are people debating the issue.
Ricordando quanto detto, e se non avete un motivo ben preciso per fare diversamente, si consiglia di creare almeno le seguenti partizioni: swap, /boot/ (o una partizione /boot/efi/ per sistemi Itanium), una partizione /var/ per sistemi Itanium ed una partizione / (root).


[11] Blocks really are consistently sized, unlike our illustrations. Keep in mind, also, that an average disk drive contains thousands of blocks. But for the purposes of this discussion, please ignore these minor discrepancies.