Spostare il volume logico su un nuovo disco fisico


14

Ho tre volumi logici in un singolo gruppo di volumi usando un singolo volume fisico (l'intero disco / dev / sda esistente).

Ora voglio spostare uno di quei volumi logici su un nuovo disco più veloce, cioè passando da:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

per:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

Da quello che ho capito non posso usare pvmoveo vgsplitperché c'è solo un volume fisico nel gruppo di volumi esistente.

Qual è un buon approccio per raggiungere questo obiettivo (preferibilmente online, la creazione di un nuovo gruppo di volumi per il nuovo disco non è un requisito)?


Ho controllato molte domande simili, ma per quanto ho capito, quelle non descrivono la mia situazione. Domanda bonus: usare un intero disco come volume fisico è di per sé una cattiva idea? Sembra che questa decisione abbia reso la soluzione molto più difficile nel mio caso.
— htorque

2
Hai qualche motivo particolare per non voler aggiungere il tuo nuovo disco fisico come volume fisico al gruppo di volumi esistente?
— Ulrich Schwarz,

Affatto. Se semplifica le cose, anche il nuovo disco può far parte di vg0.
— htorque

Risposte:


21

Una soluzione per gruppi di volumi:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

Soluzione per due gruppi di volumi:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

Ora parte difficile, tutte le attività DEVONO fermarsi /bar:

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

dove

  • pvcreate cancella tutti i dati sul disco (e prepara LVM)
  • lvcreate potrebbe creare un volume logico lvol1, specificando il nome lv con -n bar
  • Uso la sintassi HP-UX per LV, potresti dover usare la /dev/mapper/myvg-mylvsintassi

Dopo aver verificato che i dati siano OK, nella nuova posizione:

  • puoi tranquillamente cancellare vecchi /bar
  • modifica /etc/fstabper usare nuovo/bar

Wow, mi sembra di aver letto male la pvmovepagina man. In tal caso, mi accontenterò ovviamente della soluzione per un gruppo di volumi. :)
— htorque

In realtà, si potrebbe usare vgsplitdopo pvmoveper raggiungere un po 'più facilmente la soluzione di due gruppi di volumi (tuttavia, il volume logico deve ancora essere disattivato usando lvchange).
— htorque

1
L'utilità di "pvmove" è un'ottima ragione per usare un singolo VG anziché più VG.
— martedì

1
Sembra vgreducequindi che possa essere utilizzato per rimuovere il vecchio volume se questo è il requisito (non era per la domanda specifica, ma una domanda che chiedeva di spostare tutti i volumi sarebbe probabilmente contrassegnata come duplicata)
— Gert van den Berg

La mia attuale esperienza è che nella singola soluzione vg, pvmoverichiede un -nflag per specificare il volume logico. Oppure dice un Physical volume /dev/vg0/bar not found Run `pvmove --help' for more information.messaggio di errore. La pagina man dice lo stesso. Posso inserirlo nel post?
— Peter - Ripristina Monica l'
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.