Назад | Перейти на главную страницу

LVM Raid 1 + кэширование SSD

У меня три диска:

Каждый логический том (lv) должен иметь зеркальное отображение raid1 и кэширование SSD.

С помощью следующей команды я могу создать зеркальный raid1 lv с именем test на vg0.

lvcreate --type raid1 -m 1 -L 1G -n test vg0

Интересный проект - bcache: https://bcache.evilpiepirate.org/

С помощью bcache вы можете настроить SSD как быстрый кеш медленного (вращающегося) большого диска. Таким образом, наиболее часто используемые блоки будут считываться (и записываться, если так настроено) с (на) более быстрого ssd, при этом большая файловая система сохраняется на более медленных дисках.

На основе страница руководства lvmcache действительно кажется, что кеширование - это полностью логический том, а не то, что вы можете реализовать на уровне группы томов. То, что невозможно кэшировать всю группу VG, действительно раздражает, но, похоже, это архитектурное ограничение.

Что касается принудительного создания LV с использованием только определенных PV, вы можете указать PV в конце lvcreate команда.

Вот синопсис с man-страницы с удаленными посторонними опциями:

lvcreate  <...> [VolumeGroup{Name|Path} [/ExternalOrigin  |  Origin  |  Pool}LogicalVolumeName]  [PhysicalVolumePath[:PE[-PE]]...]

Я думаю, что многие люди упускают это из виду, так как этот синопсис довольно «запутан». Но эта функция на самом деле необходима при создании вашего кеша, так как вам нужно иметь возможность принудительно размещать LV кеша на PV SSD.

Примечание: а быстрый поиск показывает, что зеркалирование LVM обычно считается намного медленнее, чем программный RAID Linux. Но я думаю, что вы можете восстановить часть этой потерянной производительности с помощью некоторой настройки.