Pull to refresh

LVM Thin Provision: опыт эксплуатации на малом объекте

Reading time2 min
Views20K
Хочу поделится своим опытом эксплуатации LVM Thin Provision, и набитыми шишками. В целом, я доволен этой технологией.

Краткая вводная


О тонких томах я уже писал в более ранней статье. Производительность хорошая, слабо зависит от количества снимков, за более чем год, не было сбоев по вине именно LVM, все проблемы были созданы лично мной для себя любимого.

Грабли


Всем, кто начинает использовать тонкие тома, настоятельно рекомендуется чтение man lvmthin с пристрастием. Упущение, казалось бы, маловажного аспекта, что место в пуле томов может кончится, может привести к печальным последствиям.

Исчерпание места в Data space:


В зависимости от ФС. Обычно, после остановки io с переполненным томом, ФС остается целой, особенно если ФС журналируемая. Если вы успели расширить пул, и io-операции не успели отвалится по таймауту, то вообще все будет хорошо. Иначе откат журнала и небольшая потеря данных.

Исчерпание места в Metadata space:


Это очень стремная ситуация, так как ведет к остановке корректной работы всего тонкого пула, с необходимостью offline восстановления целостности данных пула. Это, часто приводит к серьезным нарушениям в Data space, и в 2 случаях из 3, проще было убить XFS и накатить бэкап, чем пытаться её восстановить.

Рекомендации:


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

LVM Thin Provision отлично работает в ситуации ленивого планирования. Это значит, что стоит под разные задачи создать пулы тонких томов разумно небольших размеров. В этих пулах создать тома, и просто наблюдать, как по мере заполнения растут размеры пулов. Выделять место сразу не стоит, не всегда можно предугадать под, что нужно место.

Размеры chunksize задавайте исходя из задачи. Большие размеры приведут к снижению накладных расходов в метаданных, но повлекут больший расход места на снимках (если совпадет с RAID5-6, то и тут бонус будет).

Zeroing — если отключить, получите чуть-чуть бонуса по скорости, но готовьтесь, в выделенных блоках может встретится всяких мусор.

Работа со снимками


Снимок создается без проблем, а вот его применение может вызвать некоторую проблему. Все дело в том, что пока том активен (хотя и не используемый), снимок к нему не применяется до следующей активации (или применяется в ленивом режиме). Поэтому, перед накатом снимка, дезактивируйте целевой том.

По умолчанию снимки создаются с флагом отмены активации. Это может обескуражить, при попытке его подключить.
Only registered users can participate in poll. Log in, please.
Используете ли вы LVM Thin Provision
30.68% Да27
46.59% Нет41
17.05% Буду использовать15
5.68% Вернусь на толстые тома или обычные разделы5
88 users voted. 38 users abstained.
Tags:
Hubs:
Total votes 12: ↑10 and ↓2+8
Comments7

Articles