Ultimamente, ho svolto molte ricerche e scritto sulle utilità di gestione del disco in Linux e sulle diverse opzioni che noi, come amministratori di sistema e operatori, abbiamo a nostra disposizione per svolgere questo tipo di attività. La gestione del disco è stata e sarà molto probabilmente una delle considerazioni più cruciali per gli amministratori di sistema. Tutto ciò che facciamo è in qualche modo legato a un dispositivo di archiviazione. Garantire che i nostri progetti, i backup, i dati dei clienti e degli utenti siano tutti adeguatamente segmentati e archiviati è assolutamente essenziale.
Per questo motivo, sono state sviluppate più utilità per alleggerire il carico della gestione dello storage. Di recente ho scritto una serie di articoli sul popolare Logical Volume Manager (LVM) e questo mi ha portato a esplorare le altre opzioni che abbiamo per creare e partizionare dischi e volumi.
Voglio dare un'occhiata in particolare alla suite di comandi fdisk
.
fdisk
Il fdisk
command suite è una classica utilità di partizionamento del disco sviluppata all'inizio degli anni '80. È stato rilasciato per un'ampia varietà di sistemi operativi. Tuttavia, qui ci concentreremo su di esso come strumento Linux. Ha un'enorme quantità di funzionalità. Dall'elenco, dalla creazione, dalla rimozione e dalla formattazione, fdisk
può fare tutto. Quindi diamo un'occhiata a come funziona.
Elenco delle partizioni con fdisk
Il fdisk -l
Il comando ti consente di visualizzare tutte le partizioni del tuo sistema:
[root@rhel ~]# fdisk -l
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x184931d5
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 62914559 60815360 29G 8e Linux LVM
Disk /dev/sdc: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Ora che sappiamo quali partizioni abbiamo, creeremo e formatteremo una nuova.
Creazione di partizioni con fdisk
Per creare una nuova partizione con fdisk
, è necessario selezionare un disco primario con spazio inutilizzato. Una volta deciso il disco che desideri utilizzare, dovrai eseguire quanto segue (ho scelto di lavorare in /dev/sdb
):
[root@rhel ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only until you decide to write them.
Be careful before using the write command.
Does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x569c5370.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-2097151, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-2097151, default 2097151): +500
Created a new partition 1 of type 'Linux' and of size 250.5 KiB.
**Be sure to write your changes to disk using the `w` flag**
Vedrai che abbiamo prima inserito il prompt dei comandi per il disco che volevamo usare /dev/sdb
. Usa il n
opzione per creare una nuova partizione. Dobbiamo quindi decidere se stiamo creando una partizione primaria o una partizione estesa. Per questo esempio, ho creato una partizione primaria (designata con la selezione p
). Quindi etichettiamo la partizione usando un numero di partizione. Se questa è la prima nuova partizione che stai creando, sentiti libero di usare il numero 1
. In caso contrario, numerare in modo appropriato. Dopo aver effettuato le nostre selezioni, dobbiamo designare la dimensione della partizione che stiamo creando. Come /dev/sdb
era solo 1 GB, ho deciso di mantenerlo piccolo qui e creare solo una partizione da 250 KiB. Ho lasciato il First sector
porzione vuota e inserito +500
. Partizione creata! Ora formattiamo.
Formattazione delle partizioni in Linux
Come fdisk
non ha un comando di formattazione interno, useremo il mkfs
comando.
La sintassi è qualcosa del genere:
[root@rhel ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.44.6 (5-Mar-2019)
Filesystem too small for a journal
Creating filesystem with 248 1k blocks and 32 inodes
Allocating group tables: done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Eliminazione di partizioni con fdisk
Per rimuovere una partizione usando fdisk
, devi inserire il prompt dei comandi per fdisk
sul disco da cui stai rimuovendo. Ad esempio, per rimuovere la partizione che ho creato nell'esempio precedente (/dev/sdb1
), devo inserire la riga di comando per /dev/sdb
. Quindi dai il d
opzione per eliminare e selezionare il numero di partizione che desidero rimuovere. Poiché c'è solo una partizione in /dev/sdb
ha cancellato l'unico esistente qui senza ulteriori input. Ancora una volta, assicurati di scrivere le modifiche sul disco con w
bandiera.
[root@rhel ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Concludi
Consiglio vivamente di controllare fdisk
utilità per te stesso. Non c'è pratica migliore che accendere una macchina virtuale e giocare nel filesystem. Se sbagli, puoi semplicemente spazzare via la VM e ricominciare. Ti esorto anche a confrontare il tuo fdisk
esperienza con quella di LVM. Personalmente preferisco l'utilità LVM in quanto è un po' più facile da usare, tuttavia, nella migliore delle ipotesi è soggettivo. Se sei interessato alla mia serie LVM, la trovi in fondo all'articolo. Esplorerò anche il parted
comando in un prossimo articolo, quindi tienilo d'occhio!
[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]