Рейтинг:0

Как изменить расписание повторной синхронизации mdadm? Где находится /etc/cron.d/mdadm?

флаг cn

У меня есть программная настройка RAID с использованием mdadm на полностью обновленной Ubuntu 20.04. Я испытываю ежемесячную повторную синхронизацию массива ~ 31 час. Я подозреваю, что это происходит от /etc/по умолчанию/mdadm, который включает в себя:

# АВТОПРОВЕРКА:
# Должен ли mdadm запускать периодические проверки ваших массивов на избыточность? Видеть
# /etc/cron.d/mdadm.
АВТОПРОВЕРКА=истина

Я хотел бы изменить, когда это запланировано, но, похоже, у меня нет /etc/cron.d/mdadm:

# подходящая политика mdadm
мдадм:
  Установлено: 4.1-5ubuntu1.2
  Кандидат: 4.1-5ubuntu1.2
  Таблица версий:
 *** 4.1-5убунту1.2 500
        500 http://us.archive.ubuntu.com/ubuntu focus-updates/main Пакеты amd64
        100 /var/lib/dpkg/status
     4.1-5убунту1 500
        500 http://us.archive.ubuntu.com/ubuntu focus/main Пакеты amd64

# найти /etc -name '*mdadm*' -или -name '*checkarray*'
/etc/по умолчанию/mdadm
/etc/monit/conf-доступный/mdadm
/etc/logcheck/violations.d/mdadm
/etc/logcheck/ignore.d.server/mdadm
/etc/modprobe.d/mdadm.conf
/etc/мдадм
/etc/mdadm/mdadm.conf

# dpkg -S /etc/cron.d/mdadm
dpkg-query: не найден путь, соответствующий шаблону /etc/cron.d/mdadm

# grep -REi 'mdadm|raid|/dev/md|autocheck|checkarray' /etc/*cron*

#

Итак, я предполагаю, что документация Debian/Ubuntu устарела и этот триггер проверки перемещен (в /usr/доля/mdadm/checkarray возможно, хотя я до сих пор не знаю, что вызывает это). Первый диалог в dpkg-перенастроить mdadm отмечает, что эта проверка срабатывает в первое воскресенье месяца в 01:06 (см. скриншот ниже), но я не могу найти источник этого триггера.

первый диалог dpkg-reconfigure mdadm

Лучшее, что я могу найти, это checkarray. Мой поиск:

# dpkg -L mdadm |xargs -d '\n' grep -Fswn АВТОПРОВЕРКА
/usr/share/mdadm/checkarray: -c|--cron учитывает настройку AUTOCHECK в /etc/default/mdadm.
/usr/share/mdadm/checkarray:if [ $cron = 1 ] && ! is_true ${АВТОПРОВЕРКА:-false}; тогда

Я предполагаю, что решение состоит в том, чтобы установить АВТОПРОВЕРКА=ложь, Найди контрольный массив команду, которую она бы выполнила, а затем вручную добавлю мою собственную задачу cron, которая ее копирует. Для этого я пытаюсь подтвердить, что это лучший вариант, и найти идеальные аргументы для его передачи.

Мне также любопытно, что случилось со старым методом и где я могу найти обновленную документацию.

Бонусный вопрос: поскольку повторная синхронизация занимает так много времени, есть ли способ разбить ее, чтобы я мог делать это постепенно в течение нескольких ночей?

muru avatar
флаг us
Я предполагаю, что они перешли на использование системных таймеров, как и многие другие задачи системного администрирования. Несколько таймеров перечислены в https://packages.ubuntu.com/focal/amd64/mdadm/filelist.
Рейтинг:0
флаг br

Это обрабатывается systemd. Используемый скрипт ресинхронизации /usr/доля/mdadm/mdcheck, триггер находится в /lib/systemd/system/mdcheck_start.timer и действие определяется в /lib/systemd/система/mdcheck_start.service (или, возможно, /etc/системд/система/..., куда вы должны скопировать приведенное выше, если вам нужно их изменить).

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

флаг cn
Хм, хорошее начало. Продолжение при следующей загрузке не очень хорошо для системы, которая перезагружается всего несколько раз в год, но я также вижу там `/lib/systemd/system/mdcheck_continue.timer`. Как мне это использовать? Я полагаю, что мое решение будет включать `TimeoutStopSec`, но у меня нет опыта работы с systemd: мне нужно отредактировать этот файл или заменить символические ссылки в `/etc/systemd/system/mdmonitor.service.wants/` моими измененными файлами )?

Ответить или комментировать

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