Aunque el comando lvconvert se usa para muchos propósitos, se usa principalmente para duplicar volúmenes LVM o convertir un volumen duplicado en uno lineal. Para convertir un volumen lineal en uno reflejado, use lvconvert con la opción "-m". La opción “-m” toma un número como argumento que representa el número de copias de los datos que desea tener. Las otras opciones son el nombre del LV que desea convertir seguido de una lista de todos los volúmenes físicos (PV) que se usarán para el espejo y su disco de registro. El disco de registro contiene información sobre qué sección del espejo debe sincronizarse, acelera las operaciones en el momento del arranque y mejora la confiabilidad. Cuando queremos especificar que un PV es el que se debe usar como disco de registro, especificamos la extensión que queremos usar agregando ":0" al nombre del dispositivo.
Por ejemplo, si tenemos un VG llamado mirrorvg, con un LV llamado lv0 que es lineal y está usando un PV llamado mpath0 y queremos crear un espejo bidireccional (un espejo que tiene dos discos de réplica), usamos la siguiente línea de comando:
# lvconvert -m 2 /dev/mirrorvg/lv0 /dev/mpath/mpath0 /dev/mpath/mpath1 /dev/mpath/mpath2 /dev/mpath/mpath3:0
Con este comando especificamos que queremos tener dos copias de los datos, que el volumen que queremos convertir es lv0 y pertenece a mirrorvg VG. También especificamos el PV que contiene los datos originales mpath0 y dos PV que contendrán dos copias de los datos mpath1 y mpath2. El último PV, mpath3, es el PV que queremos usar como disco de registro, por lo que lo agregamos.
De manera similar, si desea quitar una pata del espejo, use el siguiente comando. Estamos disminuyendo el espejo copiado con el interruptor "-m".
# lvconvert -m 1 /dev/mirrorvg/lv0 /dev/mpath/mpath0
Del mismo modo, podemos continuar y quitar una pata más del espejo para que el volumen sea lineal, como se muestra a continuación:
# lvconvert -m 0 /dev/mirrorvg/lv0 /dev/mpath/mpath1
ejemplos del comando lvconvert
1. Para especificar el grado de espejo para crear:
# lvconvert -m 1 # lvconvert --mirrors 1
3. Para especificar el tipo de registro a utilizar:
# lvconvert --mirrorlog disk # lvconvert --mirrorlog core # lvconvert --mirrorlog mirrored # lvconvert --corelog
4. Para dividir el espejo en regiones:
# lvconvert -R MirrorLogRegionSize # lvconvert --regionsize MirrorLogRegionSize
5. Para ejecutar el demonio en segundo plano:
# lvconvert -b # lvconvert --background
6. Para informar el progreso como un porcentaje a intervalos regulares:
# lvconvert -i Seconds # lvconvert --interval Seconds
7. Para deshabilitar la sincronización de udev:
# lvconvert --noudevsync
8. Para separar imágenes especulares para formar un nuevo volumen lógico:
# lvconvert --splitmirrors Images
9. Para aplicar un nombre a un volumen lógico que se ha separado de un volumen lógico espejo:
# lvconvert -n name
10. Para crear una instantánea a partir de un volumen lógico existente utilizando otro volumen lógico existente como origen:
# lvconvert -s # lvconvert --snapshot
11. Para potenciar el tamaño de 2 fragmentos para el volumen lógico de la instantánea entre 4k y 512k:
# lvconvert -c ChunkSize # lvconvert --chunksize ChunkSize
12. Para controlar la puesta a cero del primer KB de datos en la instantánea:
# lvconvert -Z y|n # lvconvert --zero y|n
13. Para fusionar una instantánea en su volumen de origen:
# lvconvert --merge
14. Para reparar un espejo después de sufrir una falla en el disco:
# lvconvert --repair