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.