Para mejorar el rendimiento y al mismo tiempo mantener la redundancia, estoy intentando convertir el sistema de archivos raíz de un NAS de un volumen lógico RAID 5 a un volumen lógico RAID 10, manteniendo la misma cantidad de discos utilizados.
Enestesección de la lvmraid
página de manual, sugiere que es posible convertir RAID 10 y RAID 5 con una conversión indirecta.
Actualmente son posibles las siguientes conversiones de adquisición:
...
- entre striped/raid0 y raid5.
...
- entre striped/raid0 y raid10.
Pero cuando ejecuto el comando apropiado lvconvert
(en un test
LV similar), repetidamente cuando se me solicita realizar las conversiones intermedias, aparece este error en el último paso cuando finalmente convierto de RAID 0 a RAID 10:
root@nas:~# lvcreate --type raid5 -i 3 -n test -L 100M vg
Using default stripesize 64.00 KiB.
Rounding size 100.00 MiB (25 extents) up to stripe boundary size 108.00 MiB (27 extents).
Logical volume "test" created.
root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
Using default stripesize 64.00 KiB.
Replaced LV type raid10 (same as raid10_near) with possible type raid5_n.
Repeat this command to convert to raid10 after an interim conversion has finished.
Converting raid5 (same as raid5_ls) LV vg/test to raid5_n.
Are you sure you want to convert raid5 LV vg/test? [y/n]: y
Logical volume vg/test successfully converted.
root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
Using default stripesize 64.00 KiB.
Replaced LV type raid10 (same as raid10_near) with possible type raid0_meta.
Repeat this command to convert to raid10 after an interim conversion has finished.
Are you sure you want to convert raid5_n LV vg/test to raid0_meta type? [y/n]: y
Logical volume vg/test successfully converted.
root@nas:~# lvconvert vg/test --type raid10 -m 1 -i 2
Using default stripesize 64.00 KiB.
Are you sure you want to convert raid0_meta LV vg/test to raid10 type? [y/n]: y
Insufficient suitable allocatable extents for logical volume : 30 more required
root@nas:~#
Incluso al liberar extensiones físicas y reducir el tamaño del LV, aparece el mismo error. Todos los volúmenes físicos son asignables.
Aquí está el vgdisplay
resultado:
--- Volume group ---
VG Name vg
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 333
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 2
Max PV 0
Cur PV 4
Act PV 4
VG Size <3.64 TiB
PE Size 4.00 MiB
Total PE 953864
Alloc PE / Size 943654 / <3.60 TiB
Free PE / Size 10210 / 39.88 GiB
VG UUID PF08Ce-xvsS-7KsA-0Vw6-zkXR-jyUf-ocDWDW
¿Cómo soluciono este error? Me gustaría usar los mismos PE para el LV convertido, reduciendo el sistema de archivos según sea necesario.
Respuesta1
Para los propósitos de esta descripción, considerediscopara referirse a un disco, partición u otro contenedor lógico. Cadadiscose considera del mismo tamaño, sosteniendo ununidadde almacenamiento (1GB, 1TB, lo que sea; no importa).
- RAID 5 utiliza tres discos para dos unidades de almacenamiento útil
- RAID 0 utiliza dos discos para dos unidades de almacenamiento útil
- RAID 10 utiliza dos discos para una unidad de almacenamiento útil; Normalmente, RAID 10 se puede considerar como RAID 1 además de RAID 0 (o vv), por lo que se utilizarían cuatro discos para dos unidades de almacenamiento útil.
También
- Cuando convierte de RAID 5 a RAID 0, le sobra una unidad de almacenamiento (es decir, un disco sobra)
- Cuando convierte de RAID 0 a RAID 10, necesita una unidad de almacenamiento adicional para cada unidad que está convirtiendo (es decir, dos discos adicionales además de los dos que está usando actualmente).
Consecuencia: comenzaste con tres discos, por lo que te falta un disco.
Una opción podría ser ver si puede reducir su matriz RAID 0 de usar dos discos a uno, pero esto presupone que su matriz RAID 5 original está solo hasta la mitad. La otra opción es obtener un cuarto disco.