Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.UNIX.BSD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.UNIX.BSD с датами от 18 Jan 11 22:51:00 до 18 Jan 24 18:16:22, всего сообщений: 10753
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 9456 из 10753 ===================================== RU.UNIX.BSD =
От   : Eugene Grosbein                  2:5006/1           24 Nov 19 15:56:55
Кому : All                                                 24 Nov 19 15:56:55
Тема : ZFS deadman
FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+2b08321c
= Кодировка сообщения определена как: IBM866 =================================
==============================================================================
Привет!

У ZFS есть прекрасная фича, называется zfs_deaman.
Она по умолчанию включена на платформах i386 и amd64,
если система выполняется не в качестве гостя в виртуалке.

В госте и на других платформах она по дефолту отключена.
Такой автодетект можно перепопределить в /boot/loader.conf:
если vfs.zfs.deadman_enabled не ноль, то фича включена
(она глобальная для системы) и тогда ZFS периодически
проверяет свою очередь запросов к носителям и если любой
запрос провёл в очереди больше времени, чем vfs.zfs.deadman_synctime_ms
(1000 секунд по умолчанию), то ZFS считает, что один из носителей
мёртво завис (не то же самое, что возвращает ошибку).

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

А теперь следим за руками. Чувак берёт машину с 360G памяти,
суёт в неё два 500-гигабайтных SSD под систему и ещё
пять 3.5-терабайтных SSD под RAIDZ1. Hачинает жаловаться, что всё тормозит.

Лезем разбираться - ну ещё бы, драйвер контроллера mfi(4)
не поддерживает TRIM как класс. Переделываем на mrsas(4),
выпоняем по-очереди trim всем SSD, скорость взлетает до нормальных значений.

После обновления до 11.3-STABLE система начинает паниковать раз в сутки
или несколько, так как по крону раз в сутки для трех десятков ZVOL
(внутри которых живут виртуалки) выполняется создание новых снапшотов
и удаление старых, а ещё есть то же самое, но почасовое.

Каждый вызов zfs destroy ставит в очередь (в avl_tree на самом деле)
новую пачку запросов ATA TRIM они же ZFS_TYPE_FREE, они же BIO_DELETE.
Операция стирания ячеек SSD - дело не очень быстрое, и если очередь
успела разгрестись за 1000 секунд, то сегодня мы не паникуем.
А не успела - deadman зовёт fm_panic().

ZIL тоже живёт на SSD, ибо других девайсов в системе нет.

Eugene
--
Поэты - страшные люди. У них все святое.
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.082241 секунды