Comments 17
Скажите, а ваше мнение по поводу 'WB повышает производительность' основывается на бенчмарках или просто "подумали и сказали"?
Вот у меня как я не кручу, лишние 50k IOPS с устройства теряются при включении WB. И график распределения latency из милого двугорбого существа превращается в шути что.
А у вас?
1. Принесли на восстановление данных комп, софтовый рейд, 2 винта в зеркале, на них 1С базы, система на отдельном винте. Сгорел контроллер на матери, винты из зеркала не читаются по отдельности. Бэкап «по выходным». Поход в ближайший магазин, покупка такой же платы, всё читается.
Почему не читались данные, хотя должны были — не разбирался, глубокого анализа таблиц размещения, как на хабре любят, не будет. С тех пор обхожу софтовый рейд и никому не советую.
2. Самосбор из 6 или 8 винтов в 5 рейде на отдельном рейд-контроллере, кажется LSI, за давностью лет точно не помню. Бэкап суточный. Умирает контроллер, увлекательный квест по поиску такого же, нашли в соседнем городе за весьма завышенный прайс + 250 км путешествие.
Выводы: решили поиграть с рейд-контроллерами — покупайте сразу запасной и кладите на полку, может не повезти с поисками замены, особенно если вы не в %default_city%
С тех пор только Q-nap для неответственных данных и дисковые полки + carepack для ответственных данных.
Не только только такой же версии, но и версией или поколением выше, что даёт при имущество при 10+ серверах иметь только один запасной, а не 10. Часто у адаптека и lsi одна прошивка на все контролёры одного поколения, достаточно открыть документацию к прошивке
Так же стоит указать, что больше 4gb кэш не поддерживают контроллеры, те что есть с 8gb имеют много багов, тот же форум hp завален заявками о проблемах, по крайне мере год назад так было
Ещё не мало важно, стоит открыть и почитать документацию и список совместимости! Несовместимые диски могут не работать, а к 5летней давности контролёр дисков уже бывает не найти
Также из практики уже при 70* у контролёра может сносить крышу и почти обязательно нужно навешивать кулер для доп охлаждения
Программный RAID — наименее затратный вариант, но и наименее производительныйО какой производительности речь — о дисковом вводе/выводе или о процессорной вычислительной мощности? Каковы типичные потери производительности?
В целлм я согласен с тем, что софтовый RAID — плохая идея. Но это лишь потому, что современные процессоры повадились непременно иметь FPU и прочее говно, которое во многих случаях не нужно.
Интегрированный аппаратный RAID — микрочип, установленный на материнскую плату, который берет на себя часть функционала аппаратного RAID-контроллераНу и как именно распределяется работа между CPU и микрочипом?
Аппаратный RAID — это отдельный контроллер с собственным процессором и кэширующей памятьюА чем отличается микрочип из второго пункта? Там нет процессора или нет памяти?
полностью забирающий на себя выполнение всех дисковых операцийПолностью? Гы, смешно!
Для подключения дисков используются специальные интерфейсные кабели.Этого уже достаточно для того, чтобы предпочесть какой-то другой контроллер.
BBU (Battery Backup Unit) — модуль расширения с литий-ионной батареей, позволяющий поддерживать напряжение на энергозависимой микросхеме кэша.Странная идея. Не лучше ли поставить Flash-память и сбрасывать отложенную запись туда — но только при сбое питания?
В нормальном режиме во Flash-память ничего не пишется — так что она не изнашивается. А при сбое питания — достаточно небольшого накопителя энергии, чтобы питать систему, пока данные из RAM будут переписаны во Flash-память; и храниться оно там будет не 72 часа, а практически вечность.
Это особенно важно, когда включен режим отложенной записи кэша (Writeback).Вообще-то, WriteBack — это единственная причина защищаться от сбоя питания. Если использовать WriteThrow — то зашиты от сбоя питания не требуется.
При пропадании электропитания содержимое кэша не будет сброшено на диски, что приведет к потере данных и, как следствие, штатная работа дискового массива будет нарушена.Я так понимаю, о транзакционном режиме работы программ (драйвера файловой системы и прикладных программ) Вы не слышали.
Все они оснащены небольшими пассивными радиаторами, что может вызвать ложное представление о небольшом тепловыделении.Осталось понять, откуда там вообще взялось значительное тепловыделение.
При создании система запросит желаемый размер страйпа, то есть размер блока данных за одну I/O-операциюЯ всегда думал, что размер каждой I/O-операции определяется программной частью — прикладной программой или операционной системой. Интересно, что будет, если операционная система посылает контроллеру запрос на чтение всего одного сектора?
Сразу становится понятно, что аппаратный RAID-контроллер ускоряет операции чтения и записи на дисковый носитель за счет использования кэшаА я думал, что операции чтения и записи лимитируются скоростью дисков. Конечно, кэширование может помочь — но кэш можно организовать и в оперативной памяти, причём там наверняка можно сделать его больше, чем на контроллере (производители обычно жмотятся поставить приличную память и не желают ставить слот для обычной памяти, чтобы пользователь мог сам поставить туда сколько считает нужным).
Чтобы достичь максимальной скорости работы, необходимо использовать вариант Write Back. При такой схеме работы контроллер будет сообщать операционной системе об успешной IO-операции сразу после того, как данные поступят в кэш.Нормальные люди делают операционную систему, которая способна понимать разницу между ситуациями «данные успешно заброшены на контроллер» и «данные успешно записаны на диск». Ну а контроллер умеет сообщать операционной системе статус каждого запроса: «стоит в очереди на исполнение», «прозводится запись», «запись завершена».
PS: Больше всего бесит отсутствие стандартов на организацию RAID-массивов; и документация разработчиков не публикуется. Как результат — нет средств восстановления порушенного RAID-массива.
По хорошему — RAID-контроллер должен быть устроен примерно как совеременная видеокарта: т.е. программу для работы с RAID-массивом туда должна закидывать операционка. Тогда можно быть уверенным, что программный код открыт, формат данных опубликован, в случае сбоя можно разобраться и спасти данные. Однако, производители предпочитают vendor-lock.
Этого уже достаточно для того, чтобы предпочесть какой-то другой контроллер.
Какой-то другой — это имеющий на себе 8 SATA в прямом виде? Нет, спасибо, SAS breakout cable — гораздо более удобный вариант. Тем более, что с тем же Adaptec в комплекте лежат сразу два кабеля.
Я так понимаю, о транзакционном режиме работы программ (драйвера файловой системы и прикладных программ) Вы не слышали.
Если включен кеш, но пропало питание (а батарея мертва), то с точки зрения софта — всё успешно было записано. Вот только что из этого успешно перенеслось до пропадания питания — знал лишь контроллер, но и тот забыл без батареи.
Осталось понять, откуда там вообще взялось значительное тепловыделение.
Многие контроллеры греются ощутимо, тут никуда не деться. Разве что охлаждение активное вешать на них, если не хочется тщательно продумывать воздушный поток.
Я всегда думал, что размер каждой I/O-операции определяется программной частью — прикладной программой или операционной системой. Интересно, что будет, если операционная система посылает контроллеру запрос на чтение всего одного сектора?
Размер страйпа больше нужен для raid5, ибо запись одного байта будет приводить именно к чтению страйпа целиком — контрольный блок считается по всему страйпу. И записи соответствующего количества информации на диск, а не всего одного байта.
А с железными рейдами я наелся, хоть и не админ по обязанностям. Что адаптек, что lsi — Imho, дрянь.
И да, я осознал за что бизнес платит такие бабки всяким EMC и netapp. =) Потому что все эти самопалы — всё равно баловство и наколеннечество. Иногда надо чтобы работало хорошо и вопрос денег отходит на второй план… Всё исключительное imho.
С другой стороны, из личного опыта — за последние 20 лет была куча проблем с железными, причём именно Adaptec — от полной потери данных массива (когда они сходили с ума) до банальных проблем вроде недоступности всего массива после выхода из строя всего одного диска. Не то что бы часто такое случалось, но сам факт несколько расстраивает — от железного RAID такой подставы совсем не ожидаешь. В то же время, с софтовыми (mdadm) вообще ни разу проблем не было, не говоря уже о том что с ними, в случае чего, нет проблем с восстановлением.
Опять же, никого убеждать не хочу — просто предупреждаю, что если захотите использовать bcache в чем-то серьезном — лучше сначала как следует погоняйте его под вашей нагрузкой хотя бы недельку.
Параллельно внимательно почитайте issue тикеты на этот проект. И подумайте, стоит ли оно.
Аппаратный RAID: особенности использования