È possibile convertire un box Linux in LVM dopo il fatto?


17

Il mio server Linux utilizza LVM perché ho sostituito la macchina un anno fa e installata da zero. LVM ha salvato la vita e adoro la sua flessibilità. Il mio laptop Linux, tuttavia, è stato installato per l'ultima volta tre anni fa e quindi utilizza partizioni diritte.

È possibile - senza una reinstallazione - convertire un sistema esistente in LVM? In tal caso, quali strumenti possono fare questo lavoro?

Mi aspetto che qualsiasi filesystem da condividere con Windows su un sistema a doppio avvio non possa essere LVM. Se sbaglio, per favore fatemi sapere, ma sarei sorpreso.

Risposte:


11

Sì, questo può essere fatto.

Sì, puoi usarlo per un sistema Windows a doppio avvio, a condizione che tu faccia di Windows la prima partizione, ed è una partizione primaria (non estesa all'interno di una logica). Le mie istruzioni qui non coprono questa situazione, che richiede che tu abbia una certa esperienza con il doppio avvio. Se stai cercando un'installazione windows / linux a doppio avvio, non seguire alcun consiglio sotto questo punto.


Andrò ancora meglio: con poche eccezioni, dovresti essere in grado di migrare l'intero laptop dal vivo , a condizione che tu utilizzi un'unità esterna con una capacità sufficiente.

Avvertimento! Questo procedimento è ESTREMAMENTE PERICOLOSO! Si assume che si abbia una profonda conoscenza del processo di partizionamento, si dispone di una partizione separata / boot, e si sa di un tentativo fallito si può lasciare con un'installazione cerebroleso che vi si avvia! SEI STATO AVVERTITO!

Avrai bisogno:

  • / boot si trova su una partizione separata. Se hai un filesystem di root combinato (tutto è inserito in /) allora questo non funzionerà.
  • La possibilità di avviare da un disco rigido USB.
  • un'unità esterna abbastanza grande da contenere tutti i dati e i programmi sul sistema esistente. Assicurati di eseguire un "du /" e attendi il risultato finale, per avere un'idea reale del tipo di spazio di cui avrai bisogno.

Procedura generale (perdonami per mancanza di alcuni comandi, scrivo molto rapidamente):

  1. Collegare l'unità esterna e individuare il nome del suo dispositivo. Facciamo finta di vederlo come / dev / sdb.
  2. Crea due partizioni sul tuo disco esterno. Nel nostro esempio, questo apparirà come / dev / sdb1 e / dev / sdb2.

    parted / dev / sdb

  3. Formatta la prima partizione come ext2 o ext3 ed etichettata "boot". Formattare la seconda partizione sull'unità esterna come tipo "Linux LVM".

  4. Ottieni il volume LVM appena coniato riconosciuto dal sistema usando

    pvscan; vgscan

  5. Taglia un pezzo abbastanza grande del volume esterno LVM per contenere l'intero disco rigido del laptop. In caso di dubbio, basta usare tutto lo spazio disponibile.

  6. Formatta il tuo volume basato su LVM come ext3 o qualunque sia il filesystem che solletica la tua fantasia.

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. Per ogni montaggio di file system non speciale , creare una directory sul disco esterno e copiare (con attributi) tutti i file in ciascun montaggio su quel disco. Ignora le copie dei mountpoint come / proc, ecc. Poiché questi sono "speciali".

  8. creare manualmente i punti di montaggio speciali, in modo che esistano sul disco esterno. Non popolarli, assicurati solo che i nomi e le autorizzazioni corrispondano.
  9. (Molto attentamente) usa il tuo bootloader per installare un'immagine di avvio sul tuo disco esterno, nella partizione / boot. Questo processo è un po 'complesso, quindi ti lascerò per trovare le informazioni altrove. È anche pericoloso se fallisci: potresti finire per provare a sovrascrivere il tuo bootloader sul tuo laptop. Stai attento.
  10. Riavvia il tuo laptop. Quando passa attraverso il POST, assicurati di specificare l'unità esterna come unità di avvio. A questo punto, dovresti avere una replica (più o meno) quasi del disco del tuo laptop. (agli altri amministratori là fuori: sì, lo so, i file di registro e gli altri non sono in uno stato copiato al 100%, ma non è questo l'enfasi qui ... si tratta di spostare i dati e gli strumenti ...)
  11. Dopo aver eseguito l'avvio dall'unità esterna, è possibile utilizzarlo per cancellare l'unità del laptop. A questo punto, stai "vivendo fuori" dal tuo disco esterno. Tienilo a mente.
  12. Quindi utilizzare un editor di partizioni - gparted o altro - per eliminare le partizioni laptop originali (dati di arrivederci ...), quindi contrassegnare l'area appena coniata come "LVM". Passa attraverso il processo per ottenere il tuo volume LVM riconosciuto, partizionato, formattato, ecc.
  13. Utilizzando il processo di mirroring di LVM, esegui il mirroring del tuo sistema live (che si trova attualmente sull'unità esterna) di nuovo sull'unità laptop. Fai una pausa pranzo (o due) per questo perché ci vorrà del tempo.
  14. Rimontare il filesystem live, spostando il filesystem / dall'unità esterna al volume LVM del laptop.
  15. Rieseguire il processo di installazione del bootloader. Questo è fondamentale poiché l'attuale ramdisk non avrà le giuste impostazioni e non saprà che hai spostato le cose. In caso contrario, si verificherà un sistema non avviabile e una visita a un disco di ripristino. Se tutto il resto fallisce, è possibile riavviare dall'unità esterna (nulla perso ...)
  16. Riavviare il laptop senza l'unità esterna collegata e specificare invece l'unità interna del laptop. Dovrebbe avviarsi bene. Nota tutto ciò che sente o sembra ferito o rotto (non dovrebbe esserci nulla) e correggilo.
  17. Siediti e goditi una bevanda per un lavoro ben fatto.

3
Ovviamente è possibile eseguire una migrazione in tempo reale verso l'archiviazione esterna (se sei abbastanza coraggioso puoi persino ruotare il sistema in esecuzione sul disco esterno e tornare indietro senza riavviare: D); eseguire l'intero processo da un CD live dovrebbe essere meno soggetto a errori (ad esempio, FS virtuali fuori mano ...)
Luca Tettamanti,

2
E a proposito, LILO e la nuova versione di GRUB (quella che diventerà 2.0) hanno il supporto nativo per LV - non c'è bisogno di una partizione separata / boot.
Luca Tettamanti

Lo so. Ma ho pensato "meglio prevenire che curare". Avere una partizione nativa rende le cose un po 'più semplici. Forse l'OP deve usare uno strumento basato su Windows che non capisce LVM (molti non lo fanno) - nel qual caso, almeno può modificare menu.lst con grub, ecc. Secondo necessità. Ma grazie per l'input! :)
Avery Payne,

6

Di recente ho scritto blocchi (née lvmify) che esegue questa conversione sul posto. Prende una singola partizione, riduce il file system se necessario, sposta l'inizio del file system alla fine della partizione e copia un superblocco LVM (preconfigurato con il giusto PV / LV / VG) al suo posto. Se si dispone di più partizioni, l'unione dei gruppi di volumi appena creati viene eseguita vgmerge. Non può funzionare su filesystem montati.


2
Ho appena migrato le mie 2 partizioni ext4 (per un totale di 120 GB) su LVM in circa 2 minuti usando i blocchi. Ha funzionato perfettamente.
Amr Mostafa,

3

Il modo più semplice per spostare un sistema Linux su LVM è usare un disco esterno (USB, eSATA) e un sistema basato su CD-ROM come grml per spostare tutti i dati dal PC sul disco esterno, quindi ricomporre il PC con LVM. Infine, copia tutto indietro e configura e reinstalla grub nell'MBR.

Questa procedura è leggermente complicata, ma sono sempre disponibili i dati sull'unità esterna e sul CD-ROM per avviare il sistema.

Come previsto, Windows non è in grado di accedere ad alcun volume LVM.


1

A partire dal basso: no, windows non può leggere volumi logici LVM (partizioni).

Se si dispone di un disco di riserva che può essere utilizzato come memoria temporanea, è solo una questione di avvio da un CD live, copia dei dati nella posizione temporanea, creazione di uno o più LV e reimpostazione dei dati. È impraticabile (ma possibile) fare una conversione sul posto in LVM; fondamentalmente devi ridurre la vecchia partizione e ridimensionare il LV più volte (e il LV finale sarebbe frammentato)


1

Hai un'installazione di diversi anni su un laptop. È una proposta perdente convertirla in LVM. Eseguire il backup dei dati, reinstallare e copiare nuovamente i dati. Avrai un sistema pulito con nuovo software e i tuoi dati.

Se non puoi farlo perché non sai dove sono i tuoi dati, hai un grosso problema e questa è la tua occasione per risolverli.



0

Probabilmente dovrai eseguire il backup dei dati su un'altra unità o partizione (o iso?), Creare il contenitore LVM e quindi ripristinare i dati nel contenitore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.