Что лучше аппаратный RAID для HDD SATA дисков на HP 380 Gen8 или RAIDZ?
Доброго дня коллеги.
Хочу выслушать ваше мнение относительно лучшей реализации в плане скорости и безопасности данных.
Имеем HP DL380 Gen8 с одним процессором и контроллером p420i 1G кеша
Установлено 12 SATA HDD дисков по 4Тб.
Планирую собрать файлопомойку на FreeBSD с ZFS, далее собрать а-ля кластер с таким же сервером, для повышения избыточности и резервирования физических ресурсов.
Вопрос в том, какую схему лучше реализовать, собрать аппаратный RAID из всех дисков, допустим 50 или 60, или даже 10. Либо не собирать на контроллере а собрать RAIDZ на ФС?
Вопрос больше дискутивный, хочется послушать мнение коллег.
Если вы выбрали бы аппаратный RAID, то все же RAID50/60/10?
1g кеша защищен батарейкой? У сервера нет жалоб на состояние батарейки? Если аппаратно все ок, то как указал rPman контроллер даст вам определенные преимущества в скорости работы.
Касательно выбора уровня raid (без разницы, что программного, что аппаратного) нужно понимать требования по скорости, емкости, надежности. R10 всегда самый быстрый, но теряется 24тб емкости. Если там нужно хранить относительно холодные данные, то R6. Если нужно хоть какую-то скорость, то R60. R50 наверное не стоит на дисках такого объема поднимать.
Если данные имеют ценность, то как минимум 1 диск сразу под hotspare, а значит на R10, 60 мы оставляем уже 10, а не 12 дисков. И тут разница в емкости между R10 и R60 уже минимальна, а разница в скорости есть. Но опять же на R10 шансы потерять данные чуть выше, т.к. есть вероятность выхода из строя двух дисков в страйпе.
RStarun, безусловно кеш на батарейке (к слову, на таких серверах без батарейки больше raid1 не поднять, контроллер просто не позволит, даже с подключённым кешем). Я так же склоняюсь к аппаратному контроллеру и RAID60. В данном случае не столько важна потеря места, сколько надежность и безопасность, а так же время простоя сервиса.
Конечно я буду собирать второй такой же сервер, который будет работать в кластере с первым и в случае выхода из строя, он подхватит работу.
Аппаратный RAID - это лотерея. Если с ним что-то будет не так, то потом достать данные может оказаться нетривиальной задачей.
Реальная история. Сервер с контроллером Adaptec, при какой-то операции по соединению двух разделов в один контроллер что-то сделал не так с затиранием части данных и разрушением файлухи. Параллельно, конечно, оказалось, что бэкапы именно этого сервера уже полгода как сломались...
Восстановление потребовало недели медитаций. Коллега нашёл на диске bmp-файл и подбирал правильный порядок блоков, чтобы картинка не превращалась в художественную шахматную доску. Оказалось, RAID5 там какой-то свой, нестандартный. И в целом там данных не сошлось довольно мало, менее 2%. Пронесло, буквально...
Этот контроллер вообще чудесатый был. Запускаешь какую-нибудь операцию, например, sync на новый диск. Он через некоторое время начинает показыват, что никакой операции не выполняется. Но очевидно, что sync продолжается и по активности диска это слышно. И даже после ребута сервера он продолжается. И всё равно контроллер рапортует no operation in progress...
Разумеется, после этого контроллер был превращён в обычный контроллер дисков, а RAID собрали в mdadm.
Слишком много есть подобных историй и поэтому большинство опытных админов уверенно посоветуют софтверный RAID в операционке (необязательно mdadm, можно и zfs). Там хотя бы исходный код доступен и пользовательская база на порядки больше базы любого RAID-контроллера. И поломка контроллера не потребует срочной покупки такого же (а его может и не быть на рынке уже).
к слову, на таких серверах без батарейки больше raid1 не поднять, контроллер просто не позволит, даже с подключённым кешем
Поднять рейд любого уровня обычно можно. Нельзя кеширование wb включить. Но проверять лень.
В противном случае это была бы слишком ненадежная конструкция. Вот подняли вы 60 рейд, а батарейка через год сдохла. И что - перестать работать от этого? Он должен продолжить работу, доступ к данным должен сохраниться, просто просядет производительность. А если он работать и без батарейки с 60 рейдом продолжает, то смысл запрета на создание такого рейда без батарейки? Работать можно, а создать нельзя...
потому что когда сдохнет аппаратный контроллер очень далеко не факт, что найдется такой же или аналогичный на котором можно будет прочитать массив, а вот mdadm и искать не надо, втыкай на любой другой комп и читай
Disel0k, Любопытное мнение. А как часто вы сталкивались с аппаратными контроллерами от HP, которые вылетали?
Я на своем веку не встретил не одного, хотя имел опыт сталкиваться и с адаплеком и мегарейдом/
Александр Абакумов, очень не часто, всего 3 раза за последние 5 лет и во всех случаях это были немолодые сервера, порой сменившие уже первого хозяина, а то и не первого...
С другой стороны - я ни разу не сталкивался с ситуацией, когда бы полностью лег Tier3 датацентр, но упорно продолжаю лить бекапы в другой ДЦ
Александр Абакумов, работает на любом железе, без всяких рейд контроллеров или при замене их
в случае умершего железа можно тупо перекинуть диски и смонтировать рейд руками
ZFS для нормальной работы требует тонны оперативки... и как её потом восстанавливать в случае сбоя системы - большой вопрос
ext4 по идее при проблем с файловой системой восстанавливать намного проще
поделюсь опытом - года три назад на hp сравнивал аппаратный рейд и zfs (правда из двух дисков и тестировал bonnie) - и вот zfs показал себя лучше.
тем более, что вы все равно будете использовать zfs - поэтому лишнюю прослойку в виде аппаратного рейда я бы не использовал.
Александр Абакумов, зачем? сейчас точно не вспомню, где именно включается, но там должна быть возможность у котроллера отдавать диски напрямую. скорее всего, под названием jbod
hint000, на отечественном сервере точно было имменно jbod, видимо перенес и на hp. сейчас посмотрел инструцкию к одному ищ старых hp smart array - и там таки hp действительно упоминает для soft-raid raid0... но! на серверфаульт много рекомендаций о том, что так делать не надо и надо использовать hba. так что прошу прощения, что запутал вас в терминологи!
Я думаю, придется провести нагрузочное тестирование.
Было время, когда я отвечал однозначно - аппаратный контроллер лучше.
Потом столкнулся с ситуацией, когда полудохлый адаптек приводил к развалу файлухи (а развал файлухи на сервере бэкапов - это весело аж пипец!).
Потом - когда аЦки перегревающийся другой адаптек (получше) приводил к падению сервера кернелом кверху (на файлухе была уже XFS, и она иногда выживала)
Потом получил относительно современный MegaRAID и сейчас все, милостью Господней, тикает как надо.
Поэтому Вам нужно будет собрать рейд на контроллере и дать ему реальную нагрузку. И посмотреть, что получится. Если не будет падений и аварий - ну можно использовать его...
Если производительность контроллера (iops) вас устраивает, то без вариантов использовать его. 1gb кеш делает его несравнимо лучше (наверное во всех смыслах) чем софтварный.