Почему повторная синхронизация происходит в 10 раз медленнее, чем предполагалось?

282
Damon

Два дня назад одна из Barracudas в моей Synology (3 диска как RAID-5) вызвала несколько предупреждений о «плохом секторе». Данные не потеряны. Их не так много (62 за 24 часа, потом больше), и, согласно информации SMART, диск «просто в порядке». Но все-таки мне достаточно заменить диск. Ваш пробег может варьироваться, но для меня все, что не равно нулю с точки зрения плохого сектора, это NG.

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

Сначала подключите один к 4-му слоту и измените тип массива на RAID-6, пока старый диск еще жив и работает, чтобы добавить дополнительную избыточность. Лучше быть на всякий случай, на всякий случай. Как только это будет сделано, следующим шагом будет замена старых дисков один за другим.

Так что ... сейчас происходит ресинсинг.

Я изменил настройки с «меньшего воздействия» на «повторную синхронизацию быстрее», что, очевидно, мешает приоритетам ввода-вывода. Воздействие очень заметно, попытка получить доступ к общему ресурсу сейчас очень и очень медленная (но, конечно, все еще работает). Это хорошо, в конце концов, мы хотим, чтобы ресинхронизация закончилась незадолго до того, как может произойти что-то более радикальное. Тем не менее, использование диска составляет только 60-56% на каждый диск в мониторе ресурсов. Ну, это не так плохо, я думаю.

Новый диск способен поддерживать последовательную запись 150 МБ / с, и старые диски не должны иметь проблем с доставкой при последовательном чтении (тем более, что их три, что сокращает необходимую пропускную способность). 60% от этого - что-то около 90 МБ / с. Это 4ТБ диски.

Давайте будем пессимистичны и предположим, что мы получаем только пропускную способность всего 50 МБ / с. Итак, это 4*(1024*1024)/50секунды для выполнения повторной синхронизации, или чуть более 23 часов.

Я оставил эту штуку в покое, выполняя свою работу на ночь, а она работает 26 часов. Глядя на окно состояния, оно показывает 11% завершено.

Не то чтобы я все равно мог с этим поделать, но серьезно ... что не так? 11% после 26 часов означает, что это займет почти две недели. Что за?

Это выше моего понимания. Есть ли какая-либо техническая причина, почему это займет так много времени?

2
Вы действительно не должны менять его на RAID6, так как теперь он будет повторно синхронизировать все диски. Вместо этого вы должны добавить дополнительный диск в качестве «горячего» резерва, выйти из строя неисправного диска, из-за чего горячая резервная копия вступает во владение и обеспечивает хорошую синхронизацию. djsmiley2k 5 лет назад 2
И укажите причину медлительности * возможно *, потому что вы пытаетесь выполнить повторную синхронизацию, переставляя весь диск. Если у вас есть автономная резервная копия этого (вы должны сделать, рейд не резервная копия). Я бы уничтожил его и восстановил из резервной копии. djsmiley2k 5 лет назад 0
@ djsmiley2k: Конечно, но восстановление из резервной копии также требует _forever_. Кроме того, мне придется заново настроить все общие ресурсы и т. Д. И т. Д. Потому что, в общем, единственный способ сделать это без повторной синхронизации - это низкоуровневое форматирование дисков. Что, конечно, также убивает всю установку. План (и очевидный, прямой способ) состоял в том, чтобы просто вставить новый диск, подождать день, желательно всего несколько часов, и все было готово. Вот почему у нас есть «R» в RAID и почему была изобретена такая вещь, как «горячее» подключение. У нас есть только эти вещи, просто работайте и продолжайте работать. Damon 5 лет назад 0
** «Если у вас есть автономная резервная копия этого (вы должны сделать, рейд не является резервной копией)» ** - Не могу согласиться с @ djsmiley2k That Brazilian Guy 5 лет назад 1
Восстановление из резервной копии не является решением, поскольку копирование данных займет столько же времени (возможно, намного дольше). Если вы просто добавляете 3 новых диска (или 4 из них, не имеет значения), вам необходимо переустановить прошивку (которая отражается на каждом диске в массиве), затем восстановить все настройки и затем скопировать все данные. Что происходит, когда система выполняет повторную синхронизацию в фоновом режиме (избежать этого невозможно), поэтому она мучительно медленная. В довершение всего, в течение этих двух дней вещь «непригодна», потому что данные неполные. Позволяет системе RAID выполнять подъем "просто работает". Damon 5 лет назад 0
Вопрос не в поиске альтернативы, а в том, почему повторная синхронизация так чертовски медленна, когда кажется, что это не так (строго последовательная операция). Damon 5 лет назад 0
Я * думаю *, что это сочетание повторной синхронизации и создания нового формата массива, однако я не уверен, чтобы ответить: O djsmiley2k 5 лет назад 0
* Если * вы добавите диск в качестве «горячего» резерва, а затем выйдете из строя неисправного диска, это будет строго повторная синхронизация и, вероятно, будет намного быстрее. djsmiley2k 5 лет назад 0

1 ответ на вопрос

2
djsmiley2k

Вы начали с этого:

enter image description here

и в итоге получится так:

enter image description here

Когда вы конвертировали в RAID6, вы начали операцию, чтобы добавить бит четности для каждого отдельного диска в массиве, включая «умирающий» диск. Если этот диск умирает, то, вероятно, будет очень медленно записывать любые данные, которые могли быть ранее скрыты из-за того, что другие диски быстро записывали данные, и медленное воспроизведение диска постоянно нагоняло.

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

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

В общем, вы смотрите до 3x операций чтения и записи (для 4 дисков), чтобы переместить данные для разметки RAID6, в отличие от копирования и записи одного диска на другой (1x чтение, 1xwrite).

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

Вот почему это занимает так много времени.

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