Да ну. Вот куда уехать из Москвы от дыма, или как начать уже работать, наконец, вместо того, что бы постоянно читать блог «Учись работать» на/вместо работы, это да.
У меня сейчас RAID 5 на четырех 400-гиговых дисках. Планировал переходить на двухтерабайтники, но меня останавливала необходимость покупать сразу три на 15 тыр.
Благодаря вашей заметке могу поначалу ограничиться двумя. Спасибо!
PS Самую малость не хватает кармы вас лично поплюсовать. :)
кстати RAID5 можно начать и с одного диска: # mdadm --create /dev/md0 --level 5 --raid-devices 2 /dev/sda missing
т.е. один диск объявляется отсутствующим и рейд будет degraded
израт конечно :) но если расчитывать на рост в будущем можно и так…
Стоит не забывать недостатки 5го рейда, а статья — хороша, спасибо.
«Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат.» ru.wikipedia.org/wiki/RAID
я бы не сказал что падение производительности так уж велико, а при увеличении кол-ва шпинделей (более трех-четырех) на нормальном железе может и к уровню RAID0 приблизится :)
увы, у нас присутствует такой фактор как вычисление блока контрольных сумм. Чем больше количество дисков в raid5 тем больше объем вычислений. Например такой вполне современный недорогой контроллер Promise SuperTrack EX8650 считает эту сумму медленнее чем скорость записи на современный диск. Соответственно скорость записи raid5 будет гораздо медленнее raid0, Да и текущие софтварные реализации тоже считают контрольную сумму относительно медленно.
Вы утрируете, заметно будет при работе с СУБД, но эта проблема решается увеличением количества дисков + SAS 15k. Под СУБД хорошо пойдет 01, но там на избыточность слишком большие расходы.
я не утрирую, заметно будет всегда при количестве клиентов больше одного. Если один читает а другой пишет raid5 становится гигантской проблемой. Виной тут именно медленная запись.
С каких пор медленная запись является причиной проблем с чтением? ;)
Если серьезно то для раздачи статики если записи почти нет, разница с более быстрыми рейдами будет не большая.
Так что не надо быть категоричным и выбирать тип рейда в зависимости от задач, а не личных предпочтений…
если бы у вас винт мог одновременно и читать и писать независимо, то конечно никаких проблем бы не было. Но увы, при записи скорость чтения падает значительно. Так вот на raid5 это просто катастрофично.
В данный момент RAID5 12 дисков(1 spare) контроллер 3Ware 9690SA-4i4e вполне себе нормально держат нагрузку в 4,5 млн обращений, это не считая запросов с внешних хостов. Хранилище картинок и видео.
о, внезапно, Капитан. Это ужасная правда открыла глаза мне на этот мир, розовые очки разрушены, я больше не смогу жить с мыслью, что массив с избыточностью медленнее, чем обычный страйп. Винить себя в моем суициде придется Вам.
В mdadm если массив не деградировавший, то контрольные суммы не учитываются при операциях чтения и скорость считывания данных с кучи параллельно работающих винтов вполне может приблизится к страйпу на таком же железе ;)
Или вы тролль или узко мыслите…
ещё раз замечу с чего началось (достаточно посмотреть по ветке выше):
я написал " raid5 еще на запись ооочень медленный "
xalcountix ответил: " я бы не сказал что падение производительности так уж велико, а при увеличении кол-ва шпинделей (более трех-четырех) на нормальном железе может и к уровню RAID0 приблизится :) "
вообще разговор зашел насчет того что в некоторых случаях производительность raid5 вполне удовлетворительная и даже есть живые примеры тому, но судя по тому что для вас априори данный тип рейда медленный в любых случаях по определению не вижу смысла продолжать данную дискуссию…
вообщето вы отвечали на мой комментарий про ужасы raid5 на запись, причем в очень странной форме, что якобы он в этом ( в скорости на запись) приближается к raid0. Конечно для вас теперь не имеет смысла этот разговор, так как оплошав можно только наплевать в карму но свою ошибочность не признать.
На тот комментарий я отвечал не от фонаря… У меня на работе есть RAID5 массив на 14 SATA дисков, контроллер Areca, тока что специально протестировал:
— последовательное чтение 410 МБ/с
— запись 278 МБ/с (мегабайт!)
Как по мне достойная скорость работы для большинства приложений, тут гигабитный интерфейс скорее будет узким горлышком, а не RAID5. Никаких ваших «ужасов» я не вижу…
Так что мои слова что большое количество шпинделей на нормальном железе может приблизится (но не сравняться!) к RAID0, разумеется построенном на немного меньшем количестве дисков, накладные расходы на RAID5 никуда не уходят. Для особо понятливых это значит, что если хочешь хорошие скорости и отказоустойчивость при оптимальном использовании дискового пространства — берешь кучу дисков, быстрый рейд-контролер и строишь на них RAID5.
Наверно вы таки тролль! :)
однако отставание от raid0 ПРОСТО ЧУДОВИЩНОЕ. Raid0 14 дисков, современные диски обеспечивают примерно 100 мегабайт на запись и чуть больше на чтение. Простое перемножение дает нам 14000 мегабайт в сек последовательное чтение/запись. Итого в 7 раз хуже запись, в 3.5 раза хуже чтение. ГДЕ ПРИБЛИЖЕНИЕ?! Приближение это отставание никак не в разы.
Spare с одной стороны вещь полезная, но на ребилд все равно тратится время и в этот момент рейд остается уязвимый… Уж лучше RAID6 поднять. Со Spare единственное преимущество что я вижу это намного меньшая нагрузка на винт пока он в резерве, по сути включение/выключение только. В RAID6 два избыточных винта трудятся по полной…
На ребилд время тратится, никуда не денешься. А 6-й RAID просто логическое развитие 5-го, с усугублением недостатков последнего: ещё более низкая скорость чтения/записи и ещё большее потребление дискового пространства под служебные нужды, увеличенная нагрузка на RAID контроллер… Вобщем, каждый админ решает сам, какой тип RAID использовать, исходя из возможностей и потребностей. Компромиссы, мать их ети…
>>Со Spare единственное преимуществ
Единственное преимущество любого массива при наличии HS — в том, что при выходе из строя одного из участников массива не надо резко срываться и ставить диск на замену. Сдох диск? Ну и отлично, пусть пока на HS перестроится, а админ спокойненько позвонит в саппорт и закажет замену. Приедет замена — поставит в сервер, пометит как HS.
добавлю, что не забудьте последнее ядро поставить, помню как я убил три дня на 2.6.28-2.6.31 пока не вышло 2.6.32 процесс ребилда/решейпа подвисал в произвольном месте
Да я на виртуалке тестил, по 8 гиг образы всего :)
Планирую в скором времени собрать рейд на двухтерабайтниках доведя их кол-во постепенно до 6.
Потому и начал все эти исследование
начиная с ядра 2.6.35 такое можно проворачивать не только с raid1 и raid5.
вот, что теперь можно делать:
— Add support for Raid0->Raid10 takeover
— Add support for Raid0->Raid5 takeover
— Add support for Raid5->Raid0 and Raid10->Raid0 takeover
— Add support for Raid5->Raid4 takeover
— Add support for Raid0->Raid4 takeover
— Add support for Raid4->Raid0 takeover
А что это за RAID5 из 2-х жестаков??? Вроде бред какой-то… RAID5 создается минимум из 3-х жестких дисков, при выходе 1 из строя рейд теряет избыточность и становится, по сути, RAID0, только дополнительно считаются контрольные суммы и постоянно пишутся на оставшиеся жестаки (что приводит к износу, но совсем не добавляет защиты).
А RAID5 из 1 диска (тут сверху кто-то писал) — так это вообще туфта…
Вы правы, с первого взгляда это бред, но это как бы промежуточное состояние перед добавлением 3-го диска…
Как я понял RAID5 из 2-х дисков чтото типа RAID1 только на второй диск пишутся контрольные суммы, а не данные. Смысла в этом мало, но позволяет в любой момент расширить массив.
А RAID5 из 1 диска это скорее пример гибкости mdadm! ;) Его можно использовать только при условии что в ближайшем будущем будут добавлены все остальные диски для нормального функционирования массива. Например есть один диск и должны подвести еще парочку, а данные уже можно понемногу переносить…
На сколько я понял, описан процесс миграции, когда некуда положить все данные с зеркального рейда. И приходится выдумать способы «перевернуться» имеющимися средствами.
Отказ жесткого диска в процессе 1 ребилда (с 1 до 5-ки) приведет к потере данных и сбору информации по останкам файловой системы. Это допустимо для домашней машины, возможно.
Как минимум, стоило сделать копию всех данных с 1-го (или 2-го) винта на «новый» 3-й и уже потом заниматься переворачиванием рейд-1 в рейд-5. так мы обезопасим эту «секцию» работы по расширению массива.
Когда заходил в топик, честно говоря, интересно было посмотреть как преобразовать массивы из 4-6-8 заполненых дисков из «зеркала» в рейд-5
Миграция с RAID1 на RAID5 в mdadm без потери данных