Estou tendo um problema com o LVM RAID 5 não permitindo que eu crie um LV que use o espaço nas quatro unidades do VG. O que é particularmente irritante é que eu criei este mesmo VG / LV usando o mesmo modelo de drives há dois anos neste mesmo sistema e não me lembro de ter esse problema.
Aqui está a saída de pvs e vgs antes de tentar criar o RAID 5 LV:
Saída de pvs:
PV VG Fmt Attr PSize PFree
/dev/sda1 vg_sklad02 lvm2 a-- 2.73t 2.73t
/dev/sdb1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdc1 vg_sklad02 lvm2 a-- 2.73t 2.73t
/dev/sdd1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sde1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdf1 vg_sklad02 lvm2 a-- 2.73t 2.73t
/dev/sdg1 vg_sklad02 lvm2 a-- 2.73t 2.73t
/dev/sdh1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdi2 vg_bootdisk lvm2 a-- 118.75g 40.00m
/dev/sdj2 vg_bootdisk lvm2 a-- 118.75g 40.00m
Saída de vgs:
VG #PV #LV #SN Attr VSize VFree
vg_bootdisk 2 2 0 wz--n- 237.50g 80.00m
vg_sklad01 4 1 0 wz--n- 10.92t 0
vg_sklad02 4 0 0 wz--n- 10.92t 10.92t
O comando que usei da última vez para criar LV usando as mesmas unidades de modelo no mesmo sistema é:
lvcreate --type raid5 -L 8.18T -n lv_sklad01 vg_sklad01
Quando eu emito este mesmo comando mudando os nomes dos alvos VG e LV eu recebo:
lvcreate --type raid5 -L 8.18T -n lv_sklad02 vg_sklad02
Using default stripesize 64.00 KiB.
Rounding up size to full physical extent 8.18 TiB
Insufficient free space: 3216510 extents needed, but only 2861584 available
Isso não faz sentido, pois tenho quatro unidades com capacidade de 2,73T. 4 * 2,73 = 10,92. Subtrair um para paridade me dá 8.19T, que é o tamanho do LV original que tenho neste sistema. Bater Minhas. Cabeça. Contra. Monitor. :?
Agarrando palhas, eu também tentei:
[root@sklad ~]# lvcreate --type raid5 -l 100%VG -n lv_sklad02 vg_sklad02
Using default stripesize 64.00 KiB.
Logical volume "lv_sklad02" created.
Isso resulta em um LV 2/3 do tamanho que eu esperava. Saída de lvs:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_bootdisk rwi-aor--- 102.70g 100.00
lv_swap vg_bootdisk rwi-aor--- 16.00g 100.00
lv_sklad01 vg_sklad01 rwi-aor--- 8.19t 100.00
lv_sklad02 vg_sklad02 rwi-a-r--- 5.46t 0.18
Após a emissão do comando lvcreate acima, a saída de pvs, vgs e lvs é a seguinte:
[root@sklad ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 vg_sklad02 lvm2 a-- 2.73t 0
/dev/sdb1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdc1 vg_sklad02 lvm2 a-- 2.73t 0
/dev/sdd1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sde1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdf1 vg_sklad02 lvm2 a-- 2.73t 0
/dev/sdg1 vg_sklad02 lvm2 a-- 2.73t 2.73t
/dev/sdh1 vg_sklad01 lvm2 a-- 2.73t 0
/dev/sdi2 vg_bootdisk lvm2 a-- 118.75g 40.00m
/dev/sdj2 vg_bootdisk lvm2 a-- 118.75g 40.00m
[root@sklad ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_bootdisk 2 2 0 wz--n- 237.50g 80.00m
vg_sklad01 4 1 0 wz--n- 10.92t 0
vg_sklad02 4 1 0 wz--n- 10.92t 2.73t
[root@sklad ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_bootdisk rwi-aor--- 102.70g 100.00
lv_swap vg_bootdisk rwi-aor--- 16.00g 100.00
lv_sklad01 vg_sklad01 rwi-aor--- 8.19t 100.00
lv_sklad02 vg_sklad02 rwi-a-r--- 5.46t 2.31
Por alguma razão, há espaço não alocado no vg_sklad02 (o VG em que estou trabalhando). O -l 100% VG não deveria ter usado todo o espaço disponível no VG?
O LV lv_sklad01 e o lv_sklad02 devem ser do mesmo tamanho que são criados a partir das mesmas unidades e, até onde me lembro, tentei usar o mesmo comando create.
Alguém tem alguma sugestão sobre o que estou fazendo de errado?