Контроллеры рейдов синхронизируют вращение жесткого диска?
Я нахожусь в поиске нового решения для хранения. При исследовании различных спецификаций один из моих коллег сказал, что некоторые контроллеры raid могут синхронизировать вращение жесткого диска с эффектом проходов секторов / блоков 0 всех дисков под считывающей головкой одновременно.
Я искал в Интернете, но не смог найти информацию, подтверждающую / опровергающую это утверждение.
4 ответа
RAID-контроллеры не синхронизировали (и не могли) синхронизировать дисковые шпиндели, но на некоторых дисках это было возможно. Учитывая набор идентичных приводов с разъемами синхронизации шпинделя, вы можете убедиться, что все диски синхронизированы. Мне досталось несколько Seagate Elite 3 (старые, устаревшие диски SCSI-2), которые, как я помнил, имели такой разъем, поэтому я нашел руководство пользователя Seagate ST43400N/ND Elite 3, которое имеет эту удобную иллюстрацию на рисунке 1 (обратите внимание на разъем, второй от оставил):
Рисунок 14 (здесь не показан) иллюстрирует, как соединить диски вместе:
Синхронизация шпинделя
Функция синхронизации шпинделя позволяет синхронизировать вращение шпинделя группы дисководов. Это уменьшает задержку, обычно возникающую при переключении инициатора между несколькими дисководами. На рисунке 14 показаны две конфигурации системы. В системе одного типа один из дисководов в системе обеспечивает опорные часы. В другом типе внешний источник сигнала обеспечивает опорные часы.
Обычно я уверен, что ответ - нет (на самом деле я не знаю ни одного контроллера, который бы это делал).
Выполнение такой синхронизации было бы невероятно трудным - вибрация, температура, естественные колебания электропитания и т. Д. Оказывают небольшое влияние на скорость вращения диска (и если вы хотите ДЕЙСТВИТЕЛЬНО придирчиво относиться к размеру сектора). Вам потребуется постоянно изменять скорость вращения двигателя шпинделя на бесконечно малые величины, чтобы поддерживать синхронизацию, что потребует очень точного (очень дорогого) управления двигателем и большого количества накладных расходов контроллера диска для определения текущего положения диска каждого привода. Поскольку практическая польза от этого мало что дает, она не стоит кремния и времени.
(Эта идея также полностью разваливается, если вы мыслите нестандартно из-за вращающегося ржавого носителя. Твердотельные диски не имеют времени поиска или скорости вращения шпинделя: чтения фактически являются постоянным временем для любого сектора, и нет ничего, что можно было бы "синхронизировать".)
Синхронизированные диски больше не имеют смысла по нескольким причинам:
- Диски имеют плохие сектора, перемещенные в производство. Диски огромны и имеют ряд дефектов после производства, которые перемещаются. Таким образом, два диска одного и того же производственного цикла в любом случае не будут синхронизированы на 100%.
- Диски внутренне перемещают поврежденные сектора во время использования. Эти сектора перемещаются в зарезервированное пространство на диске, что делает его более не синхронизированным.
- Кэш, TCQ/NCQ и перемещенные сектора делают порядок доступа к диску недетерминированным на физическом уровне. Если нагрузка высока, если один диск выходит из строя, может пройти много времени, прежде чем он вернется в порядок.
- Многополосный доступ может выходить за границы сектора (или даже диска), в любом случае нарушая чтение. Если вы получаете доступ, скажем, к 4x полосам на Raid 6, некоторые полосы могут находиться в разных зонах разных дисков.
- Доступ к чтению в Raids обычно не нацелен на все диски, если диски не жалуются на контрольную сумму своего блока. Это выводит диски из синхронизации кеша и, как следствие, из физической синхронизации. (Если только вы не отключите кеш чтения)
- Чтение кешей на raid-контроллере, чтение-запись кешей в ОС еще больше усложняет дело. И я надеюсь, что на рейде нет места подкачки, которое в любом случае могло бы решить любые проблемы с производительностью.
В первые дни была реализована синхронизация дисков для обеспечения детерминированности доступа, что было важно, когда памяти для хранения результатов было мало или когда это требовалось для реализации рейда (Raid 2, Raid 3).
Трудно количественно оценить преимущества синхронизированных дисков. Я полагаю, что если бы можно было получить существенное преимущество в производительности, синхронизация была бы в некотором роде возможной.
В будущем с твердотельными накопителями ситуация будет аналогичной, но по разным причинам: с перемещением блоков, выравниванием износа, отделкой и т. Д.
Современные накопители имеют свои собственные операционные системы и проводят время внутри для решения ряда проблем, будь то HD или SSD. Даже если вы сделали их физически синхронизированными, логически они все равно не будут синхронизированы.
Если вы когда-нибудь выйдете из строя и будете использовать никогда не использованный RAID-2, где данные чередуются на битовом уровне, это требует синхронизации дисков. Никто из тех, кого я знаю, никогда не использовал его, но технически, если контроллер RAID поддерживает RAID2, он должен был бы иметь возможность синхронизировать вращение диска. Это было бы единственной необходимостью иметь его сейчас через несколько дней.