У меня проблема с LVM RAID 5, не позволяющая мне создать LV, который использует пространство на всех четырех дисках в VG. Что особенно раздражает, так это то, что я создаю тот же самый VG / LV, используя ту же модель приводов два года назад в этой же системе, и я не припомню, чтобы у меня была эта проблема.
Вот результат pvs и vgs, прежде чем я попытаюсь создать LV RAID 5:
Выход ПВС:
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
Вывод 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
Команда, которую я использовал в прошлый раз для создания LV с использованием дисков той же модели в той же системе:
lvcreate --type raid5 -L 8.18T -n lv_sklad01 vg_sklad01
Когда я запускаю ту же команду, меняя целевые имена VG и LV, я получаю:
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
Это не имеет смысла, поскольку у меня четыре диска емкостью 2,73 ТБ. 4 * 2,73 = 10,92. Вычитание единицы для четности дает мне 8,19 Тл, что соответствует размеру оригинального LV, который у меня есть в этой системе. Стук. Мой. Глава. Против. Монитор. :?
Хватаясь за соломинку, я также пробовал:
[root@sklad ~]# lvcreate --type raid5 -l 100%VG -n lv_sklad02 vg_sklad02
Using default stripesize 64.00 KiB.
Logical volume "lv_sklad02" created.
В результате получается 2/3 LV от ожидаемого мной размера. Выход из 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
После выполнения указанной выше команды lvcreate выходные данные pvs, vgs и lvs будут следующими:
[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
По какой-то причине в vg_sklad02 (VG, над которым я работаю) есть нераспределенное пространство. Разве -l 100% VG не должен использовать все доступное пространство в VG?
LV lv_sklad01 и lv_sklad02 должны быть одного размера, поскольку они созданы с одних и тех же дисков, и, насколько я помню, я пытался использовать ту же команду create.
Есть ли у кого-нибудь предложения относительно того, что я делаю не так?
Как я сказал в своем вопросе, я делал это раньше и у меня есть журнал регистрации того, что я сделал для этого два года назад. По какой-то причине идентичная команда lvcreate не работала. Чтобы создать этот LV, мне пришлось указать количество полос с помощью -i 3. Итак, рабочая команда была такой:
lvcreate -i 3 --type raid5 -L 8.18T -n lv_sklad02 vg_sklad02
Полагаю, что-то изменилось в обновлениях инструментов LVM?
ОБНОВИТЬ
Они действительно внесли изменения в LVM2. С rpm -q --changelog lvm2
* Fri Jul 29 2016 Peter Rajnoha <prajnoha@redhat.com> - 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.
<...>
Приятно знать, что я не был полностью сумасшедшим. :-) Я был в режиме RTFM, но я думаю, не тот FM. :-))