Высокая нагрузка на ввод-вывод от [md0_raid1]

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

Я испытываю 99% загрузку ввода-вывода, вызванную процессом [md0_raid1] каждые 20-30 секунд. Эта 99% загрузка ввода-вывода очень кратковременна, около 1-2 секунд, но она вызывает задержки для других процессов из-за ожидания ввода-вывода (это очень вредно для игрового сервера). Это нормальное поведение? Как я могу избежать этих высоких задержек ввода-вывода? Я был бы признателен за любые советы.

У меня программный RAID 1 (Ext4) на новом сервере Linux Debian 9.3, я запускаю веб-сервер Apache/MySQL и несколько серверов Minecraft.

iotop:

Total DISK READ :       0.00 B/s | Total DISK WRITE :      15.30 K/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:        0.0 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
  199 be/4 root        0.00 B/s    0.00 B/s  0.00 % 99.99 % [md0_raid1]
45302 be/4 root        0.00 B/s    3.82 K/s  0.00 %  0.00 % java -Xms~spigot.jar
51303 be/4 root        0.00 B/s    3.82 K/s  0.00 %  0.00 % java -Xms~spigot.jar
51306 be/4 root        0.00 B/s    3.82 K/s  0.00 %  0.00 % java -Xms~spigot.jar
51200 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % java -Xmx~ee-private
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]

mdstat:

md1 : active raid1 sda5[0] sdb5[1]
    33501184 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
    943111168 blocks super 1.2 [2/2] [UU]
    bitmap: 5/8 pages [20KB], 65536KB chunk

Аппаратные характеристики:

Intel Xeon 1231v3 (3.4 ГГц) 4C/8T 8MB
32 ГБ DDR3 ECC 1600 MHz
2x SATA 6G 1TB 7.2k (программный RAID 1)

Характеристики lspci:

https://gist.github.com/FreeWall/98f4bc8029387dbe4d47feacdd37aa85

Я бы рекомендовал проверить системные сообщения, используя команду:

dmesg

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

lspci

Имейте в виду, что это также может быть признаком аппаратной проблемы. Если это не сервер в стойке, а обычный ПК, то я бы также рекомендовал заменить SATA-кабели для дисков, имеющих эту проблему.

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

Прошу прощения за неудобства, с которыми вы сталкиваетесь. Высокая загрузка I/O, вызванная процессом [md0_raid1], может быть обусловлена различными факторами, включая конфигурацию программного обеспечения, разрешения для файловой системы, а также возможные аппаратные проблемы. Давайте рассмотрим возможные причины и решения.

Возможные причины высокой загрузки I/O

  1. Работа с битмапом RAID: Ваша конфигурация RAID 1 использует битмап для отслеживания изменений. Если битмап не управляется должным образом, он может вызывать частые операции записи, что в свою очередь приводит к увеличению загрузки I/O.

  2. Программное обеспечение: Некоторые приложения, такие как MySQL и Minecraft-серверы, могут вызывать кратковременные пики нагрузки, особенно если используется интенсивный доступ к диску.

  3. Аппаратные проблемы: Если один из дисков в массиве RAID имеет проблемы или сбои, это может приводить к высокой загрузке I/O, так как система будет пытаться считывать и записывать данные на проблемный диск.

Рекомендации по устранению высокой нагрузки I/O

  1. Проверка системных сообщений:
    Выполните команду dmesg для просмотра возможных системных ошибок или предупреждений, которые могут указывать на проблемы с аппаратным обеспечением.

  2. Мониторинг использования диска:
    Используйте iostat или iotop для мониторинга текущего использования дисков в реальном времени. Это поможет понять, какие процессы создают пики загрузки.

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

  4. Проверка состояния дисков:
    Используйте команду smartctl для проверки состояния жестких дисков и убедитесь, что нет ошибок:

    smartctl -a /dev/sda
    smartctl -a /dev/sdb
  5. Снижение нагрузки приложений:
    Если возможно, оптимизируйте вашу конфигурацию MySQL и Minecraft-серверов. Например, уменьшите частоту обновлений данных или примените кэширование для минимизации прямых операций записи.

  6. Профилирование приложений:
    Запустите профилирование для ваших Java-приложений (Minecraft-серверов) с использованием инструментов, таких как VisualVM, чтобы понять, вызывают ли они частые операции чтения/записи.

  7. Обновление ядра и пакетов:
    Убедитесь, что ваша система обновлена. Иногда обновление ядра и программного обеспечения может устранить известные проблемы.

  8. Замена кабелей SATA:
    Если это обычный ПК, а не сервер в стойке, возможно, стоит заменить SATA-кабели. Плохое соединение может быть причиной проблем с дисками.

Заключение

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

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

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