LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#1

24 ноя 2021, 00:56

Имеется вот такая специфическая ситуация:

1. Есть сервер. Debian 11 Bullseye
2. Не нем LVM. На этом LVM логические тома со снапшотами. Много. Снапшоты тоже большие.
3. Активация всех нужных томов через "vgchange -ay" отрабатывает несколько минут - ближе к 5-6. Это особенность LVM - не лечится.
4. Нечто (то ли udev то ли сама systеmd) не дает процессу активации томов во время загрузки завершиться, прибивая его по таймауту. Результат - часть томов остается неактивной, и это ломает процесс загрузки. Эта операция происходит сразу после старта ядра еще из initramfs, до перехода на основной root.
5. Попытки увеличить таймауты добавив в параметры загрузки ядра (конфиг grub) "udev.event-timeout=600 rd.udev.event-timeout=600" ничего не дала - уменшить их, скажем до 10 секунд - это им запросто. А вот дать времени больше чем стандартные 180 секунд - не работает.

Собственно вопрос: может кто знает, или догадывается, где-бы еще этот стандартный таймаут подкрутить в большую сторону? Т.к. сам процесс сделать быстрее нельзя - такие снапшоты будут долго активироваться хоть ты тресни. А на thin снапшоты lvm переходить не подходит в данном случае. Длительная загрузка здесь не мешает - главное чтобы она вообще работала. А с этим пока проблемы...

Если никто не знает - придется костыли писать, чего не особо хочется...

Аватара пользователя

Белый Кролик
Сообщения: 642
Зарегистрирован: 24 май 2018, 14:35
Решено: 10
Благодарил (а): 354 раза
Поблагодарили: 180 раз
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#2

24 ноя 2021, 08:59

А если попробовать добавить параметр ядра "rootdelay="?

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3010 раз
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#3

24 ноя 2021, 11:12

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

Аватара пользователя

Автор темы
slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#4

24 ноя 2021, 11:38

Chocobo писал(а):
24 ноя 2021, 11:12
в отдельные точки монтирования
Они вообще не монтируются. Это образы дисков, их потом напрямую iscsi tgt использует. И qemu для виртуалок. Потому и переход на thin не подходит - оно скорость ест. Проблема именно в том, что штатный способ инициализации самих logical volume не заканчивает работу за отведенное на это время. И саму эту работу ускорить в таких условиях просто нельзя. Но и дождаться нужно, а не тупо рубить по таймауту...
Белый Кролик писал(а):
24 ноя 2021, 08:59
А если попробовать добавить параметр ядра "rootdelay="?
Дык они не только не root, но и вообще не обычные разделы. И root как раз монтируется без проблем. Проблемы начинаются позже, из за не поднявшихся томов.

Аватара пользователя

hellonet
Сообщения: 2884
Зарегистрирован: 11 окт 2016, 12:58
Решено: 11
Откуда: Новосибирск
Благодарил (а): 1090 раз
Поблагодарили: 468 раз
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#5

24 ноя 2021, 12:32

slant писал(а):
24 ноя 2021, 11:38
Проблема именно в том, что штатный способ инициализации самих logical volume не заканчивает работу за отведенное на это время.
В качестве бреда:
А нельзя в это время загрузить комп ещё каким-нибудь процессом, чтобы он тупо тормознул, а в это время происходила инициализация logical volume?

Аватара пользователя

Автор темы
slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#6

24 ноя 2021, 12:34

hellonet писал(а):
24 ноя 2021, 12:32
А нельзя в это время загрузить комп ещё каким-нибудь процессом
Это так не работает. Мы не в DOS - система многозадачная. :)

Аватара пользователя

Автор темы
slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

LVM не успевает при загрузке активировать логические тома с большими снапшотами, где бы таймаут увеличить?

#7

24 ноя 2021, 13:26

Ладно, долго искать где оно сидит по хорошему было некогда. Написал такой вот костыль:

/etc/systemd/system/lv-snap-ctl.service

Код: Выделить всё

[Unit]
Description=Logical volumes late init ensure
Before=libvirtd.service nfs-kernel-server.service smbd.service nmbd.service tgt.service

[Service]
Type=oneshot
ExecStartPre=/usr/bin/echo "[ENSURING TO START LOGICAL VOLUMES]"
ExecStart=/usr/sbin/vgchange -ay
TimeoutSec=1000

[Install]
WantedBy=libvirtd.service nfs-kernel-server.service smbd.service nmbd.service tgt.service
Установил в автоисполнение: systemctl enable lv-snap-ctl, перегрузился - работает вроде.

Ответить

Вернуться в «Deb-based [Debian / Neon / Ubuntu]»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость