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. :-))