Le partizioni del disco sono la base per archiviare i nostri dati sui dischi. Per essere in grado di gestire le partizioni, in questa parte del tutorial di preparazione all'esame RHCSA aggiungeremo un disco vuoto al nostro sistema di test RHEL 8 e creeremo, elencheremo ed elimineremo una nuova partizione su di esso. Per prima cosa utilizzeremo la classica configurazione MBR (Master Boot Record), quindi faremo lo stesso con la configurazione GPT (GUID Partitioning Table). GPT è una tecnica di partizionamento più avanzata che consente partizioni di grandi dimensioni, mentre MBR è limitato a 2 TB di spazio su disco per partizione. Quindi, se al momento non sembra una dimensione molto limitante, pensa alla tendenza dell'utilizzo del disco, che potrebbe non essere così tanto dal punto di vista dell'utente finale, ma sicuramente lo è dal punto di vista del lavoro di amministrazione del sistema Linux.
In questo tutorial imparerai:
- Come creare una nuova partizione MBR usando fdisk
- Come elencare le partizioni classiche usando fdisk
- Come eliminare la partizione usando fdisk
- Come creare una partizione GPT usando gdisk
- Come elencare le partizioni GPT
- Come eliminare le partizioni GPT
Creazione di una partizione da 1 GB con fdisk
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Red Hat Enterprise Linux 8.0 |
Software | util-linux 2.32.1, gdisk 1.0.3 |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Gestione delle partizioni
Il partizionamento è il primo passaggio dell'espansione dello spazio su disco che può essere utilizzato dal sistema per l'archiviazione dei dati. Tratteremo sia il partizionamento MBR che GPT, la creazione, l'elenco e infine l'eliminazione delle partizioni.
Se un disco contiene già dati importanti, crea sempre un backup prima di modificare le partizioni, per ogni evenienza. Sebbene l'aggiunta di nuove partizioni allo spazio su disco vuoto non danneggi i dati, l'eliminazione di una partizione farà esattamente questo, distruggendo tutto su quella partizione.
Nella nostra configurazione di prova, il nostro sistema ha appena ricevuto un nuovo disco da 2 GB disponibile per il partizionamento. È completamente grezzo, nessun dato o filesystem presente, quindi è perfettamente sicuro per noi cambiare il partizionamento a piacimento. Il nostro disco principale che contiene il sistema operativo si chiama /dev/sda
che ha una dimensione di 15 GB, mentre il nuovo disco è riconosciuto dal nostro sistema come /dev/sdb
. Vedremo il layout del partizionamento nel primo passaggio.
- Per elencare le partizioni, possiamo usare
fdisk
. Lo faremo per vedere la nostra configurazione all'inizio.# fdisk -l Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 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: 0x906d1ee8 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 31457279 29358080 14G 8e Linux LVM Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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/mapper/rhel-root: 12.5 GiB, 13417578496 bytes, 26206208 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/mapper/rhel-swap: 1.5 GiB, 1610612736 bytes, 3145728 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
Nell'output possiamo vedere che abbiamo il disco principale
/dev/sda
con due partizioni,/dev/sda1
e/dev/sda2
su di essa. Possiamo vedere il nostro nuovo/dev/sdb
vuoto senza ancora partizioni, così come i volumi logici contenuti nel sistema. Per questo tutorial ignoreremo tutto il resto e ci concentreremo sul disco vuoto. - Per creare una nuova partizione sul disco vuoto, la forniremo come argomento a
fdisk
:# 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.
Il
fdisk
l'utilità attende i nostri comandi. Vorremmo creare una nuova partizione, quindi premiamo "n".Command (m for help): n
Dobbiamo creare una partizione primaria, quindi la risposta alla prossima domanda è "p".
Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p
Le prossime domande riguardano il numero della partizione, il primo e l'ultimo settore, che determineranno la dimensione effettiva della partizione. Nel nostro esempio stiamo creando una singola partizione che coprirà il disco e i valori predefiniti sono prima partizione, primo settore disponibile per iniziare e ultimo settore con cui terminare, che è proprio quello di cui abbiamo bisogno. Quindi accetteremo le impostazioni predefinite per queste domande.
Partition number (1-4, default 1): First sector (2048-4194303, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303): Created a new partition 1 of type 'Linux' and of size 2 GiB.
Non ci limitiamo a contare in settori quando definiamo la fine della partizione. Come suggerisce l'utilità, possiamo specificare una dimensione esatta. Ad esempio, se desideriamo una partizione di 1 GB, nell'ultimo settore potremmo fornire:
Last sector, +sectors or +size{K,M,G,T,P} (34-4194270, default 4194270): +1G
La partizione è ora completa, ma come l'utilità indica all'avvio, le modifiche sono in memoria solo fino a quando non le scriviamo sul disco. Questo è apposta e l'avviso è in atto per una buona ragione:scrivendo le modifiche sul disco, distruggiamo tutto ciò che risiedeva nell'intervallo di settori che copriamo con la nostra nuova partizione. Siamo sicuri che non ci sarà alcuna perdita di dati, quindi scriviamo le modifiche su disco:
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
Per essere sicuri che il sistema operativo sia a conoscenza delle modifiche, eseguiamo
partprobe
:# partprobe
Possiamo usare
fdisk -l
caratteristica per essere più specifici aggiungendo il nome del dispositivo che ci interessa.# fdisk -l /dev/sdb Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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: 0x29ccc11b Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 4194303 4192256 2G 83 Linux
E nell'output possiamo vedere che il nostro disco ora contiene un nuovo
/dev/sdb1
partizione pronta per essere utilizzata. - L'eliminazione della partizione è sostanzialmente lo stesso processo all'indietro. L'utilità è costruita in modo logico:specifichiamo il dispositivo su cui vorremmo lavorare e quando selezioniamo l'eliminazione della partizione con il comando "d", cancellerà la nostra unica partizione senza alcun dubbio, perché ce n'è solo una sul disk.
# 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.
Anche se questo è abbastanza conveniente, tieni presente che questo strumento rende davvero facile cancellare i dati dal disco con una sola pressione di un tasto. Questo è il motivo per cui tutti gli avvisi sono a posto, devi sapere cosa stai facendo. Le misure di sicurezza sono ancora in atto, non cambia nulla sul disco finché non lo scriviamo.
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. # partprobe # fdisk -l /dev/sdb Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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: 0x29ccc11b
- Per creare un layout di partizione basato su GPT, utilizzeremo il
gdisk
(Fdisk GPT). Il suo funzionamento interno risulterà familiare se stai leggendo dall'inizio di questo tutorial.# gdisk /dev/sdb GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present *************************************************************** Found invalid GPT and valid MBR; converting MBR to GPT format in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if you don't want to convert your MBR partitions to GPT format! *************************************************************** Command (? for help): n Partition number (1-128, default 1): First sector (34-4194270, default = 2048) or {+-}size{KMGTP}: Last sector (2048-4194270, default = 4194270) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
Dal punto di vista dei comandi abbiamo fatto lo stesso, avviato la creazione di una nuova partizione con "n", accettato le impostazioni predefinite che coprono l'intero disco con la nuova partizione, quindi scritto le modifiche sul disco. Vengono visualizzati due nuovi avvisi, il primo è presente solo perché abbiamo partizionato lo stesso disco con
fdisk
precedente, che è stato rilevato dagdisk
. L'ultimo è un ulteriore "sei sicuro?" tipo di domanda, prima di poter finalmente sovrascrivere quel povero disco. - L'elenco delle partizioni GPT richiede lo stesso passaggio a
gdisk
:# gdisk -l /dev/sdb GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdb: 4194304 sectors, 2.0 GiB Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05 Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 4194270 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 4194270 2.0 GiB 8300 Linux filesystem
fdisk
riconosce anche che il disco è partizionato:# fdisk -l /dev/sdb Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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: gpt Disk identifier: 3AA3331F-8056-4C3E-82F3-A67254343A05 Device Start End Sectors Size Type /dev/sdb1 2048 4194270 4192223 2G Linux filesystem
- L'eliminazione della partizione GPT che abbiamo creato è simile a quella del caso MBR, con l'aggiunta del controllo di integrità aggiuntivo:
# gdisk /dev/sdb GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): d Using 1 Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
L'elenco del disco ora mostra che abbiamo effettivamente eliminato la partizione GPT dal disco.
# gdisk -l /dev/sdb GPT fdisk (gdisk) version 1.0.3 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdb: 4194304 sectors, 2.0 GiB Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05 Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 4194270 Partitions will be aligned on 2048-sector boundaries Total free space is 4194237 sectors (2.0 GiB) Number Start (sector) End (sector) Size Code Name
Esercizi
- Crea più partizioni sullo stesso disco. Verifica la loro capacità e il nome del dispositivo.
- Crea partizione su un disco GPT con
fdisk
. La tua versione gestisce entrambi i tipi? - Prova le cinture di sicurezza integrate in
fdisk
egdisk
utilities. Prova a specificare i settori fuori dall'intervallo, il primo settore più grande dell'ultimo, ecc.