GNU/Linux >> Linux Esercitazione >  >> Linux

Come ridurre un volume fisico?

Ho un volume fisico su una partizione che si estende sull'intero disco, diciamo /dev/sda1 usando il 100% di /dev/sda. Ora devo ridurlo per creare /dev/sda2. Un volume logico in realtà utilizza circa il 50% del PV, quindi in teoria c'è molto spazio disponibile, ma è tutto allocato all'interno del singolo PV. Esiste un modo sicuro per ridurre il volume fisico (e la partizione del disco sottostante), per creare spazio aggiuntivo per la seconda partizione? Sfortunatamente, la mia configurazione esclude la possibilità di spostare temporaneamente il volume fisico su un altro dispositivo.

Naturalmente, so che posso farlo a livello di file (come eseguire il backup dei contenuti, ripartizionare l'unità disco e ricreare la configurazione LVM), ma preferirei fare il lavoro senza la necessità di configurare LV da zero.

Grazie in anticipo.

Risposta accettata:

Se hai solo bisogno di un altro filesystem separato, non devi creare una nuova partizione:puoi creare un altro volume logico LVM all'interno del gruppo di volumi esistente usando lo spazio non allocato nel PV. Ma se hai specificamente bisogno di una nuova partizione , quindi devi fare come avevi pianificato inizialmente.

GParted è uno strumento GUI che può eseguire l'intera operazione di ridimensionamento della partizione PV + per te. Molto probabilmente lo troverai nella raccolta di pacchetti della tua distribuzione.

Ma se non puoi o non vuoi usarlo per qualche motivo, continua a leggere...

Ridurre un volume fisico LVM che contiene spazio non allocato è piuttosto semplice. Ad esempio, per ridurre la dimensione di /dev/sda1 a 40 GiB:

# pvresize --setphysicalvolumesize 40G /dev/sda1

Questo comando è sicuro, poiché si rifiuterà di fare qualsiasi cosa se la parte del PV che taglierebbe contiene estensioni allocate.

Ma questo è solo il primo passo. Il secondo passo sarà ridurre le dimensioni della partizione stessa.

Per sicurezza, si consiglia di ridurre inizialmente il PV un po' più di quanto si prevede di ridurre effettivamente la partizione, in modo che dopo aver ridotto la partizione sia possibile estendere esplicitamente il PV per coprire l'intera dimensione della partizione. Se l'operazione di estensione fallisce, saprai immediatamente che qualcosa è andato storto nel ridimensionamento della partizione e non lascerai errori nascosti per intrappolare te o qualcun altro in futuro.

Puoi ridurre una partizione usando un semplice fdisk Linux comando, ma devi tenere a mente alcune cose:

  • Quando si utilizza fdisk per ridimensionare una partizione, assicurati di impostarla per visualizzare tutte le dimensioni della partizione e le posizioni di partenza in settori primo. Durante la storia di Linux fdisk , il suo comportamento è variato qui:le versioni moderne lo fanno per impostazione predefinita, le versioni precedenti potrebbero aver bisogno di un -u o -u=sectors opzione per farlo.
  • Quando si ridimensiona una partizione esistente, non è possibile spostare il punto iniziale della partizione. (Se sposti il ​​punto di partenza, non sarà più una semplice operazione di ridimensionamento, ma un'operazione di spostamento della partizione più complessa.)
Correlati:Macos – Come montare automaticamente un volume TrueCrypt su OSX dopo l'accesso con password/file chiave?

Quando si utilizza fdisk , eventuali modifiche vengono scritte sul disco solo quando utilizzi il w comando. Quindi suggerirei di procedere in questo modo:

  • usa sfdisk -d /dev/sda > /safe/location/partition_table_backup.dump per eseguire il backup della tabella delle partizioni esistente.
  • avvia fdisk /dev/sda in modalità interattiva
  • usa il p comando per visualizzare la tabella delle partizioni corrente e verificare che i valori "inizio" e "fine" vengano visualizzati come settori. Prendi nota del valore di "inizio".
  • usa il d comando per eliminare la voce della partizione corrente per sda1 .
  • usa il n comando per ricreare la voce della partizione primaria 1 per sda1 nella dimensione desiderata, avendo cura di specificare la posizione del primo settore esattamente com'era (ovvero lo stesso numero visualizzato nel valore di “inizio” del p comando).
  • usa il t comando per impostare il tipo della partizione 1 su “Linux LVM”.
  • ricontrolla il tuo lavoro
  • usa il w comando per scrivere la tabella delle partizioni aggiornata ed uscire da fdisk .

Presta attenzione al messaggio visualizzato da fdisk alla fine. Se dice "Il kernel usa ancora la vecchia tabella", qualcosa sta bloccando l'aggiornamento della tabella delle partizioni in linea. Puoi provare partprobe /dev/sda per dire al kernel di rileggere la tabella delle partizioni (usando un'interfaccia più recente rispetto ad alcune versioni precedenti di fdisk usa, quindi potrebbe aiutare e di certo non farà male) e poi guarda cat /proc/partitions per vedere se la partizione è ora riconosciuta dal kernel alla dimensione prevista.

Se il ridimensionamento della partizione ha esito positivo, ora puoi eseguire pvresize /dev/sda1 . Se hai seguito il mio consiglio e hai ridimensionato il PV inizialmente un po' più piccolo della nuova dimensione desiderata della partizione, ora dovrebbe estendere con successo un po' il PV per coprire completamente la partizione ridimensionata automaticamente. Se questo comando segnala un errore, probabilmente hai commesso un errore nello specificare la nuova dimensione e dovresti usare sfdisk /dev/sda < /safe/location/partition_table_backup.dump per ripristinare la tabella delle partizioni a quella che era inizialmente, quindi riprovare.

(Su sistemi molto vecchi, potrebbe essere necessario disattivare VG prima di eseguire partprobe o anche riavviare per consentire al sistema di rileggere la tabella delle partizioni aggiornata.)

Una volta completata l'operazione di ridimensionamento, ora puoi utilizzare fdisk di nuovo per creare la seconda partizione necessaria. Sì, puoi anche farlo insieme ridimensionando la partizione, ma fare solo una cosa alla volta è più sicuro e ti assicura di poter facilmente ripristinare le modifiche se necessario.


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

  2. Come partizionare un disco in Linux

  3. Come eseguire il backup o clonare le partizioni Linux utilizzando il comando "cat".

  4. Come creare una partizione Lvm/volume fisico> 2 TB?

  5. RHEL / CentOS:come ridurre il volume LVM

Come clonare dischi con il comando dd di Linux

Come creare un volume fisico in Linux usando LVM

Come clonare e ripristinare la partizione Linux usando il comando dd

Come creare una partizione usando il comando "separato".

Come modificare un sistema di partizione fisica in LVM?

È possibile ridurre in linea un volume EXT4 con LVM?