[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
4. Preparazione dei dischi
Indice:
4.a. Introduzione ai dispositivi a blocchi
Dispositivi a blocchi
Si dà ora un'occhiata approfondita agli aspetti relativi ai dischi in Gentoo
Linux e in Linux in generale, tra cui i filesystem Linux, le partizioni e i
dispositivi a blocchi. Quindi, una volta acquisita familiarità con i dischi e i
filesystem, si viene guidati attraverso il processo di configurazione delle
partizioni e dei filesystem per l'installazione di Gentoo Linux.
Per cominciare, si introducono i dispositivi a blocchi. Il dispositivo a
blocchi più famoso è probabilmente quello che rappresenta la prima unità IDE in
un sistema Linux, /dev/sda. I dischi SCSI e Serial ATA vengono
entrambi etichettati come /dev/sd*; anche i dischi IDE sono
etichettati come /dev/sd* con il nuovo framework libata nel kernel.
Se si sta usando un vecchio framework per le periferiche, allora il primo disco
IDE sarà /dev/hda.
I dispositivi a blocchi rappresentano un'interfaccia astratta ai dischi.
I programmi utente possono usare questi dispositivi a blocchi per interagire
con i dischi, senza doversi chiedere se si tratta di unità IDE, SCSI o di
qualsiasi altro tipo. Il programma può semplicemente indirizzare la
memorizzazione su disco attraverso dei blocchi contigui, accessibili in
modalità casuale, e di dimensione pari a 512 byte ciascuno.
Partizioni
Sebbene in linea teorica sia possibile usare un intero disco per il sistema
Linux, in pratica ciò non viene quasi mai fatto. Solitamente infatti i dischi
sono divisi in parti più piccole e più maneggevoli. Nella maggior parte dei
sistemi queste sono chiamate partizioni.
4.b. Impostare uno schema di partizionamento
Schema di partizionamento predefinito
Se non si è interessati ad elaborare uno schema di partizionamento per il
sistema, si può usare quello utilizzato in questo manuale. Scegliere il
filesystem che corrisponde meglio alla macchina PowerPc su cui si sta
installando.
Apple New World
Le macchine Apple New World sono piuttosto semplici da configurare. La prima
partizione è sempre una Apple Partition Map. Questa partizione tiene
traccia della disposizione del disco, pertanto non è possibile rimuoverla. La
partizione successiva dovrebbe sempre essere la partizione di bootstrap e
contiene un piccolo (800k) filesystem HFS che contiene una copia del bootloader
Yaboot ed il suo file di configurazione. La partizione non è la stessa
che /boot su altre architetture. Dopo la partizione di boot vengono
allocati i consueti filesystem Linux, secondo lo schema che segue. La partizione
di swap è un archivio temporaneo che viene utilizzato quando il sistema termina
la memoria fisica. La partizione di root contiene il filesystem su cui viene
installato Gentoo. Se si desidera impostare un dual boot la partizione OSX può
essere allocata ovunque dopo la partizione di bootstrap per essere sicuri che
Yaboot venga avviato per primo.
Nota:
Ci potrebbero essere della partizioni "Disk Driver" sul proprio disco, quali
Apple_Driver63, Apple_Driver_ATA,
Apple_FWDriver, Apple_Driver_IOKit o
Apple_Patches. Queste vengono utilizzate per avviare MacOS, perciò
se non servono è possibile rimuoverle semplicemente inizializzando il disco con
l'opzione i di mac-fdisk. Questa operazione cancella completamente
il disco, se si fosse in dubbio lasciare la situazione com'è.
|
Nota:
Se si è partizionato il disco con Disk Utility di Apple potrebbero esserci spazi
di 128Mb tra le partizioni riservati da Apple per uso futuro. E' possibile
rimuovere tali spazi.
|
| Partizione |
Dimensioni |
Filesystem |
Descrizione |
| /dev/sda1 |
32k |
Nessuno |
Apple_partition_map |
| /dev/sda2 |
800k |
HFS |
Apple_Bootstrap |
| /dev/sda3 |
512Mb |
Swap |
Linux Swap |
| /dev/sda4 |
Rest of Disk |
ext3, ext4, reiserfs, xfs |
Linux Root |
Apple Old World
Le macchine Apple Old World sono un po' più complicate da configurare. La prima
partizione è sempre una Apple Partition Map e tiene traccia della
disposizione del disco, pertanto non è possibile rimuoverla. Se si sta
utilizzando BootX, la configurazione che segue presuppone che MacOS sia
installato su un disco separato. Se questo non è il caso ci dovrebbero essere
ulteriori partizioni per gli "Apple Disk Drivers" quali Apple_Driver63,
Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches e
l'installazione di MacOS. Se si sta utilizzando Quik è necessario creare una
partizione di boot che contenga il kernel, al contrario degli altri metodi di
boot Apple. Dopo la partizione di boot vengono disposte le altre partizioni
Linux secondo lo schema seguente. La partizione di swap è un archivio temporaneo
che viene utilizzato quando il sistema termina la memoria fisica. La partizione
di root contiene il filesystem su cui viene installato Gentoo.
Nota:
Se si sta utilizzando una macchina OldWorld è necessario mantenere disponibile
MacOS. La disposizione che segue assume che MacOS sia installato su una
periferica separata.
|
| Partizione |
Dimensioni |
Filesystem |
Descrizione |
| /dev/sda1 |
32k |
Nessuno |
Apple Partition Map |
| /dev/sda2 |
32Mb |
ext2 |
Partizione Quik Boot (solo quik) |
| /dev/sda3 |
512Mb |
Swap |
Linux Swap |
| /dev/sda4 |
Resto del disco |
ext3, ext4, reiserfs, xfs |
Linux Root |
Pegasos
La disposizione delle partizioni di Pegasos è piuttosto semplice in confronto a
quelle di Apple. La prima partizione è quella di boot che contiene i kernel da
avviare, oltrechè uno script Open Firmware che presenta un menu al boot. Dopo la
partizione di boot vengono disposte le altre partizioni Linux secondo lo schema
seguente. La partizione di swap è un archivio temporaneo che viene utilizzato
quando il sistema termina la memoria fisica. La partizione di root contiene il
filesystem su cui viene installato Gentoo.
| Partizione |
Dimensioni |
Filesystem |
Descrizione |
| /dev/sda1 |
32Mb |
affs1 o ext2 |
Partizione di boot |
| /dev/sda2 |
512Mb |
Swap |
Linux Swap |
| /dev/sda3 |
Resto del disco |
ext3, ext4, reiserfs, xfs |
Linux Root |
IBM PReP (RS/6000)
La IBM PowerPC Reference Platform (PReP) richiede una piccola partizione di boot
PReP sulla prima partizione del disco, seguita dalla partizione di swap e root.
| Partizione |
Dimensioni |
Filesystem |
Descrizione |
| /dev/sda1 |
800k |
Nessuno |
PReP Boot Partition (Tipo 0x41) |
| /dev/sda2 |
512Mb |
Swap |
Linux Swap (Tipo 0x82) |
| /dev/sda3 |
Resto del disco |
ext3, ext4, reiserfs, xfs |
Linux Root (Tipo 0x83) |
Avvertenza:
parted può ridimensionare le partizioni anche le HFS+. Purtroppo
potrebbero esserci imprevisti con filesystem HFS+ journaled, quindi è
consigliabile disabilitare il journaling in MAC OS X prima di ridimensionare.
Ricordarsi che ogni operazione di ridimensionamento è pericolosa, e a proprio
rischio. Assicurarsi di fare un backup dei propri dati prima di ridimensionare
le partizioni.
|
Se si è interessati ad avere informazioni su quanto dovrebbe essere grande una
partizione, o anche su quante partizioni si ha bisogno, seguono alcuni
suggerimenti. Altrimenti continuare con Predefinito:
usare mac-fdisk (Apple) per partizionare il disco oppure Alternativa: usare parted (IBM/Pegasos) per partizionare il
disco.
Numero e dimensione delle partizioni
Il numero delle partizioni dipende fortemente dal proprio ambiente. Per esempio,
se si hanno molti utenti su una stessa macchina, molto probabilmente si desidera
tenere separate le directory /home, aumentando così la sicurezza e
rendendo più facile il backup. Se si sta installando Gentoo per utilizzarlo come
mailserver, la directory /var dovrebbe essere separata poichè tutta
la posta viene memorizzata in essa. Una buona scelta del filesystem è quella che
massimizza le prestazioni. I gameserver è bene che abbiano una partizione
separata per /opt, visto che la maggior parte dei server di gioco
sono installati lì. La stessa cosa vale per /home: sicurezza e
backup. Si dovrebbe tenere una grande /usr: questa contiene non
solo la maggior parte delle applicazioni, il solo Portage tree occupa 500 MB di
spazio, esclusi i sorgenti che sono in esso.
Come si è visto, molto dipende da cosa si desidera realizzare. Partizioni o
volumi separati hanno i seguenti vantaggi:
-
Si può scegliere il filesystem con maggiori prestazioni per ogni partizione
o volume
-
L'intero sistema non può esaurire lo spazio libero se un tool malfunzionante
scrive all'infinito su una partizione od un volume
-
Nel caso si rendano necessari, i controlli sul filesystem sono ridotti,
poichè possono essere condotti in parallelo diverse analisi (questo
vantaggio è più per i dischi multipli che per le partizioni multiple)
-
La sicurezza può essere aumentata montando alcune partizioni o volumi in
sola lettura, nosuid (i bit setuid vengono ignorati), noexec (i bit
executable sono ignorati) etc.
Anche le partizioni multiple hanno però degli svantaggi: se non sono configurate
correttamente, si potrebbe avere un sistema con moltissimo spazio libero in una
partizione e niente più spazio in un'altra. Un altro inconveniente è che
partizioni separate - specialmente per punti di montaggio importanti come
/usr o /var - spesso richiedo all'amministratore di
avviare il sistema con un initramfs per montare le partizioni stesse prima che
altri script di avvio siano eseguiti. Tuttavia questo non accade sempre, perciò
il risultato può essere vario.
C'è inoltre un un limite di 15 partizioni per SCSI e SATA.
4.c. Predefinito: usare mac-fdisk (Apple) per partizionare il disco
A questo punto, creare le partizioni usando mac-fdisk:
Codice 3.1: Avviare mac-fdisk |
# mac-fdisk /dev/sda
|
Se si è utilizzata la Disk Utility di Apple per lasciare spazio per Linux,
cancellare le partizioni create in precedenza per lasciare spazio alla nuova
installazione. Utilizzare d in mac-fdisk per cancellare tali
partizioni. Viene chiesto il numero di partizione da cancellare. Di solito la
prima partizione nelle macchine NewWorld (Apple_partition_map) non può essere
rimossa. Se si desidera cominciare con un disco pulito è possibile
reinizializzare il disco con i. Questa operazione cancella completamente
il disco ed è da usare con cautela.
Quindi creare una partizione Apple_Bootstrap usando b. Viene
chiesto da quale blocco si desidera partire. Inserire il numero della prima
partizione libera, seguito da una p. In questo caso 2p.
Nota:
Questa non è una partizione di boot. Non viene utilizzata
per niente da Linux; non si deve creare nessun filesystem in essa e non deve
mai essere montata. Gli utilizzatori di Apple non hanno bisogno di una
partizione aggiuntiva per /boot.
|
Adesso creare una partizione di swap premendo c. Nuovamente
mac-fdisk chiede da quale blocco si desidera partire per questa
partizione. Poiché prima si è usato 2 per creare la partizione
Apple_Bootstrap, ora inserire 3p. Come dimensione inserire 512M (o
la dimensione desiderata: è consigliato un minimo di 512MB, ma tipicamente si
sceglie il doppio della memoria fisica). Come nome inserire swap.
Per creare la partizione di root, premere c, seguito da 4p per
selezionare il blocco di partenza della partizione di root. Come dimensione
inserire nuovamente 4p. mac-fdisk interpreta questo come un "usa
tutto lo spazio disponibile". Come nome inserire root.
Per completare, scrivere la tabella delle partizioni sul disco premendo w
e q per uscire da mac-fdisk.
Nota:
Per essere sicuri che sia tutto a posto si dovrebbe riavviare mac-fdisk e
controllare che tutte le partizioni siano corrette. Se non c'è nessuna delle
partizioni precedentemente create si devono reinizializzare le partizioni
premendo i in mac-fdisk. Notare che questo ricrea la tabella delle
partizioni eliminandole tutte.
|
Adesso che le partizioni sono state create, continuare con Creare i filesystem.
4.d. Usare parted per partizionare il disco (Pegasos e RS/6000)
parted, the Partition Editor, gestisce le partizioni HFS+ usate da Mac OS
e Mac OS X. Con questo programma è possibile ridurre le dimensioni delle
partizioni Mac e creare spazio per le partizioni Linux. Comunque l'esempio
seguente descrive soltanto il partizionamento per i sistemi Pegasos.
Per iniziare avviare parted:
Codice 4.1: Avviare parted |
# parted /dev/sda
|
Se il disco non è partizionato avviare mklabel amiga per creare una
nuova etichetta per il disco.
Per vedere la tabella delle partizioni premere print in qualsiasi momento
all'interno di parted. Se si cambia idea o se si fa un errore è possibile
premere Ctrl-c in qualsiasi momento per interrompere parted.
Se si vuole installare anche MorphOS su un sistema Pegasos, creare un filesystem
affs1 all'inizio del disco. 32MB dovrebbero essere più che sufficienti per
contenere il kernel di MorphOS. Se si utilizza un sistema Pegasos I o se si
vuole usare qualsiasi filesystem a parte ext2 o ext3, si deve memorizzare il
kernel di Linux in questa partizione (i sistemi Pegasos II possono solo avviare
da partizioni ext2/etx3 o affs1). Per creare la partizione eseguire mkpart
primary affs1 START END dove START e END devono essere
sostituiti con l'inizio e la fine (in MB) della partizione (per esempio 0
32 crea una partizione da 32MB che comincia da 0MB e finisce al MB 32. Se si
sceglie di creare una partizione ext2 o ext3 sostituire ext2 o ext3 a affs1 nel
comando mkpart.
Si devono creare 2 partizioni per Linux, una per il filesystem principale
destinato ai programmi, ecc., e l'altra per lo swap. Eseguire mkpart primary
START END per creare ciascuna partizione. Anche qui si devono sostituire
START e END con il punto d'inizio e di fine (in MB) della
partizione.
Si consiglia di creare la partizione di swap di dimensioni del doppio della
quantità di RAM installata sul proprio computer, tuttavia si consigliano almeno
512MB. Per creare la partizione di swap eseguire mkpart primary linux-swap
START END, dove anche qui START e END devono essere sostituiti
con l'inizio e la fine (in MB) della partizione.
Per uscire da parted eseguire semplicemente quit.
4.e. Creare i filesystem
Introduzione
Ora che le partizioni sono state create, è il momento di inserire i filesystem.
Se non si è interessati alla scelta del filesystem e vanno bene quelli che si
usano in modo predefinito in questo Manuale, continuare con la sezione Applicare un filesystem a una partizione.
Altrimenti ecco una descrizione dei filesystem disponibili.
Filesystem
Sono disponibili diversi filesystem su PowerPC, tra cui ext2, ext3, ext4, ReiserFS e
XFS, ciascuno con i propri punti di forza e debolezza.
ext2 è il vero e proprio filesystem di Linux ma non possiede il supporto
per il metadata journaling, il che significa che le routine che effettuano
all'avvio i controlli sul filesystem ext2 possono impiegare diverso tempo. Al
momento esiste una scelta abbastanza ampia di filesystem journaled di nuova
generazione che sono in grado di effettuare controlli sulla consistenza molto
velocemente e sono generalmente preferiti alle controparti non-journaled. I
filesystem journaled prevengono i lunghi tempi di attesa che solitamente si
riscontrano quando viene riavviato il sistema e il filesystem si trova in uno
stato inconsistente. Se si ha intenzione di installare Gentoo su un disco molto
piccolo (meno di 4GB), in tal caso si dovrà indicare ad ext2 di riservare un
numero sufficiente di inode quando si crea il filesystem. Il comando
mke2fs usa l'opzione "bytes-per-inode" per calcolare quanti inode
un filesystem dovrebbe avere.
Se si usa mke2fs -T small /dev/<device> il numero degli inode
sarà generalmente il quadruplo per un dato filesystem secondo il suo "bytes-per-inode"
riduce da 16kB a 4kB.
E' possibile ottimizzare ulteriormente usando mke2fs -i <ratio> /dev/<device>.
ext3 è la versione journaled del filesystem ext2, fornisce il metadata
journaling per un veloce recupero dei dati in aggiunta ad altre caratteristiche
di journaling avanzate come full data e ordered data journaling. Utilizza un
indice Htree che abilita alte prestazioni in quasi tutte le situazioni. In
breve, ext3 è un filesystem davvero molto valido e affidabile, ed è raccomandato
per qualsiasi sistema e scopo. Se si ha intenzione di installare Gentoo su un
disco molto piccolo (meno di 4GB), in tal caso si dovrà indicare ad ext3 di
riservare un numero sufficiente di inode quando si crea il filesystem.
Il comando mke2fs usa l'opzione "bytes-per-inode" per calcolare quanti inode
un filesystem dovrebbe avere.Se si usa mke2fs -j -T small /dev/<device>
il numero degli inode sarà generalmente il quadruplo per un dato filesystem secondo il suo "bytes-per-inode"
riduce da 16kB a 4kB. E' possibile ottimizzare ulteriormente usando mke2fs -j -i <ratio> /dev/<device>.
ext4 è un filesystem creato da una ramificazione del progetto ext3 con
l'introduzione di nuove funzionalità, miglioramenti nelle prestazioni e la
rimozione di limiti di dimensioni, con piccoli cambiamenti ai formati interni
del disco. Può arrivare fino a volumi di 1 EB con la dimensione massima per i
file di 16 TB. Invece della allocazione a blocchi classica di ext2/3 basata
sulla mappatura a bit, ext4 usa le
extent, che migliorano le
prestazioni per i file grandi e riducono la frammentazione. Ext4 inoltre è
provvisto di algoritmi più sofisticati per l'assegnazione dei blocchi
(assegnazione ritardata e assegnazione multiblocco) che danno ai driver del
filesystem maggiori opportunità di ottimizzare l'uso dello spazio sul disco.
Il filesystem ext4 è un compromesso tra la stabilità del codice sei sistemi in
produzione e il desiderio di introdurre estensioni ad un filesystem vecchio di
almeno un decennio.
ReiserFS è un filesystem basato su B+tree che offre ottime prestazioni
generali, specialmente nella gestione di una grande quantità di piccoli file,
al costo di più cicli di CPU. ReiserFS sembra avere una manutenzione più ridotta
degli altri filesystem.
XFS è un filesystem con metadata journaling ricco di caratteristiche
interessanti e ottimizzato per una forte scalabilità. XFS sembra essere poco
tollerante a vari problemi hardware.
Attivare la partizione di Swap
mkswap è il comando utilizzato per inizializzare le partizioni di swap:
Codice 5.1: Creazione di una partizione di swap |
# mkswap /dev/sda3
|
Per attivare la partizione di swap eseguire swapon:
Codice 5.2: Attivazione di una partizione di swap |
# swapon /dev/sda3
|
Creare ed attivare la partizione di swap ora prima di creare altri
filesystem.
Applicare un filesystem a una partizione
Per creare un filesystem su una partizione o volume, sono disponibili gli
strumenti per ogni filesystem possibile:
| Filesystem |
Comando per la creazione |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| ext4 |
mkfs.ext4 |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
Per esempio, per creare un filesystem ext3 sulla partizione di root (in questo
caso /dev/sda4) si esegue:
Codice 5.3: Creare un filesystem su una partizione |
# mke2fs -j /dev/sda4
|
Ora si procede alla creazione dei filesystem sulle partizioni (o volumi logici)
create precedentemente.
Importante:
Se si è scelto di usare ReiserFS per /, non cambiare la sua
dimensione predefinita dei blocchi nel caso in cui si andasse ad utilizzare
yaboot come bootloader, come spiegato in Configurazione del Bootloader.
|
Nota:
Nei sistemi Pegasos II le partizioni che contengono il Kernel devono essere ext2
o ext3 o affs1. I sistemi NewWorld possono avviare dai filesystem ext2, ext3,
XFS, ReiserFS o anche HFS/HFS+. Su sistemi OldWorld avviati con BootX, il kernel
deve essere posto su una partizione HFS, ma sarà completato quando si configura
il bootloader.
|
4.f. Montare
Ora che le partizioni sono inizializzate e hanno un filesystem, è il momento di
usare il comando mount per montarle. Nell'esempio ecco come montare la
partizione principale:
Codice 6.1: Montare le partizioni |
# mount /dev/sda4 /mnt/gentoo
|
Nota:
Se si vuole che /tmp risieda in una partizione separata,
assicurarsi di cambiare i permessi dopo il mount e la decompressione utilizzando
chmod 1777 /mnt/gentoo/tmp. Questo vale anche per /var/tmp.
|
Ora continuare con Copia dei file di
installazione di Gentoo.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|