2

Я использую RAID 1 на Adaptec 6405. Я пытаюсь решить, нужно ли мне устанавливать ZMCP на карту, чтобы обеспечить защиту кэша. Adaptec ZMCP является эквивалентом BBU - резервной батареи для кеша.

Я включил кэширование записи в BIOS контроллера, чтобы система работала хорошо.

Я понимаю, что для удаления требуется защита кэша. Но нужно ли это для зеркалирования?

Риск использования RAID 1 без защиты кэша (BBU или Adaptec ZMCP) больше, чем запуск машины с обычным контроллером SATA?

Если у кого-то есть Adaptec 6405 с дочерней платой AFM 600, не могли бы вы сказать мне, выступает ли AFM 600 с боковой стороны карты, и если да, то на сколько?

Материнская плата имеет только один слот PCI Gen2, в который вставляется карта Adaptec 6405, и в этом слоте сторона, на которой идет ZMCP, находится всего в сантиметре или около того от стороны корпуса.

4 ответа4

1

Кэш записи - это энергозависимая память (обычно ОЗУ), которую ОС и диски используют для консолидации и кэширования действий записи. Как правило, все, что находится в кеше, еще не записано на диск. Если питание кеша будет потеряно, оно потеряет свое содержимое, а в результате вы потеряете некоторые данные.

Если у вашего контроллера есть резервная батарея, то кэш записи будет сохраняться в случае отключения питания до следующей загрузки, а затем записываться на диск (и). Уровень RAID не имеет к этому никакого отношения.

Если у вас нет резервной батареи, вы потеряете часть данных, которая все еще была в кеше. Ни файловая система, ни RAID не будут точно знать, что было в кеше, и поэтому вы потеряете эти данные. Это проблема с каждым уровнем RAID, даже с RAID1 или RAID5. Эта проблема более известна как отверстие записи RAID.

Вкратце: если вы используете кэш записи, вам потребуется резервная батарея для этого кэша. Если вы не используете кеш записи, вы не будете. Уровень RAID не связан.

1

В RAID1, если питание потеряно и некоторые данные в кеше записи были записаны на один жесткий диск, но не на другой, диски будут иметь несогласованные данные для некоторых блоков. Я думаю, что в зависимости от того, какую именно RAID-систему вы используете, возможно, что система будет балансировать чтения между обоими дисками. Если система не «чистит» массив после грязного завершения работы перед возвратом данных в считыватель, она может вернуть разные данные для того же блока в последующих чтениях. То есть вы можете прочитать файл и увидеть данные на одном диске, очистить кэш-память чтения, а затем снова прочитать тот же файл и получить данные с другого диска, которые могут отличаться.

Я думаю (хотя и не уверен), что когда я видел MD Linux (программный RAID) после перезагрузки, он автоматически запускает очистку и фактически отказывается возвращать определенные блоки, пока не проверит, что каждый блок очищен. Но я не уверен, что это было то, что он делал на самом деле. Кроме того, я не знаю, как аппаратные RAID-контроллеры справляются с этой ситуацией.

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

Извините, у меня нет ответов, я поднимаю вопросы / вопросы, которые беспокоили бы меня в этом сценарии.

1

Защита кеша заключается в защите того, что находится в кеше контроллера "до того", как оно будет записано на диски. Таким образом, если у вас включен кэш записи в массиве, тогда данные записываются в память DDR на контроллере ... затем записываются на диск (когда диски не так заняты). Эти принципы остаются вне зависимости от того, какой уровень RAID используется. Поэтому, если вы хотите защитить данные, которые ОС записала на диски, но контроллер еще не физически записал на диски, вам нужна защита кеша. Кстати: запуск любых вращающихся дисков без кэша записи идет медленно, как влажная неделя. N

1

Я понимаю, что для удаления требуется защита кэша. Но нужно ли это для зеркалирования?

Технически это не требуется ни для одного. Это просто увеличивает производительность и риск. Если вы хотите быть на 100% уверены, то вы:

  1. Не используйте кеширование записи на карту RAID или используйте BBU/flashbackups/ZMCP.
  2. Отключите кеширование записи в самих дисках.

Но RAID не на 100% безопасен. RAID о двух потенциальных вещах:

  1. Сохранение ваших данных в целости и доступе даже при сбое диска. (По крайней мере, пока вы не можете сделать аварийное обслуживание. Например, вскоре после рабочего дня).
  2. И очень часто речь идет о повышении производительности (например, полосы или RAID10, 50, 60, ... чтение из RAID5/6)

Подводя итог: нет, это не требуется для зеркала.

Риск использования RAID 1 без защиты кэша (BBU или Adaptec ZMCP) больше, чем запуск машины с обычным контроллером SATA?

Нету. Я предполагаю, что это примерно то же самое.
(Что исключает риск сбоя карты RAID).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .