Para melhorar o desempenho e ao mesmo tempo manter a redundância, estou tentando converter o sistema de arquivos raiz de um NAS de um volume lógico RAID 5 para um volume lógico RAID 10, mantendo o mesmo número de discos usados.
Emesseseção da lvmraid
página de manual, sugere que a conversão de RAID 10 e RAID 5 é possível com uma conversão indireta.
As seguintes conversões de aquisição são atualmente possíveis:
...
- entre listrado/raid0 e raid5.
...
- entre listrado/raid0 e raid10.
Mas ao executar o lvconvert
comando apropriado (em um test
LV semelhante), repetidamente conforme solicitado para realizar as conversões intermediárias, recebo este erro na última etapa ao finalmente converter de RAID 0 para 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:~#
Mesmo ao liberar extensões físicas e reduzir o tamanho do LV, recebo o mesmo erro. Todos os volumes físicos são alocáveis.
Aqui está o 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
Como resolvo esse erro? Eu gostaria de usar os mesmos PEs para o LV convertido, reduzindo o sistema de arquivos conforme necessário.
Responder1
Para os propósitos desta descrição, considerediscosignifica um disco, partição ou outro contêiner lógico. Cadadiscoé considerado do mesmo tamanho, segurando umunidadede armazenamento (1 GB, 1 TB, tanto faz; não importa).
- RAID 5 usa três discos para duas unidades de armazenamento útil
- RAID 0 usa dois discos para duas unidades de armazenamento útil
- O RAID 10 usa dois discos para uma unidade de armazenamento útil; normalmente o RAID 10 pode ser considerado como RAID 1 sobre o RAID 0 (ou vv), então você usaria quatro discos para duas unidades de armazenamento útil
Também
- Ao converter de RAID 5 para RAID 0, você sobra uma unidade de armazenamento (ou seja, um disco sobressalente)
- Ao converter de RAID 0 para RAID 10, você precisa de uma unidade adicional de armazenamento para cada unidade que estiver convertendo (ou seja, dois discos extras além dos dois que você está usando atualmente)
Consequência: você começou com três discos, então falta um disco.
Uma opção pode ser ver se você pode reduzir o uso de dois discos para um array RAID 0, mas isso pressupõe que seu array RAID 5 original esteja apenas meio cheio. A outra opção é obter um quarto disco.