[ << ]
[ < ]
[ 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
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. Sui sistemi Alpha, queste
parti sono chiamate partizioni.
4.b. Impostare uno schema di partizionamento
Schema di partizionamento di default
Come esempio si segue il seguente schema di partizioni:
| Partizione |
Descrizione |
| /dev/sda1 |
Partizione swap |
| /dev/sda2 |
Partizione root |
| /dev/sda3 |
Intero disco (richiesto) |
Se si è interessati ad avere informazioni su quanto dovrebbe essere grande una
partizione, o anche su quante partizioni (o volumi) si ha bisogno, seguono
alcuni suggerimenti. Altrimenti continuare con Usare
fdisk per partizionare il disco (solo SRM) o
Usare fdisk per partizionare il disco (solo ARC/AlphaBIOS).
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.
4.c. Usare fdisk per partizionare il disco (solo SRM)
La parte seguente spiega come creare lo schema di partizione di esempio
descritto precedentemente:
| Partizione |
Descrizione |
| /dev/sda1 |
Partizione swap |
| /dev/sda2 |
Partizione root |
| /dev/sda3 |
Intero disco (richiesto) |
Cambiare le partizioni in base alle proprie impostazioni.
Identificare i dischi disponibili
Per vedere quali sono i dischi che si stanno usando, usare i seguenti comandi:
Codice 3.1: Identificare i dischi disponibili |
# dmesg | grep 'drive$'
# dmesg | grep 'scsi'
|
Da questo output dovreste vedere quali dischi sono stati rilevati e il loro
rispettivo /dev. Nelle parti seguenti si assume che il disco è
SCSI su /dev/sda.
Aprire fdisk:
Codice 3.2: Aprire fdisk |
# fdisk /dev/sda
|
Rimuovere tutte le partizioni
Se il disco è completamente vuoto, allora si dovrà prima creare una etichetta
BSD.
Codice 3.3: Creare una etichetta BSD |
Command (m for help): b
/dev/sda contains no disklabel.
Do you want to create a disklabel? (y/n) y
3 partitions:
# start end size fstype [fsize bsize cpg]
c: 1 5290* 5289* unused 0 0
|
Si comincia con eliminare tutte le partizioni tranne quella 'c' (un
requisito per le etichette BSD). La parte seguente mostra come eliminare una
partizione (nell'esempio si usa 'a'). Ripetere il processo per eliminare tutte
le altre partizioni (di nuovo, tranne la 'c').
Usare p per vedere tutte le partizioni esistenti. d è usato per
eliminare una partizione.
Codice 3.4: Eliminare una partizione |
BSD disklabel command (m for help): p
8 partitions:
# start end size fstype [fsize bsize cpg]
a: 1 235* 234* 4.2BSD 1024 8192 16
b: 235* 469* 234* swap
c: 1 5290* 5289* unused 0 0
d: 469* 2076* 1607* unused 0 0
e: 2076* 3683* 1607* unused 0 0
f: 3683* 5290* 1607* unused 0 0
g: 469* 1749* 1280 4.2BSD 1024 8192 16
h: 1749* 5290* 3541* unused 0 0
BSD disklabel command (m for help): d
Partition (a-h): a
|
Dopo aver ripetuto questo processo per tutte le partizioni, si dovrebbe vedere
un elenco come questo:
Codice 3.5: Vedere uno schema vuoto |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
c: 1 5290* 5289* unused 0 0
|
Creare la partizione swap
Sui sistemi Alpha non si ha bisogno di una partizione separata di boot.
Tuttavia, il primo cilindro non può essere usato poichè l'immagine di
aboot sarà messa lì.
Sarà creata una partizione swap partendo dal terzo cilindro, per una
grandezza totale di 1 GB. Usare n per creare una nuova partizione.
Dopo averla creata, si cambierà il suo tipo a 1 (uno), cioè
swap.
Codice 3.6: Creare la partizione swap |
BSD disklabel command (m for help): n
Partition (a-p): a
First cylinder (1-5290, default 1): 3
Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M
BSD disklabel command (m for help): t
Partition (a-c): a
Hex code (type L to list codes): 1
|
Dopo questi passi si dovrebbe vedere uno schema simile al seguente:
Codice 3.7: Partizioni dopo aver creato la partizione swap |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
a: 3 1003 1001 swap
c: 1 5290* 5289* unused 0 0
|
Creare la partizione root
Sarà creata la partizione root, partendo dal primo cilindro
dopo la partizione swap. Usare il comando p per vedere dove
finisce la partizione swap. In questo esempio, finisce a 1003, e così la
partizione root comincierà a 1004.
Un altro problema è che c'è attualmente un bug in fdisk, il quale
pensa che il numero dei cilindri disponibili sia uno in più rispetto al reale
numero di cilindri. In altre parole, quando si chiederà il numero dell'ultimo
cilindro, si deve diminuire il numero del cilindro (nell'esempio: 5290) di uno.
Dopo aver creato la partizione, si cambi il tipo a 8, per ext2.
Codice 3.8: Creare la partizione root |
D disklabel command (m for help): n
Partition (a-p): b
First cylinder (1-5290, default 1): 1004
Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289
BSD disklabel command (m for help): t
Partition (a-c): b
Hex code (type L to list codes): 8
|
Lo schema dovrebbe essere simile a questo:
Codice 3.9: Vedere lo schema |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
a: 3 1003 1001 swap
b: 1004 5289 4286 ext2
c: 1 5290* 5289* unused 0 0
|
Salvare lo schema delle partizioni e uscire
Salvare fdisk digitando w. Questo salverà anche lo schema delle
partizioni.
Codice 3.10: Salvare ed uscire da fdisk |
Command (m for help): w
|
Ora che sono create le partizioni, si può continuare con
Creare i filesystem.
4.d. Usare fdisk per partizionare il disco (solo ARC/AlphaBIOS)
La parte seguente spiega come partizionare un disco con uno schema
di partizioni simile a quello descritto precedentemente:
| Partizione |
Descrizione |
| /dev/sda1 |
Partizione boot |
| /dev/sda2 |
Partizione swap |
| /dev/sda3 |
Partizione root |
Cambiare lo schema di partizioni in base alle proprie preferenze.
Identificare i dischi disponibili
Per vedere quali sono i dischi che si stanno usando, usare i seguenti comandi:
Codice 4.1: Identificare i dischi disponibili |
# dmesg | grep 'drive$'
# dmesg | grep 'scsi'
|
Da questo output dovreste vedere quali dischi sono stati rilevati e il loro
rispettivo /dev. Nelle parti seguenti si assume che il disco è
SCSI su /dev/sda.
Aprire fdisk:
Codice 4.2: Aprire fdisk |
# fdisk /dev/sda
|
Rimuovere tutte le partizioni
Se il disco è completamente vuoto, allora si dovrà prima creare una etichetta
DOS.
Codice 4.3: Creare una etichetta DOS |
Command (m for help): o
Building a new DOS disklabel.
|
Si comincia con eliminare tutte le partizioni. Il seguente esempio mostra come
eliminare una partizione (nell'esempio la '1'). Ripetere il processo per
eliminare tutte le altre partizioni.
Usare p per vedere tutte le partizioni esistenti. Per eliminare una
partizione si usa d.
Codice 4.4: Eliminare una partizione |
command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 478 489456 83 Linux
/dev/sda2 479 8727 8446976 5 Extended
/dev/sda5 479 1433 977904 83 Linux Swap
/dev/sda6 1434 8727 7469040 83 Linux
command (m for help): d
Partition number (1-6): 1
|
Creare la partizione boot
Sui sistemi Alpha che usano MILO per avviarsi, si deve creare una
piccola partizione boot vfat.
Codice 4.5: Creare la partizione boot |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-8727, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-8727, default 8727): +16M
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
|
Creare la partizione swap
Si creerà una partizione swap partendo dal terzo cilindro, con un totale di 1
GB. Si usa n per creare una nuova partizione.
Codice 4.6: Creare la partizione swap |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (17-8727, default 17): 17
Last cylinder or +size or +sizeM or +sizeK (17-8727, default 8727): +1000M
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
|
Dopo questi passi si dovrebbe vedere uno schema simile al seguente:
Codice 4.7: Partizioni dopo aver creato la partizione swap |
Command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 16 16368 6 FAT16
/dev/sda2 17 971 977920 82 Linux swap
|
Creare la partizione root
Si creerà la partizione root. Si usa il comando n.
Codice 4.8: Creare la partizione root |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (972-8727, default 972): 972
Last cylinder or +size or +sizeM or +sizeK (972-8727, default 8727): 8727
|
Dopo questi passi si dovrebbe vedere uno schema simile al seguente:
Codice 4.9: Partizioni dopo aver creato la partizione root |
Command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 16 16368 6 FAT16
/dev/sda2 17 971 977920 82 Linux swap
/dev/sda3 972 8727 7942144 83 Linux
|
Salvare lo schema delle partizioni e uscire
Salvare fdisk digitando w. Questo salverà anche lo schema
delle partizioni.
Codice 4.10: Salvare ed uscire da fdisk |
Command (m for help): w
|
Ora che sono create le partizioni, si può continuare con
Creare i filesystem.
4.e. 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. La maggior parte è stabile
sull'architettura Alpha.
Nota:
aboot supporta il boot solo da partizioni ext2 e ext3.
|
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
riscotrano 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 root (/dev/sda2 nell'esempio)
in ext3, si usa:
Codice 5.1: Applicare un filesystem su una partizione |
# mke2fs -j /dev/sda2
|
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 5.2: Creare una signature swap |
# mkswap /dev/sda1
|
Per attivare la partizione swap, usare swapon:
Codice 5.3: Attivare la partizione swap |
# swapon /dev/sda1
|
Creare e attivare swap con il comando menzionato sopra.
4.f. 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 6.1: Montare le partizioni |
# mount /dev/sda2 /mnt/gentoo
|
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.
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.
|