GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿mover un volumen lógico de un grupo de volúmenes a otro?

¿Es posible mover un volumen lógico de un grupo de volúmenes a otro en su totalidad?

Es posible crear un lv (más o menos) coincidente y copiar los datos, pero ¿hay alguna forma de hacerlo solo con las herramientas LVM?

Si no, ¿hay una razón teórica o una limitación técnica (tamaños de extensión)?

Respuesta aceptada:

A partir de LVM en Debian stretch (9.0), concretamente 2.02.168-2, es
posible hacer una copia de un volumen lógico en grupos de volúmenes usando una
combinación de vgmerge , lvconvert y vgsplit . Dado que un movimiento es
una combinación de una copia y una eliminación, esto también funcionará para un movimiento.

Alternativamente, puede usar pvmove para simplemente mover el volumen.

Una sesión de ejemplo completa e independiente que utiliza dispositivos de bucle y lvconvert sigue.

Resumen:creamos el grupo de volúmenes vg1 con volumen lógico lv1 y vg2 con lv2 y haz una copia de lv1 en vg2 .

Crear archivos.

truncate pv1 --size 100MB
truncate pv2 --size 100MB

Configure dispositivos de bucle en archivos.

losetup /dev/loop1 pv1
losetup /dev/loop2 pv2

Crear volúmenes físicos en dispositivos de bucle (inicializar dispositivos de bucle para
utilizarlos con LVM).

pvcreate /dev/loop1 /dev/loop2

Cree grupos de volumen vg1 y vg2 en /dev/loop1 y /dev/loop2
respectivamente.

vgcreate vg1 /dev/loop1
vgcreate vg2 /dev/loop2

Cree volúmenes lógicos lv1 y lv2 en vg1 y vg2 respectivamente.

lvcreate -L 10M -n lv1 vg1
lvcreate -L 10M -n lv2 vg2

Cree sistemas de archivos ext4 en lv1 y lv2.

mkfs.ext4 -j /dev/vg1/lv1
mkfs.ext4 -j /dev/vg2/lv2

Opcionalmente, escriba algo en lv1 para que luego pueda verificar que la copia
se creó correctamente. Hacer vg1 inactivo.

vgchange -a n vg1

Ejecute el comando de combinación en modo de prueba. Esto fusiona vg1 en vg2.

vgmerge -A y -l -t -v <<destination-vg>> <<source-vg>>
vgmerge -A y -l -t -v vg2 vg1

Y luego de verdad.

vgmerge -A y -l -v vg2 vg1

Luego cree un par de espejos RAID 1 desde lv1 usando lvconvert . El dest-pv el argumento le dice a lvconvert para hacer la copia espejo
en /dev/loop2 .

lvconvert --type raid1 --mirrors 1 <<source-lv>> <<dest-pv>>
lvconvert --type raid1 --mirrors 1 /dev/vg2/lv1 /dev/loop2

Luego divide el espejo. El nuevo LV ahora es lv1_copy .

lvconvert --splitmirrors 1 --name <<source-lv-copy>> <<source-lv>>
lvconvert --splitmirrors 1 --name lv1_copy /dev/vg2/lv1

Hacer vg2/lv1 inactivo.

lvchange -a n /dev/vg2/lv1

Entonces (modo de prueba)

vgsplit -t -v <<source-vg>> <<destination-vg>> <<moved-to-pv>>
vgsplit -t -v /dev/vg2 /dev/vg1 /dev/loop1

De verdad

vgsplit -v /dev/vg2 /dev/vg1 /dev/loop1

Salida resultante:

lvs
[...]
lv1        vg1       -wi-a-----  12.00m
lv1_copy   vg2       -wi-a-----  12.00m
lv2        vg2       -wi-a-----  12.00m

NOTAS:

1) La mayoría de estos comandos deberán ejecutarse como root.

2) Si hay alguna duplicación de los nombres de los volúmenes lógicos en
los dos grupos de volúmenes, vgmerge se negará a continuar.

Relacionado:¿Cómo programar un AVR Raven con Linux o Mac?

3) Al fusionar, volúmenes lógicos en vg1 debe estar inactivo. Y en volúmenes lógicos divididos en vg2 perteneciente a vg1 debe estar inactivo. En nuestro caso, este es lv1 .


Linux
  1. Cómo copiar o clonar permisos de un archivo a otro en Linux

  2. ¿Cómo mover todos los archivos (incluidos los ocultos) de un directorio a otro?

  3. ¿Cómo mover (y sobrescribir) todos los archivos de un directorio a otro?

  4. ¿Existe una forma sencilla de mover/copiar un volumen lógico de un grupo de volúmenes a otro? (LVM2)

  5. Mover un volumen lógico de un grupo de volúmenes a otro

Reptyr:mueva un proceso en ejecución de una terminal a otra sin cerrarlo

Gestión de volúmenes lógicos

mover una cuenta de correo electrónico de un servidor cPanel a otro

¿Cómo mover cuentas de un servidor cPanel a otro servidor cPanel?

¿Cuál es la forma más rápida de mover un millón de imágenes de un directorio a otro en Linux?

Linux NFLOG - documentación, configuración desde C