Linux LVM может объединять несколько физических томов в одну группу и распределять пространство этой группы между логическими томами.
Если некоторые медленные устройства будут добавлены в группу, это может замедлить все логические тома. Есть ли способ добавить устройство, но разрешить системе использовать его только в случае голодания?
решение1
Это зависит от того, какой тип чередования вы хотите использовать. Вы можете контролировать, как логические тома будут охватывать физические тома, с помощью порядка создания LV и добавления PV. Например:
- добавлять
pv0
- создавать
lv0
- добавлять
pv1
- создавать
lv1
Итак, теперь, если lv0
охватывает все pv0
, lv1
будет охватывать pv1
(в случае линейного чередования). Файловая система будет использовать блоки сначала в начале устройства, поэтому в линейном случае, если FS охватывает несколько PV, последний PV будет использоваться только в том случае, если файловая система достаточно заполнена.
Если вам нужно нелинейное чередование между быстрыми устройствами, вы можете создать VG только с этими устройствами. Затем создать в нем raid LV. Затем использовать этот LV как PV. То есть создать VG второго уровня из LV. А затем добавить медленное устройство к этому VG второго уровня на линейной основе.
решение2
Команды lvcreate
и lvextend
имеют необязательный параметр, позволяющий указать, какой pv использовать (pv должен быть частью vg).
Например:
Создает линейный логический том «vg00/lvol1» с использованием физических экстентов /dev/sda:0-7 и /dev/sdb:0-7 для выделения экстентов:
lvcreate -L 64M -n lvol1 vg00 /dev/sda:0-7 /dev/sdb:0-7
Увеличивает размер логического тома "vg01/lvol10" на 54МиБ на физическом томе /dev/sdk3. Это возможно только в том случае, если /dev/sdk3 является членом группы томов vg01 и в нем достаточно свободных физических экстентов:
lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3