медленный доступ/чтение массива linux md raid1

Вопрос или проблема

У меня есть массив Linux md-raid raid1 (фс ext4) с двумя дисками по 3 ТБ. В течение последних нескольких месяцев массив демонстрирует значительное замедление доступа и времени чтения. Выполнение команды ls в каталоге с менее чем 20 записями иногда занимает 2-3 минуты для возврата.

Похоже, что он тратит много времени в состоянии “проверка”, но даже когда состояние “чистое”, доступ и время чтения очень медленные. Я не нахожу никаких ошибок, сообщаемых в системных журналах. Единственное, что стоит отметить, это то, что файловая система уже долгое время близка к заполнению. Вывод команды mdadm -D /dev/md127 показывает:

/dev/md127:
     Version : 1.2
     Creation Time : Thu Jun 20 11:34:21 2019
        Raid Level : raid1
        Array Size : 2930132992 (2794.39 GiB 3000.46 GB)
     Used Dev Size : 2930132992 (2794.39 GiB 3000.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Sep 26 13:58:50 2021
             State : clean
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : giles:meta  (local to host giles)
              UUID : 638efea5:1e7b07d2:78fec1dc:d919dccf
            Events : 8359

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

Есть ли какие-либо мысли о том, что может вызывать это или предложения по отладке? Я в процессе копирования данных на новый набор большими дисками, и за более чем 48 часов было скопировано только 301 ГБ.

Спасибо за ответы. Журнал syslog действительно показывает, что smartctl/smartd сообщают о множестве ошибок на sdb. Я отключил диск (mdadm --manage /dev/md127 --fail /dev/sdb1) и удалил его из массива (mdadm --manage /dev/md127 --remove /dev/sdb1), после чего копирование данных на новый массив завершилось за несколько часов.

Урок для меня здесь заключается в том, что настройка mdadm для отправки уведомлений по электронной почте о проблемах RAID недостаточно (он быстро отправил мне электронное письмо о состоянии RAID после того, как я вручную отключил диск). Мне нужно настроить автоматическую отчетность от smartd, чтобы получать более ранние предупреждения, а не просто гадать, что происходит с производительностью ввода-вывода диска.

Ответ или решение

Ситуация с вашим массивом RAID1, о которой вы сообщаете, действительно вызывает опасения. Чувствительные задержки в доступе к данным и в операциях чтения могут быть следствием нескольких факторов. Давайте рассмотрим основные моменты, которые могли вызвать такую проблему, а также способы их диагностики и устранения.

1. Физическое состояние дисков

Вы упомянули, что система сообщает об ошибках на диске /dev/sdb. Это один из самых распространенных факторов, приводящих к замедлению работы RAID-массива. При наличии неисправных секторов или других механических повреждений RAID1, хотя и предоставляет защиту данных, всё же может задерживать операции на уровне чтения и записи по мере попыток прочитать или восстановить поврежденные данные. Ваше следующее действие, состоящее в отключении неисправного диска, было абсолютно правильным решением.

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

Во-первых, обязательно проверьте состояние (S.M.A.R.T.) обоих дисков с помощью утилиты smartctl. Это позволит заранее выявить возможные проблемы.

sudo smartctl -a /dev/sda
sudo smartctl -a /dev/sdb

Если вы обнаружите какие-либо предупреждения (например, капсуляция секторов), стоит подумать о замене дисков.

2. Заполнение файловой системы

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

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

Очистите ненужные файлы и проверьте состояние дисковой подсистемы, чтобы освободить место на файловой системе. Вы можете использовать команды df -h и du -sh * для анализа использования диска.

3. Состояние массива RAID

Несмотря на то, что состояние массива RAID показывало "чистое", важным аспектом остаётся текущая политика согласованности и возможные операции, выполняемые на массиве. Например, состояние "проверка" ранее может указывать на работу или активные операции синхронизации данных.

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

Выполните проверку состояния массива с помощью следующей команды, чтобы получить дополнительную информацию о его функционировании:

cat /proc/mdstat

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

4. Уведомления об ошибках

Как вы упомянули, ваша система отправляла уведомления о состоянии массива, но это не предостерегло вас от медленной работы. Настройка smartd на автоматическую отправку уведомлений является шагом к предотвращению проблем в будущем. Настройте smartd так, чтобы он оповещал вас о любых ошибках или критических значениях, что позволит вам оперативно реагировать на потенциальные угрозы.

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

Проверьте файл конфигурации smartd, чтобы добавить нужные параметры уведомлений, например, отправляйте уведомления по электронной почте.

Заключение

Ваша текущая проблема была вызвана физическими неисправностями одного из дисков, что привело к значительному снижению производительности RAID1 массива. Устранение неисправного устройства и обеспечение регулярного мониторинга состояния дисков с использованием smartctl и smartd поможет в будущем избежать подобных ситуаций. Регулярная профилактика и управление системой мониторинга позволят поддерживать надежную работу вашего массива и быстро реагировать на проблемы.

Оцените материал
Добавить комментарий

Капча загружается...