Массив mdadm RAID1 — нужно ли его разбивать?

При внимательном прочтенииman iotop

есть намек

At least the CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS and CONFIG_VM_EVENT_COUNTERS options need to be enabled in your Linux kernel build configuration.

iotop displays columns for the I/O bandwidth read and written by each process/thread during the sampling period. It also displays the per‐ centage of time the thread/process spent while swapping in and while waiting on I/O. For each process, its I/O priority (class/level) is shown.

In addition, the total I/O bandwidth read and written during the sampling period is displayed at the top of the interface. Total DISK READ and Total DISK WRITE values represent total read and write bandwidth between processes and kernel threads on the one side and kernel block device subsystem on the other. While Actual DISK READ and Actual DISK WRITE values represent corresponding bandwidths for actual disk I/O between kernel block device subsystem and underlying hardware (HDD, SSD, etc.). Thus Total and Actual values may not be equal at any given moment of time due to data caching and I/O operations reordering that take place inside Linux kernel.

CONFIG _TASK _DELAY _ACCT, CONFIG _TASK _IO _ACCOUNTING, CONFIG _TASKSTATS звучат как -статистика задачи, которая составляет Total. Принимая во внимание, что CONFIG _VM _EVENT _COUNTERS — это единая общая статистика, то естьActual/proc/vmstat, если вы посмотрите параметр конфигурации ). Часть VM, означающая виртуальную память, настоятельно предполагает, что речь идет о буферизованном ядром вводе-выводе, то есть о том, что проходит через кэш страниц. Другими словами, эти статистические данные собираются по мере того, как ввод-вывод проходит от подсистемы VM к подсистеме блочного устройства.

Мне кажется, что операции ввода-вывода в обход виртуальной машины не будут учитываться в iotop. Например, он, вероятно, не включает O_DIRECT. Это также объясняет, как iotopудается избежать двойного -подсчета операций ввода-вывода, прошедших через программный RAID (и LVM и т. д. ), и почему у него нет функции разбивать статистику для разных блочных устройств.

Ввод-вывод для повторной синхронизации RAID не требует прохождения через кэш страниц. Он будет использоваться в -API-интерфейсах ядра, которые, я думаю, имеют некоторое сходство с асинхронным вводом-выводом (Linux поддерживает только O _DIRECT для асинхронного ввода-вывода ).Таким образом, он не страдает от ограничения производительности при использовании read()и write()без асинхронной обратной записи и упреждающего чтения, обеспечиваемых кэшем страниц.

0
05.11.2019, 17:53
1 ответ

Глядя на учебные пособия, такие как это здесь и, в частности, обсуждение здесь ,может показаться, что целью создания одного раздела на дисках, используемых в RAID, является

  • пометить его как часть массива RAID, установив для типа раздела значение0xfd
  • предотвращение (редких )появления сообщения об ошибке, в котором говорится, что на диске не найдена таблица разделов
  • обеспечить снижение -заменяемости (это английское слово?! ), задав для размера раздела хорошо -определенную величину, обычно немного меньшую, чем размер диска.

Пункт 3 кажется наиболее правильным, потому что, если вы когда-нибудь захотите заменить один жесткий диск на другой, даже того же номинального размера, фактический размер всегда будет отличаться на небольшую величину и истинная замена «вставки -в» может быть достигнута только путем создания раздела с «хорошо -определенным» размером(1).

Пункт 2 скорее раздражает, чем -останавливает шоу, и я лично никогда не сталкивался с таким сообщением об ошибке, но это может стать проблемой в зависимости от ваших настроек.

Пункт 1, по моему опыту, не обязателен, поскольку mdadmсоздаст UUID RAID также на «целом -диске» устройствах, которые он может использовать для автоматического -определения того, что диск является частью массива RAID.

Итак, в целом не является строгим требованием разделять диски, которые будут использоваться в RAID-массиве, но это может иметь преимущества.


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

2
28.01.2020, 02:39

Теги

Похожие вопросы