GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare lo schema di partizione sul tuo server Linux?

Una volta ottenuto un VPS presso un provider di hosting come DigitalOcean o OVH, potresti voler personalizzare il layout della partizione. Tuttavia, spesso non hai scelta:selezioni il sistema operativo desiderato e poi viene installato su un'unica partizione, occupando tutto lo spazio disponibile su disco.

Tuttavia, i VPS non sono solo per server Web a partizione singola! A seconda delle tue esigenze, potresti voler aggiungere una partizione di swap, un'altra per i tuoi dati...

Fortunatamente, la maggior parte dei provider di hosting offre una modalità di salvataggio , un sistema operativo alternativo su un altro disco rigido, dal quale puoi modificare il sistema operativo normale e il disco rigido "normale".

Il resto di questa guida presuppone che l'unica partizione esistente sia di tipo Ext4 (o Ext2/3); è il caso se hai installato Debian o Ubuntu.

Non provare questo metodo dall'interno del sistema, usa la modalità di ripristino. Se non sei sicuro, controlla il tuo provider VPS se dà accesso alla console di ripristino. Il ridimensionamento del filesystem e della partizione non cancella i dati, dato che la nuova dimensione desiderata è maggiore della quantità attuale di dati. Tuttavia, fai un backup su disco/dispositivo/server esterno.

Diciamo che devi ridurre la partizione da 40 GiB a 2 GiB (a partire dall'inizio del disco), in modo da creare altre partizioni dopo di essa.

Passaggio 1:passa alla modalità di ripristino e identifica il disco

La prima cosa da fare è riavviare in modalità di ripristino, che di solito è un sistema Debian GNU/Linux. Ti verrà assegnata una root temporanea password per questo sistema temporaneo, solo SSH per esso.

Quindi, identifica il disco utilizzato dal tuo sistema normale; puoi usare fdisk -l .

Qui /dev/sdb è il disco su cui vogliamo modificare lo schema di partizione e /dev/sdb1 l'unica partizione per ora. /dev/sda è il disco in cui risiede il sistema di salvataggio temporaneo. Ovviamente, nel resto di questo tutorial, sostituisci sdb1 se non è il nome del dispositivo corretto.

Fase 2:riduci il filesystem

Controlla il filesystem con e2fsck -f /dev/sdb1 (altrimenti il ​​comando successivo, resize2fs , potrebbe non funzionare):

e2fsck e resize2fs potrebbero essere già installati sul sistema di ripristino, ma nel caso non siano presenti, installa il pacchetto e2fsprogs. Su Debian, esegui apt install e2fsprogs.

Inoltre, assicurati che la dimensione del filesystem non superi i 2 GiB. Fornire /mnt è vuoto, monta il filesystem con mount /dev/sdb1 /mnt e controlla le sue dimensioni con df :

Smonta il filesystem:umount /dev/sdb1 .

Prima di procedere con i seguenti comandi, e nel caso abbiate già personalizzato il sistema o aggiunto dati importanti, si consiglia di eseguire il backup dei file!

Andiamo:esegui resize2fs /dev/sdb1 2G .

"2G" significa 2 GiB, puoi anche scriverlo "2048M". Quando ho fatto lo screenshot qui sotto, ho pensato erroneamente a resize2fs inteso come 2000M, quindi invece ho fornito un numero di settori (4194304 * 512 byte per settore =2GiB). Il risultato è esattamente lo stesso.

Qui il programma riporta "524288 (4k) blocchi". 524288 * 4096 B =2 GiB, quindi va bene.

4k è la dimensione dell'unità (blocco) a livello di filesystem, mentre 512 è la dimensione dell'unità (settore) a livello di disco. Come faccio a sapere che è 512? Guarda lo screenshot "fdisk" qui sopra!

Passaggio 3:riduci la partizione

Finora, hai ridotto il filesystem, il che significa che non puoi aggiungere dati che non rientrano nella sua dimensione logica di 2 GiB. Ma la partizione, su cui si trova il filesystem, occupa ancora tutto lo spazio su disco.

Consiglio parted per la gestione delle partizioni in Linux. Su Debian, scaricalo con apt install parted . Questo strumento può essere utilizzato in modo interattivo. Avvialo con /dev/sdb come argomento:

Usa unit s , quindi tutte le dimensioni vengono visualizzate come numero di settori (anziché MiB, GiB, ecc.), utile per controllare le cose con precisione. In caso contrario, potresti riscontrare problemi come "La partizione risultante non è allineata correttamente per prestazioni ottimali" . Il print free il comando ti consente di vedere lo stato del disco:

Vuoi che la partizione 1 sia lunga 2 GiB, che equivale a 2*1024*1024*1024/512 =4194304 settori.

Esegui resizepart 1 . Viene quindi richiesta la posizione sul disco, espressa in settori dall'inizio del disco, in cui deve terminare la partizione. Poiché esiste un'area riservata , prima della partizione, che termina al settore 2047, devi inserire 4194304 + 2047 =4196351s .

Non dimenticare la "s" finale.

Rispondi "Sì" dopo il messaggio di avviso, quindi print free di nuovo per confermare che la partizione è stata ridimensionata.

Dalla mia esperienza, fermarsi qui e riavviare potrebbe "ripristinare" il layout della partizione nello stato precedente, ovvero come se non avessi mai ridotto la partizione!

Per "convalidare" le modifiche, è meglio aggiungere almeno una partizione nello spazio libero, ora.

Passaggio 4:aggiungi altre partizioni

Supponiamo di voler aggiungere una partizione Ext4 da 12 GiB dopo quella presa dal sistema operativo.

Innanzitutto, devi "dichiarare" la partizione, quindi viene aggiunta una voce nella tabella delle partizioni (da qualche parte nella zona riservata). Usa mkpart primary ext4 :

Come in questo esempio, avvia la partizione un settore dopo la fine di quello precedente, in modo da non sprecare spazio. Ecco 4196351 + 1 =4196352s .

La fine è a 12*1024*1024*1024/512 settori (la dimensione desiderata per questa partizione) + 4196351 settori (l'offset per essere la seconda partizione) =29362175s .

Quindi, esci da parted (C^d) e crea effettivamente un filesystem Ext4 su sdb2. Per applicare le impostazioni predefinite di Ext4, il comando è:
mkfs.ext4 /dev/sdb2

La fine

Questo articolo era solo un'introduzione su come manipolare partizioni e filesystem sulla riga di comando, concentrandosi sul caso pratico dei server che hanno una grande partizione per impostazione predefinita (e dove potresti volerla dividere). Spero sia stato utile.

Informazioni sull'autore:Paul Desplanque è autodidatta al 100% in cose relative ai computer. Con 8 anni di esperienza nello sviluppo di PHP alle spalle, Paul è piuttosto abile nell'auto-hosting.


Linux
  1. Come cambiare il colore del tuo terminale Linux

  2. Come creare un filesystem su una partizione Linux o un volume logico

  3. Come unire il tuo server Linux al progetto del pool NTP

  4. Come cambiare l'identità di un sistema Linux

  5. Come eseguire il benchmark o controllare la velocità del tuo server DNS su Linux?

Come impostare o modificare il fuso orario in Linux

Come cambiare il tuo nome host in Linux

Come controllare il carico del tuo server in Linux

Come modificare la password di root in Linux

Come modificare il nome host del server in Ubuntu

Come modificare il fuso orario su Ubuntu 18.04 Server?