Я много читал о RAID-контроллерах / настройках, и одна вещь, которая всплывает, это то, как аппаратные контроллеры без кеша предлагают такую же производительность, как программный RAID. Это действительно так?
Я всегда думал, что аппаратные карты RAID будут предлагать лучшую производительность даже без кеша. Я имею в виду, у вас есть выделенное оборудование для выполнения задач. Если это так, то какая польза получить карту RAID без кеша, что-то вроде LSI 9341-4i, которая не совсем дешевая.
Также, если прирост производительности возможен только с кешем, есть ли конфигурация кеша, которая записывает на диск сразу, но сохраняет данные в кеше для операций чтения, делая BBU не приоритетом?
raid
performance
lsi
Это просто я
источник
источник
Ответы:
Вкратце: если вы используете низкоуровневую карту RAID (без кеша), сделайте себе одолжение и переключитесь на программный RAID. Если используется карта среднего и высокого класса (с BBU или NVRAM), то аппаратное обеспечение часто (но не всегда! См. Ниже) является хорошим выбором.
Длинный ответ: когда вычислительная мощность была ограничена, аппаратные карты RAID имели существенное преимущество в расчете четности / синдрома разгрузки для задействованных схем RAID (RAID 3/4/5, RAID6, ecc).
Однако с постоянно растущей производительностью ЦП это преимущество в основном исчезло: даже старый процессор моего ноутбука (Core i5 M 520, поколение Westmere) имеет производительность XOR более 4 ГБ / с и производительность RAID-6 с синдромом выше 3 ГБ / с по сравнению с одно ядро исполнения .
Преимущество, которое поддерживает аппаратный RAID сегодня, заключается в наличии защищенного кэш-памяти DRAM в виде BBU или NVRAM. Этот защищенный кэш обеспечивает очень низкую задержку для произвольного доступа к записи (и чтения, которые обращаются) и в основном преобразует случайные записи в последовательные записи. RAID-контроллер без такого кеша практически бесполезен . Более того, некоторые низкоуровневые RAID-контроллеры не только не имеют кеша, но и принудительно отключают частный кэш DRAM диска, что приводит к более низкой производительности, чем вообще без платы RAID. Примером являются карты DELL PERC H200 и H300: если новая прошивка не изменила это, они полностью отключают частный кэш диска (и его нельзя повторно включить, пока диски подключены к RAID-контроллеру). Сделай одолжение себе и сделайникогда, никогда не покупайте такие контроллеры. Хотя даже контроллеры более высокого уровня часто отключают частный кэш диска, они, по крайней мере, имеют собственный защищенный кэш, что делает частный кэш жесткого диска (но не SSD!) Несколько избыточным.
Это еще не конец. Даже способные контроллеры (те, которые имеют кэш BBU или NVRAM) могут давать противоречивые результаты при использовании с SSD, в основном потому, что SSD действительно нужен быстрый частный кэш для эффективного программирования / стирания страниц FLASH. И хотя некоторые (большинство?) Контроллеры позволяют вам повторно включить частный кэш диска (например, PERC H700 / 710 / 710P позволяют пользователю повторно включить его), если этот частный кэш не защищен от записи, вы рискуете потерять данные в случае потери мощности. Точное поведение в действительности зависит от контроллера и встроенного программного обеспечения (например, на DELL S6 / i с 256 МБ кэш-памяти WB и включенным кешем диска , у меня не было потерь при многократном плановом тестировании потери мощности), что вызывает неопределенность и большую озабоченность.
Программные RAID с открытым исходным кодом, с другой стороны, являются гораздо более управляемыми зверями - их программное обеспечение не включено в проприетарную прошивку и имеет четко определенные шаблоны метаданных и поведение. Программный RAID делает (правильное) предположение, что частный кэш-память DRAM диска не защищен, но в то же время он критичен для приемлемой производительности - поэтому они обычно не отключают его, а используют команды ATA FLUSH / FUA, чтобы быть уверенными, что критические Данные земли на стабильном хранении. Поскольку они часто работают от портов SATA, подключенных к чипсету SB, их пропускная способность очень хорошая, а поддержка драйверов - отличная.
Однако при использовании с механическими жесткими дисками синхронизированная схема произвольного доступа для записи (например, базы данных, виртуальные машины) сильно пострадает по сравнению с аппаратным RAID-контроллером с кэш-памятью WB. С другой стороны, при использовании с корпоративными твердотельными накопителями (т. Е. С защищенным от потери данных кэшем записи) программный RAID часто превосходит и дает результаты даже выше, чем достижимые с помощью аппаратных карт RAID. Тем не менее, вы должны помнить, что потребительские твердотельные накопители (читай: с незащищенным кешем обратной записи), хотя они очень хороши при чтении и асинхронной записи, обеспечивают очень низкий IOPS в синхронизированных рабочих нагрузках записи.
Также учтите, что программные RAID не все созданы равными. Программный RAID-массив Windows имеет плохую репутацию, с точки зрения производительности, и даже объем дискового пространства не слишком отличается. Linux MD Raid исключительно быстр и универсален, но стек ввода-вывода Linux состоит из нескольких независимых частей, которые необходимо тщательно понять, чтобы извлечь максимальную производительность. RAID с четностью ZFS (ZRAID) чрезвычайно продвинут, но, если он не настроен правильно, может дать вам очень плохие IOP; зеркалирование + чередование, с другой стороны, работает довольно хорошо. В любом случае, для работы с синхронной записью (ZIL) требуется быстрое устройство SLOG.
Нижняя линия:
источник
fsync()
. См. Эту статью , в которой показано, что твердотельные накопители Samsung NVMe без конденсатора выполняют всего ~ 250 фсин в секунду (я тоже это измерял). SSD с конденсатором дают примерно в 30 раз больше fsyncs / s, аппаратный RAID-контроллер с аккумулятором в 100 раз больше.Вам понадобится батарея или флэш-кеш для любого аппаратного контроллера, который вы покупаете. Большинство сожалеют, что не сделали этого .
Но, чтобы ответить на ваш вопрос, большинство контроллеров имеют настраиваемые коэффициенты кэша ... поэтому 100% кэш чтения и 0% кэш записи исключают необходимость защиты BBU. Ваша производительность записи просто отстой.
Я не могу ответить на ваш программный вопрос RAID, потому что это зависит. Linux MD RAID отличается от программного RAID Windows, который отличается от ZFS . Такие решения, как ZFS, могут работать лучше, чем аппаратные, поскольку они используют оперативную и серверную ресурсы сервера.
источник
RAID-контроллер у вас на глаз один, он дешевый и, по сути, является ложным страхом. Даже от вашей материнской платы зависит предоставление некоторых функций, таких как память, и не так много материнских плат поддерживают ее, в результате чего вы не можете загрузить драйвер.
О HW против самого SW-RAID. Я больше не использую HW-RAID, если это не коробка с логотипом EMC, например. Для всего остального я снова переключился на SW-RAID много лун по нескольким очень простым причинам.
Вам нужно дополнительное оборудование и нужно соответствовать им. Вы также должны соответствовать прошивке и синхронизировать ее. Многие диски не будут работать правильно, и вы будете увеличивать задержку ввода-вывода без явной причины.
Дополнительное оборудование стоит дорого, поэтому вы можете использовать эти дополнительные $ 1000 (достойный контроллер с двумя / тремя дисками) для небольшого решения лучше. Инвестируйте его в большее количество дисков и стандартных контроллеров, память ECC, более быстрый процессор. И запасной диск на месте может быть, если вы планируете использовать его дольше, чем гарантийный период, или не хотите платить за экспресс-доставку за ночь.
Обновление является проблемой, так как вам нужно отслеживать патчи ОС и прошивки как для диска, так и для контроллера. Это может привести к ситуации, когда обновление / обновление больше невозможно.
На дисковых форматах. Достаточно продавцов используют некоторые собственные макеты для хранения данных, которые связаны с пересмотром вашей комбинации аппаратного и микропрограммного обеспечения. Это может привести к ситуации, когда замена детали сделает невозможным доступ к вашим данным.
Это SPOF и узкое место. Наличие только одного контроллера за одним PCI-мостом не дает вам необходимой производительности и избыточности. При этом также не существует никакого пути миграции для переноса данных на другой набор дисков за пределами досягаемости контроллеров.
Большинство из этих вопросов было решено с помощью нового поколения программного обеспечения SW-RAID или таких решений, как ZFS и BtrFS. Имейте в виду, что в конце вы хотите защитить свои данные и не быстро доступны, но избыточный мусор.
источник
В прошлом году я провел (в период до 2014–2015 гг.) Тестирование нескольких параллельных конфигураций CentOS 6.6 RAID 1 (зеркальное отображение) с использованием 2 LSI 9300 HBA vers 2 RAID-контроллера LSI 9361-8i с системами, построенными на следующем: 2U Supermicro CSE- Шасси 826BAC4-R920LPB, материнская плата ASUS Z9PE-D16, 2 восьмиъядерных процессора Intel Xeon E5-2687W v2 с частотой 3,4 ГГц, зеркальный Seagate ST6000NM0014, 6 ТБ SAS, 12 ГБ, 512 ГБ ОЗУ. Обратите внимание, что это полностью SAS3 (12 Гбит / с) совместимая конфигурация.
Я просмотрел статьи, написанные о настройке программного обеспечения, и использую программный RAID для Linux более 10 лет. При выполнении базовых тестов ввода / вывода (dd-oflag = прямые файлы от 5k до 100G, hdparam -t и т. Д.) Программный RAID выгодно сочетается с аппаратным рейдом. Программный RAID отражается через отдельные адаптеры HBA. Я зашел так далеко, что провел тестирование со стандартными конфигурациями ядра CentOS 6, kernel-lt и kernel-ml. Я также пробовал различные настройки mdadm, файловой системы, дисковой подсистемы и операционной системы, предложенные различными онлайн-статьями, написанными о программном RAID-массиве Linux. Несмотря на настройку, тестирование, настройку и тестирование, при работе в мире чтения, системе обработки транзакций (с базой данных MySQL или Oracle) я обнаружил, что использование аппаратного RAID-контроллера приводит к увеличению производительности в 50 раз.
В течение многих, многих месяцев я не был убежден, что аппаратный RAID может быть намного лучше, однако, после исчерпывающего исследования программного обеспечения RAID, тестирования и настройки Linux, это были мои результаты.
источник
Большинство авторов здесь просто не знают о « дыре для записи ». Это основа, которая позволяет протестировать резервные единицы аппаратных RAID-массивов против отсутствия программных RAID-массивов. Например, программная реализация Linux для Linux поддерживает битовые карты операций записи или выполняет полный пересчет «четности» в случае неочищенного завершения работы. ZFS всегда стремится к полной записи, чтобы избежать этой несогласованности или отложить повторную проверку. Итак, вкратце, достаточно умный программный RAID в настоящее время часто достаточно хорош, чтобы его можно было использовать вместо «кто знает, что находится внутри», так называемого «аппаратного RAID».
Что касается кеш-части вопроса, это действительно не имеет большого значения, потому что сама кеша записи в ОС может быть намного больше, чем у «аппаратного» адаптера.
источник
Я работаю это все время. Это во многом зависит от того, что вы делаете, и от уровня рейда ваша поддержка. SW-контроллер, использующий Raid 0 или 1 для ОС, и ничего особенного не подходит. Запуск SW-контроллера с Raid 5 в базе данных вызывает проблемы! НЕКОТОРЫЕ аппаратные контроллеры действительно дают вам лучшую производительность, но это зависит от того, сможет ли он кешировать и чипсет процессора карты рейда. Также не все программные контроллеры поддерживаются всеми ОС. Поэтому иногда вам может понадобиться купить HW для запуска ESXi ... Если только вы не используете соединения sata.
источник