[ << ]
[ < ]
[ 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 è molto probabilmente quello che rappresenta il primo
hard disk SCSI in un sistema Linux, /dev/sda.
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à random, e di dimensione pari a 512 byte ciascuno.
Partizioni e slices
Nonostante sia possibile usare un intero disco per il sistema Linux, ciò non
è quasi mai messo in pratica. Invece, i dispositivi a blocchi del disco sono
divisi in parti più piccole e più maneggevoli. Sulla maggior parte dei
sistemi, queste sono chiamate partizioni. Altre architetture usano
una tecnica simile, chiamandole slices.
4.b. Impostare uno schema di partizionamento
Numero e dimensione delle partizioni
Il numero delle partizioni è altamente dipendente sull'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 da mailserver, /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 li. 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.
Le partizioni multiple hanno però un grosso svantaggio: se non sono
configurate correttamente, si potrebbe avere un sistema con molto spazio libero
su una partizione e poco su un'altra. C'è anche un limite di 15 partizioni per
SCSI e SATA.
4.c. Usare fdisk su HPPA per partizionare il disco
Usare fdisk per creare le partizioni che si desiderano:
Codice 3.1: Partizionare il disco |
# fdisk /dev/sda
|
Le macchine HPPA usano le tabelle di partizioni PC standard DOS. Per creare
una nuova tabella di partizione DOS, usare il comando o.
Codice 3.2: Creare una tabella di partizioni DOS |
# fdisk /dev/sda
Command (m for help): o
Building a new DOS disklabel.
|
PALO (il bootloader di HPPA) ha bisogno di una partizione speciale per
funzionare. Si deve creare una partizione di almeno 16MB all'inizio del disco.
Il tipo di partizione deve essere f0 (Linux/PA-RISC boot).
Importante:
Se si continua senza creare una partizione speciale per PALO, il sistema non
partirà. Se il disco è più grande di 2GB,
assicurarsi che la partizione di boot sia nei primi 2GB. PALO non può leggere
un kernek dopo 2GB.
|
Codice 3.3: Un esempio di schema di partizionamento di default |
# cat /etc/fstab
/dev/sda2 /boot ext3 noauto,noatime 1 1
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext3 noatime 0 0
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 8 32953 f0 Linux/PA-RISC boot
/dev/sda2 9 20 49476 83 Linux
/dev/sda3 21 70 206150 82 Linux swap
/dev/sda4 71 1017 3904481 83 Linux
|
Ora che le partizioni sono create, si può continuare con la sezione
riguardante come Creare i filesystem.
4.d. Creare i filesystem
Introduzione
Ora che le partizioni sono state create, è il momento di inserire il
filesystem. Se non si è interessati alla scelta del filesystem e vanno bene
quelli che si usano di default in questo Manuale, continuare con la sezione
su come
Applicare un filesystem a una partizione. Altrimenti ecco una descrizione
dei filesystem disponibili.
Filesystem
Sono disponibili molti filesystem. Ext2, ext3, XFS e reiserfs sono stabili
sull'architettura HPPA. Gli altri sono sperimentali.
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.
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. ext3 è un
filesystem davvero molto valido e affidabile. Ha una ulteriore opzione di
indice hashed b-tree che abilita alte prestazioni in quasi tutte le situazioni.
Si può abilitare questo indice aggiungendo -O dir_index al comando
mke2fs. In poche parole, ext3 è un filesystem eccellente.
ReiserFS è un filesystem basato su B*-tree che offre ottime performance
generali e si dimostra notevolmente superiore a ext2 e ext3 con file di piccole
dimensioni (file minori di 4k), spesso di un fattore 10-15.
ReiserFS scala inoltre molto bene e supporta il metadata journaling. Dal kernel
2.4.18 in poi, ReiserFS ha raggiunto la solidità che lo porta a essere
caldamente raccomandato sia per un uso generico
che per casi estremi come la creazione di grandi filesystem, l'uso su molti
file piccoli, file molto grandi e directory
contenenti decine di migliaia di file.
XFS è un filesystem con metadata journaling che si presenta con un
robusto insieme di caratteristiche ed è ottimizzato per la scalabilità .
Se ne raccomanda l'uso su sistemi Linux dotati di unità di memorizzazione con
canali in fibra o high-en SCSI e alimentazione continua. Data l'aggressività
con la quale XFS si serve della cache in RAM per i dati in transito, programmi
progettati in modo non adeguato (quelli che non prendono precauzioni quando
scrivono file su disco, e ce ne sono diversi) possono perdere una discreta
quantità di dati se il sistema si arresta in modo inaspettato.
JFS è il filesystem con journaling ad alte prestazioni di IBM. E' stato
recentemente giudicato pronto per il mercato, ma ad oggi non è stato
sufficientemente testato per fare commenti positivi o negativi sulla sua
stabilità generale.
Applicare un filesystem a una partizione
Per creare un filesystem su una partizione o volume, sono disponibili tool
per ogni filesystem possibile:
| Filesystem |
Comando per la creazione |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Per esempio, per avere la partizione di boot (/dev/sda2) ext2
e la partizione root (/dev/sda4) ext3, si usa:
Codice 4.1: Applicare un filesystem su una partizione |
# mke2fs /dev/sda2
# mke2fs -j /dev/sda4
|
Ora si procede alla creazione dei filesystem sulle partizioni (o volumi logici)
create precedentemente.
Attivare la partizione swap
mkswap è il comando usato per inizializzare le partizioni swap:
Codice 4.2: Inizializzare la partizione swap |
# mkswap /dev/sda3
|
Per attivare la partizione swap, usare swapon:
Codice 4.3: Attivare la partizione swap |
# swapon /dev/sda3
|
Creare e attivare swap subito.
4.e. Montare
Ora che le partizioni sono inizializzate
e hanno un filesystem, è il momento di montarle. Usare il comando
mount. Non dimenticarsi di creare le necessarie directory di mount
per ogni partizione creata. Come esempio si monta la partizione root e boot:
Codice 5.1: Montare le partizioni |
# mount /dev/sda4 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /mnt/gentoo/boot
|
Nota:
Se si vuole che /tmp risieda in una partizione separata,
assicurarsi di cambiare i permessi dopo il mount:
chmod 1777 /mnt/gentoo/tmp. Questo vale anche per /var/tmp.
|
E' necessario inoltre montare
il filesystem proc
(una interfaccia virtuale con il kernel) su /proc.
Ma prima si devono mettere i file sulle partizioni.
Ora continuare con la
Copia dei file di installazione di Gentoo.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|