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

Программное обеспечение Linux - RAID4 / RAID5 и загрузка процессора

В случае RAID4 или RAID5 для каждой полосы битов данных сохраняется бит четности. Например, если я записываю 0 на диск A и 1 на диск B, тогда бит четности 1 сохраняется на диске C. Разве это не огромная нагрузка на ЦП в случае программного RAID-массива Linux, если для каждого бита данных четность бит нужно рассчитать? Например, если я записываю файл размером 1 ГБ в массив RAID5, тогда процессор должен выполнять 8000000000 вычислений XOR?

Как сказал TomTom, это не так жестоко, как раньше; но затем дисководы стали больше, а процессоры - быстрее.

Вот почему это не Хорошая идея сделать RAID-5 программно, если вы действительно не заботитесь о производительности. По крайней мере, аппаратный RAID-5 обеспечивает наличие зарезервированного процессора, единственной задачей которого является выполнение этих вычислений четности; Кроме того, в оборудовании часто присутствуют такие вещи, как NVRAM для предотвращения повреждения массива и возможность оптимизации вычислений, например, зная, что записывается целая полоса и пропускает (чрезвычайно дорогой) цикл чтения-изменения-записи в пользу простого пересчета четности.

Даже с аппаратным ускорением RAID приложения, которые изменяют очень небольшие фрагменты данных за один раз, особенно базы данных, могут действительно очень плохо работать на RAID-5 (и RAID-6, который еще дороже с точки зрения расчета четности). Для такого рода приложений просто положите руку в карман, возьмите дополнительные диски и выполните RAID-1 + 0.

Вы имеете в виду современный процессор с 6-8 ядрами, который во много раз мощнее, чем на карте RAID?

Не сегодня, это 2013 год. В наши дни процессоры могут обрабатывать ОЧЕНЬ много всего. У вас будут проблемы с использованием мощности одного ядра, если вы не запустите довольно много SSD в RAID.