LVM RAID 5 no da como resultado el tamaño de volumen lógico esperado

LVM RAID 5 no da como resultado el tamaño de volumen lógico esperado

Tengo un problema con LVM RAID 5 que no me permite crear un LV que use el espacio en las cuatro unidades del VG. Lo que es particularmente molesto es que creé este mismo VG/LV usando el mismo modelo de unidades hace dos años y no recuerdo haber tenido este problema.

Aquí está el resultado de pvs y vgs antes de intentar crear el RAID 5 LV:

Salida 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

Salida 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

El comando que usé la última vez para crear LV usando las mismas unidades modelo en el mismo sistema es:

lvcreate --type raid5 -L 8.18T -n lv_sklad01 vg_sklad01

Cuando emito este mismo comando cambiando los nombres de los objetivos VG y LV, obtengo:

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

Esto no tiene sentido ya que tengo cuatro unidades con una capacidad de 2,73T. 4*2,73 = 10,92. Restando uno para la paridad me da 8.19T, que es el tamaño del LV original que tengo en este sistema. Golpeando. Mi. Cabeza. Contra. Monitor. :?

Aferrándome a un clavo ardiendo, también intenté:

[root@sklad ~]# lvcreate --type raid5 -l 100%VG -n lv_sklad02 vg_sklad02
  Using default stripesize 64.00 KiB.
  Logical volume "lv_sklad02" created.

Esto da como resultado un LV 2/3 del tamaño que esperaba. Salida 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

Después de emitir el comando lvcreate anterior, la salida de pvs, vgs y lvs es la siguiente:

[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 alguna razón, hay espacio no asignado en vg_sklad02 (el VG en el que estoy trabajando). ¿No debería -l 100%VG utilizar todo el espacio disponible en el VG?

LV lv_sklad01 y lv_sklad02 deben tener el mismo tamaño ya que se crean a partir de las mismas unidades y, hasta donde recuerdo, intenté usar el mismo comando de creación.

¿Alguien tiene alguna sugerencia sobre lo que estoy haciendo mal?

Respuesta1

Como dije en mi pregunta, he hecho esto antes y tengo un registro de captura de lo que hice para lograrlo hace dos años. Por alguna razón, el comando lvcreate idéntico no funcionó. Para crear esta LV tuve que especificar el número de franjas usando -i 3. Entonces, el comando de trabajo fue:

lvcreate -i 3 --type raid5 -L 8.18T -n lv_sklad02 vg_sklad02

Supongo que algo cambió en las actualizaciones de las herramientas LVM.

ACTUALIZAR

De hecho, hicieron un cambio a LVM2. Desde rpm -q --changelog lvm2

* Fri Jul 29 2016 Peter Rajnoha <[email protected]> - 7:2.02.162-1
<...>
- Add allocation/raid_stripe_all_devices to reinstate previous behaviour.
- Create raid stripes across fixed small numbers of PVs instead of all PVs.
<...>

Es bueno saber que no estaba completamente loco. :-) Hice RTFM, pero supongo que no la FM correcta. :-))

información relacionada