Назад | Перейти на главную страницу

Почему не существует этих уровней рейдов?

Я смотрел на свои настройки raid, и я действительно начинаю ненавидеть raid 1. Во время сбоя диска вы не знаете, верны ли данные на другом диске или нет. А что, если один диск без сбоев читает 1, а другой 0? Как узнать, какой диск правильный?

Конечно, вы можете использовать raid 6, но это минимум 4 диска. Я думаю, что вы можете сделать то же самое с двумя дисками.

Я придумал несколько уровней для рейдов, но почему их нет?

  1. Raid на одном диске, который также использует прямое исправление ошибок, например par2
  2. Как №1, но также зеркальное отображение (теперь вы можете убедиться, что данные верны во время сбоя)

Это потребует некоторого специального оборудования для быстрого выполнения расчета par2. Кроме того, начиная с par2, для каждого диска, который вы добавляете в массив, файлы par2 могут быть все меньше и меньше, поскольку количество избыточности является суммой общего размера файлов par2. См. Это, чтобы узнать больше о par2: http://www.quickpar.org.uk/AboutPAR2.htm

Вам просто нужно зеркало ZFS. Вам гарантированы согласованные данные на основе COW и постоянной контрольной суммы.

Если возникает вопрос «почему у вас не может быть RAID с одним диском с исправлением ошибок», ответ будет в «R» RAID (избыточный массив независимых дисков) ... Не будет избыточности на случай отказа диска. RAID не предназначен для защиты от повреждения данных (как par2), он предназначен для защиты от сбоя диска. Сбой диска на одном диске с par2 приведет к уменьшению контрольной суммы исправления ошибок с данными, в результате чего вы вообще останетесь без данных.

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

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

Как писал smearp, RAID не предназначен для защиты от проблем с данными. Это решение с аппаратным резервированием.

Вы правы: с зеркалом трудно понять, какая из сторон правильная, если они не согласны.

Есть аналогичная проблема с RAID: несогласованность четности. Если блок данных поврежден, вы хотите иметь возможность реконструировать по четности - но что, если блок четности поврежден? Когда диск выходит из строя, данные в соответствующем реконструированном блоке будут повреждены.

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

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

В заключение: RAID6 требует как минимум трех дисков, поскольку он предназначен для защиты от двух одновременных отказов дисков. Это также защищает вас от более распространенной проблемы, связанной с ошибками носителя, которые препятствуют полной реконструкции RAID5.