CentOS | RHEL : Migrar storage LVM con pvmove

Gerardo Ocampos
3 min readJul 28, 2018

--

Realizar la migración de un Volume Group de un disco A → a un disco B.

Para este caso, tenemos la siguiente configuración dentro de nuestro servidor:

Physical Volume:

[root@test-lab1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 centosvg lvm2 a-- 9,51g 0
/dev/vdb testvg lvm2 a-- 10,00g 0

Volume Group:

[root@test-lab1 ~]# vgs | grep -i testvg
testvg 1 5 0 wz--n- 10,00g 0

Logical Volume:

[root@test-lab1 ~]# lvs | grep -i testvg
pv1 testvg -wi-a----- 2,00g
pv2 testvg -wi-a----- 2,00g
pv3 testvg -wi-a----- 2,00g
pv4 testvg -wi-a----- 2,00g
pv5 testvg -wi-a----- 2,00g

Tenemos dos discos presentados en el servidor, en el cual en uno de ellos se encuentra creado un Volume Group llamado “testvg”. Vamos a migrar el Volume Group del disco “/dev/vdb” al disco “/dev/vdc”.

Nota: Para mas seguridad, crear un backup antes de realizar la migración.

Pasos

1- Preparar el nuevo disco para la migración. Creamos el disco con el comando pvcreate.

[root@test-lab1 ~]# pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created

2- Extendemos el Volume Group al nuevo disco creado.

[root@test-lab1 ~]# vgextend testvg /dev/vdc
Volume group "testvg" successfully extended
[root@test-lab1 ~]# pvs | grep -i testvg
/dev/vdb testvg lvm2 a-- 10,00g 0
/dev/vdc testvg lvm2 a-- 10,00g 10,00g

3- Verificamos en que disco se encuentran alojados actualmente nuestros Logical Volume.

[root@test-lab1 ~]# lvs -a -o+devices | grep -i testvg 
pv1 testvg -wi-a----- 2,00g /dev/vdb(0)
pv2 testvg -wi-a----- 2,00g /dev/vdb(512)
pv3 testvg -wi-a----- 2,00g /dev/vdb(1024)
pv4 testvg -wi-a----- 2,00g /dev/vdb(1536)
pv5 testvg -wi-a----- 2,00g /dev/vdb(2048)

4- Iniciamos la migración con el comando pvmove. Donde “/dev/vdb” es el origen y “/dev/vdc” es el destino. Esta acción se puede realizar en caliente, sin necesidad de desmontar los filesystem o detener algún servicio o aplicación corriendo dentro de los Logical Volume.

Nota: Asegurarse que el nuevo disco posee la misma o mayor capacidad que el disco actual.

[root@test-lab1 ~]# pvmove /dev/vdb /dev/vdc 
/dev/vdb: Moved: 0,2%
/dev/vdb: Moved: 15,0%
/dev/vdb: Moved: 20,0%
/dev/vdb: Moved: 35,0%
/dev/vdb: Moved: 40,0%
/dev/vdb: Moved: 55,0%
/dev/vdb: Moved: 60,0%
/dev/vdb: Moved: 75,0%
/dev/vdb: Moved: 80,0%
/dev/vdb: Moved: 95,0%
/dev/vdb: Moved: 100,0%

Podemos utilizar las siguientes opciones de acuerdo a lo necesitado.

  • -b : Realiza la migración en segundo plano.
  • -i n : Muestra el reporte en un intervalo de tiempo, donde “n” es un intervalo de segundo. Ejemplo: # pvmove -i5 /dev/vdc /dev/vdb

Una vez finalizado, podemos volver a verificar el lugar en donde se encuentran los Logical Volume.

[root@test-lab1 ~]# lvs -a -o+devices | grep -i testvg
pv1 testvg -wi-a----- 2,00g /dev/vdc(0)
pv2 testvg -wi-a----- 2,00g /dev/vdc(512)
pv3 testvg -wi-a----- 2,00g /dev/vdc(1024)
pv4 testvg -wi-a----- 2,00g /dev/vdc(1536)
pv5 testvg -wi-a----- 2,00g /dev/vdc(2048)

Y como observamos, los mismos se encuentra alojados en el nuevo disco presentado. En este momento podemos retirar el disco ya no utilizado.

5- Para retirar el disco, debemos reducir el volume con el siguiente comando.

[root@test-lab1 ~]# vgreduce testvg /dev/vdb
Removed "/dev/vdb" from volume group "testvg"
[root@test-lab1 ~]# pvs | grep -i testvg
/dev/vdc testvg lvm2 a-- 10,00g

Opcional: Ahora podemos eliminar el disco con el comando pvremove.

[root@test-lab1 ~]# pvremove /dev/vdb 
Labels on physical volume "/dev/vdb" successfully wiped
[root@test-lab1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 centosvg lvm2 a-- 9,51g 0
/dev/vdc testvg lvm2 a-- 10,00g 0

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Gerardo Ocampos
Gerardo Ocampos

Written by Gerardo Ocampos

Red Hat Certified Engineer — Red Hat Certified System Administrator — Red Hat Certified Specialist in Containers and Kubernetes. Asunción, Paraguay

No responses yet

Write a response