RAID5 на H67 чипсете
По большому счёту на практике смысл есть только в RAID0, и RAID10. Остальное только в теории "лучше". Но это моё сугубо личное мнение.
интересует пятый рейд на 4*1ТбА зачем? Нужно прямо вот 3Тб? Может сделать более быстрый 10?
Может сделать более быстрый 10?Зависит от контроллера и от того как это дело использоваться будет.
короче числодробилка с большими линейными данными
он хорош только для фильмов - типа записал раз и потом читаешь, скорость записи у него херовая, а у деградированного массива совсем пизда
сделай raid10
А там всё восстановление для одного выпавшего винта - скопировать с зеркала.
А у 5-го это будет скопировать с остальных 3-х и посчитать дополнение (что само по себе может опять привести к сбою).
В инете пишут, что если уж смотреть в сторону подобных решений, то уж на 6-й (про плохую скорость записи тут уже говорили, но собственно при аппаратном контроллере это уже не должно быть так заметно).
А при 4-х винтах 10-й тогда уже по всем параметрам лучше получается.
Есть мамка ASUS P6T WS Pro (с встроенным Intel ICH10R) и 6 сегейтов по 1Тб.
Так вот оказывается, что:
1. если включать raid/ahci-режим на встроенном контроллере, то бутиться больше ни с чего нельзя (ну разве что с флэщки);
2. рэйд 10 оно поддерживает лишь на 4-х винтах, а на 6 не хочет (а зеркало вообще только на 2-х);
3. на рэйд10 на 4-х винтах под нагрузкой разваливается периодически (в смысле 1 из винтов становится красным, а если сразу не вернуть, то может и второй) - возможно что из-за перегрева, но там вроде тепловые трубки... Прям хоть вентилятор колхозь на такую мамку
1. если включать raid/ahci-режим на встроенном контроллере, то бутиться больше ни с чего нельзя (ну разве что с флэщки);его надо включать до установки ОС, во всех мануалах написано
тогда все грузится нормально
его надо включать до установки ОС, во всех мануалах написано
тогда все грузится нормально
В смысле до?
А можно и в процессе что ли?
В биосе включаю до - в загрузке привода не видно вообще (от через марвеловский сас подключен).
оно вообще того стоит или нет?Нет конечно.
Забудь про этот недо-RAID.
Лучше софтварный RAID10 делай или ZFS raidz1, если религия позволяет. Всяко софтварные лучше оттестированы, чем драйверные полусофтварные ICHxR.
BTW, данные там будут долговременно храниться или просто записываться во время рассчётов, а по окончанию скидываться в другое место? Возможно RAID0 даже будет лучше.
http://www.linux.com/news/hardware/servers/8222-benchmarkin...
Хинт: у всех (вроде) домашних NASов RAID вполне себе софтовый. И ничего - и работают, и по скорости нормально, и ребилдятся.
А при 4-х винтах 10-й тогда уже по всем параметрам лучше получается.Не по всем. 6-й надёжнее. Да и по скорости могут быть неоднозначности.
6-й надёжнееЗато при пересборке массива именно у RAID6 самые высокие накладные расходы.
http://www.techrepublic.com/blog/datacenter/raid-6-or-raid-1...
Не по всем. 6-й надёжнее.
По надежности несколько лучше - у 10-го выход не любых 2-х допустим.
Да и по скорости могут быть неоднозначности.
Из-за чего интересно?
Да и 6-х на встроенных контроллерах не видел (хоть их конечно и не рекомендуют использовать, но бывает, что всё уже куплено и надо с этим что-то сделать).
1. если включать raid/ahci-режим на встроенном контроллере
Что-то как-то я попробовал и другие настройки контроллера - всё равно с сасовского контроллера грузиться не хочет
Пообщался с техподдержкой по электронке - похоже народ там не особо разбирается в собственных продуктах - например про рэйд10 только на 4-х винтах он с удивлением узнал от меня (хотя это написано на сайте Интела в описании контроллера).
Зато при пересборке массива именно у RAID6 самые высокие накладные расходы.И что? Всё равно надёжнее.
http://www.techrepublic.com/blog/datacenter/raid-6-or-raid-1...
По надежности несколько лучше - у 10-го выход не любых 2-х допустим.Да, но это всё же не "несколько".
Из-за чего интересно?Да, на линейном чтении теоретически разницы не должно быть. Я напутал.
Но, например, если читать "через блок", то в 10-м не удастся на все 4 разложить, но это как-то уже чересчур. Наверное всё же при хороших планировщиках 10 и 6 будут одинаково на чтение работать.
Да и 6-х на встроенных контроллерах не видел (хоть их конечно и не рекомендуют использовать, но бывает, что всё уже куплено и надо с этим что-то сделать).Ну это я вообще говорил, а не в применении к конкретному оборудованию. Кстати, софтовый всё же никто не отменял.
Наверное всё же при хороших планировщиках 10 и 6 будут одинаково на чтение работать.
А на запись?
Кстати, софтовый всё же никто не отменял
А если софтовый, то на 6 винтов какой рэйд лучше делать?
И на чём?
Я так понимаю, это только на Линуксе нормально получится?
В принципе есть идея потом под Линукс комп переделать, а сейчас хочу попробовать под виндой на встроенном контроллере сделать 3 раздела: 0-й на 6 винтах и на оставшемся пространстве 10-й на 4-х и ещё 1-й на 2-х (надеюсь интеловский матриксрэйд такое потянет, а то и так приходится извращаться из-за того, что 10-й на 6 дисках не поддерживается ).
А на запись?На последовательную должно быть пофигу в теории. На рандомную у 6-го дополнительные чтения должны появиться.
А если софтовый, то на 6 винтов какой рэйд лучше делать?От задачи зависит. Если под файлопомойку, бекапы и т.п., то я бы 6-й сделал, если есть возможность.
И на чём?Не, нормально только на Солярисе или FreeBSD на zfs raidz2 . А под Linux только через zfs-fuse есть и ещё zfsonlinux, но этот ещё не отлажен до конца. Хотя если дополнительные потери в скорости не будут напрягать, то и zfs-fuse вполне годный вариант.
Я так понимаю, это только на Линуксе нормально получится?
Под Linux это можно ещё в LVM сделать. Но zfs по моему мнению лучше.
От задачи зависит.
Это дисковая система рабочей станции.
Хочется максимизировать скорость, не потеряв в надёжности.
Например под винду 0-й раздел будет использоваться под временные файлы и текущую работу (с регулярным бакапом а 10-й (если бы удалось все 6 использовать) - под систему, программы, документы и бакапы.
Вот уже думаю, что может попробовать заменить 10-й (раз уж его нормально сделать не получается) на 5-й.
Не, нормально только на Солярисе или FreeBSD на zfs raidz2 . А под Linux только через zfs-fuse есть и ещё zfsonlinux, но этот ещё не отлажен до конца. Хотя если дополнительные потери в скорости не будут напрягать, то и zfs-fuse вполне годный вариант.
От масштаба потерь зависит.
Но в принципе можно и на FreeBSD будет сделать.
От масштаба потерь зависит.raidz не делал. Для примера есть, например два диска, на которых hdparm показывает скорость чтения ~100MB/s. На них сделал mirror срествами zfs. zfs-fuse выдаёт среднюю скорость чтения на большом файле 62MB/s. Если сделать tar на среднемелкие файлы, то средняя около 40 получилась вроде.
При копировании большого файла в пределах системы скорость сильнее скачет. Средняя получается 22MB/s.
raidz не делал. Для примера есть, например два диска, на которых hdparm показывает скорость чтения ~100MB/s. На них сделал mirror срествами zfs. zfs-fuse выдаёт среднюю скорость чтения на большом файле 62MB/s. Если сделать tar на среднемелкие файлы, то средняя около 40 получилась вроде.Под FreeBSD всё куда лучше: raidz1 (без dedup и без сжатия) из 4x2Tb WD RE4 - чтение больших файлов ~280-300Mb/s, запись сильно прыгает, но это из-за кэширования. Когда пишем файл размером больше, чем оперативка, то получаем более "правильное" значение ~160-170Mb/s.
При копировании большого файла в пределах системы скорость сильнее скачет. Средняя получается 22MB/s.
например два диска, на которых hdparm показывает скорость чтения ~100MB/s. На них сделал mirror срествами zfs. zfs-fuse выдаёт среднюю скорость чтения на большом файле 62MB/s. Если сделать tar на среднемелкие файлы, то средняя около 40 получилась вроде.
При копировании большого файла в пределах системы скорость сильнее скачет. Средняя получается 22MB/s.
Как-то совсем грустно - скорость в 2 раза меньше чем у одиночного винта.
Тогда уж лучше винты использовать отдельно и разбить на них инфу по профилю используемости.
При этом можно настроить бакап инфы с одного винта на другой, чем уменьшить возможное влияние ошибок, когда не помогает зеркало.
Под FreeBSD всё куда лучше: raidz1 (без dedup и без сжатия) из 4x2Tb WD RE4 - чтение больших файлов ~280-300Mb/s, запись сильно прыгает, но это из-за кэширования. Когда пишем файл размером больше, чем оперативка, то получаем более "правильное" значение ~160-170Mb/s.
Так это надо сравнивать со скоростью одного винта.
Как оно на мелких файлах?
УПСа достаточно, чтобы из-за кэширования не было проблем?
тему .
Имхо, обычно оно того не стоит.
Советую почитать Имхо, обычно оно того не стоит.
Как-то совсем грустно - скорость в 2 раза меньше чем у одиночного винта.Ну там и сравнение разное немного. Линейная скорость чтения с диска против файловой системы поверх этого диска. Хотя, конечно, fuse во многом виноват наверняка.
Тогда уж лучше винты использовать отдельно и разбить на них инфу по профилю используемости.Не понял что уменьшится. Но так бекап в реальном времени меня больше устраивает. А скорость меня эта не сильно смущает.
При этом можно настроить бакап инфы с одного винта на другой, чем уменьшить возможное влияние ошибок, когда не помогает зеркало.
Так это надо сравнивать со скоростью одного винта.Наверное они у него тоже порядка 100MB/s
УПСа достаточно, чтобы из-за кэширования не было проблем?Каких именно проблем из-за кеширования. Вообще zfs достаточно устойчива к сбоям.
Средняя получается 22MB/s.
> много важных данных
:facepalm:В чём проблема?
в скорости вестимо
Мне скоро нужно будет собрать сервачок под django проект (nginx + uwsgi + postgre). В нем будет 6 корзин. Делать буду на FreeBSD. В качестве ФС хочу ZFS.
собсно вопросы:
1. Нормально ли иметь в системе 3 ZFS пула ? (по 1-му на каждое зеркало). - В интернетах пишут, что так делать ни в коем случае нельзя, что я огребу проблем, что пул должен быть один. При этом аргументировано никто ничего не объясняет. (3 пула - 1 под систему, на дисках c GPT разметкой, один под БД (типа быстрые SAS и один большой на небыстрых сата под статику/бэкапы. При этом хочется, чтобы любое из зеркал можно было вынуть если чо, и подключить к другой системе)
2. При настройке postgre, рекомендуют pg_log, pg_xlog, pg_clog разводить если и не на разные физические устройства, то хотя бы на разные разделы. В случае с zfs это актуально ?
в скорости вестимоТам мне этого вполне достаточно. Так что не вижу причин для расстройств.
Нормально ли иметь в системе 3 ZFS пула ?Ну я по крайней мере никаких противопоказаний не слышал. Хотя опыт работы с ней у меня и не такой большой. Может быть там есть какие-то мотивы, но тогда они могли бы их объяснить.
В принципе, если диски были бы одинаковые, то смысла бы действительно не было. А с разными по скорости наверное так и надо.
Так это надо сравнивать со скоростью одного винта.Линейное чтение в начале диска ~150Mb/s.
Запись проверить не могу - оно в боевом серваке, но думаю запись не сильно ниже - наверно 110-140Mb/s.
Как оно на мелких файлах?На запись (первое что пришло в голову):
# a=0;time while [ $a != 1024 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=4096K count=1 2>/dev/null;a=$$a+1;done
real 0m39.351s
user 0m1.315s
sys 0m20.328s
# echo $4096*1024*1024/39
110 127 366
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=1024K count=1 2>/dev/null;a=$$a+1;done
real 2m19.124s
user 0m12.405s
sys 1m17.148s
# echo $1048576*10240/139
77 247 613
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=256K count=1 2>/dev/null;a=$$a+1;done
real 1m4.753s
user 0m11.700s
sys 0m43.152s
# echo $262144*10240/65
41 297 762
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=64K count=1 2>/dev/null;a=$$a+1;done
real 0m45.312s
user 0m11.315s
sys 0m35.084s
# echo $65536*10240/45
14 913 080
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=16K count=1 2>/dev/null;a=$$a+1;done
real 0m40.105s
user 0m10.886s
sys 0m31.699s
# echo $16384*10240/40
4 194 304
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=4K count=1 2>/dev/null;a=$$a+1;done
real 0m42.444s
user 0m10.994s
sys 0m33.841s
# echo $4096*10240/42
998 643
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=1K count=1 2>/dev/null;a=$$a+1;done
real 0m42.900s
user 0m11.512s
sys 0m34.136s
# echo $1024*10240/43
243 854
Видимо блоками 64K и меньше мы упёрлись в IO.
На чтение:
# a=0;time while [ $a != 10240 ]; do dd if=/dev/zero of=/datastorage/data/$a bs=4K count=1 2>/dev/null;a=$$a+1;done
real 0m43.005s
user 0m11.021s
sys 0m34.955s
# time cat /datastorage/data/* > /dev/null
real 0m0.737s
user 0m0.149s
sys 0m0.593s
# time cat /datastorage/data/* > /dev/null
real 0m0.717s
user 0m0.150s
sys 0m0.572s
# echo $4096*10240*1000/717
58 497 963
Но это кэшь.
# dd if=/dev/zero of=/datastorage/test bs=16M count=128
128+0 records in
128+0 records out
2147483648 bytes transferred in 13.502646 secs (159041691 bytes/sec)
# time cat /datastorage/data/* > /dev/null
real 0m2.971s
user 0m0.199s
sys 0m1.188s
# dd if=/dev/zero of=/datastorage/test bs=16M count=256
256+0 records in
256+0 records out
4294967296 bytes transferred in 26.400576 secs (162684605 bytes/sec)
# time cat /datastorage/data/* > /dev/null
real 0m2.761s
user 0m0.168s
sys 0m1.225s
# echo $4096*1024000/276
15 196 753
С другими размерами файлов как-то ломает тестить... :-]
Учти, что это не RAID10, а аналог RAID5 - RAIDZ1.
УПСа достаточно, чтобы из-за кэширования не было проблем?
Странный вопрос. А когда это его не было достаточно?
Ещё делали страшное когда тестили этот сервак перед включением в продакшн - ставили копирование с этого zfs раздела на него же и руками выдёркивали шлейф сата: операция продолжилась и завершилась нормально. Потом вставили диск и оно достаточно быстро заребилдилось - потому что данных было не много. Вот как раз один из существенных плосов raidz1 перед аппаратным RAID5 - при ребилде оно читает только реальные данные с оставшихся дисков и пишет на новый тоже только нужное, а не всё подряд.
неужели zfs сравнима по производительности с аппаратными рэйдами?
неужели zfs сравнима по производительности с аппаратными рэйдами?а что такое по твоему аппаратный рейд?
это та же программа (в виде прошивки) + процессор (пусть и специализированный, но щас это не дает особого преимущества в производительности по сравнению с обычными процами)
у аппаратного рейда самый большой плюс - это батарейка, которая позволяет ему активно использовать кеширование.
у аппаратного рейда самый большой плюс - это батарейка, которая позволяет ему активно использовать кеширование.raidz* не имеет проблем с проёбом питания при записи, для которого аппаратному нужна батарейка. Т.к. там не может получиться искажения блока из-за того, что запись прошла не на все диски.
неужели zfs сравнима по производительности с аппаратными рэйдами?Я даже скажу больше - zfs raidz1/2 существенно быстрее большинства аппаратных RAID5/6. И даже RAID0/1/10 на zfs получается быстрее, чем аппаратный.
По крайней на процах начиная с двухядерных P4, не говоря уже о Core, и с 2Gb оперативки. На данный момент такой конфиг уже давно не новый, так что смело можно говорить "на любом современном компе".
Я даже скажу больше - zfs raidz1/2 существенно быстреессылку на обзор-сравнение
и что ты понимаешь под "существенно"
иначе - пустые слова, я тоже много чего могу сказать
Я сам проводил измерения и выкладывал где-то на форуме результаты: по некоторым тестам разница была даже в разы; минимальная разница - раза в полтора.
вон выше я ссылку привел - там аппаратный быстрее в разы
Both tests were done with XFS on CentOS 5.5Это что за фэйспалм? Они там что с чем сравнивают?
Выкинь свой центос - я тебе о FreeBSD говорю.
вот первая ссылка по запросу "zfs raidz1 vs 3ware"Там zfs-fuse тестировали. Т.е. смысл теста посмотреть как сосёт fuse, а не как сосёт zfs.
http://lists.centos.org/pipermail/centos/2011-April/109113.h...
я чото не нашел сходу
Сам отвечу на свой последний вопрос в том посте - запись так рулит из-за кэширования - оперативки на всё хватает. Если записывать файл больше, чем объём оперативки, то получим реальную скорость.
1. Нормально ли иметь в системе 3 ZFS пула ? (по 1-му на каждое зеркало). - В интернетах пишут, что так делать ни в коем случае нельзя, что я огребу проблем, что пул должен быть один. При этом аргументировано никто ничего не объясняет. (3 пула - 1 под систему, на дисках c GPT разметкой, один под БД (типа быстрые SAS и один большой на небыстрых сата под статику/бэкапы. При этом хочется, чтобы любое из зеркал можно было вынуть если чо, и подключить к другой системе)А какие проблемы обещают? Конечно рекомендовать иметь один пул это нормально. Но это не для случая когда хочется вынимать частями.
Или я безнадёжно отстал и теперь к каждому аппаратному рейду прилагается софтина, позволяющая поднять софтварный рейд на метаданных записанных аппаратным?
Там zfs-fuse тестировали. Т.е. смысл теста посмотреть как сосёт fuse, а не как сосёт zfs.Ахтох как всегда не читает, а если даже прочитал, то не вникает - ты уже говорил выше по треду о минусах реализации zfs именно в linux, но ему же пофигу на это - главное доебаться! Он как был уныл на первых курсах универа, так таким и остался...
H67 чипсете сгорает через 5 лет. Что будет? Паника и поиски точно такой же материдостаточно на том же чипсете, ну или более новом от интел (а вроде он не собирается с рынка уходить)
ну а в случае RAID1 не нужно ничего - и так будет работать отдельный винт, я проверял )
Начинающим любителям аппаратных рейдов вот о чём надо ещё задуматься. Представьте, что эта мать на H67 чипсете сгорает через 5 лет. Что будет? Паника и поиски точно такой же матери, чтобы слить данные с кучки винтов, которые без этой матери не представляют собою массива.Ты немного путаешь - с настоящими аппаратными RAID контроллерами именно так дела и обстоят как ты сказал. Только вот на H67 RAID в южном мосте ICH10R, который будет пониматься любой другой мамой с ICH10R. Даже больше - вроде даже нормально проходит миграция между всеми ICHxR: 5, 6, 7, 8, 9, 10 (по крайней мере я слышал "саксес стори" о миграции между некоторыми из них).
Или я безнадёжно отстал и теперь к каждому аппаратному рейду прилагается софтина, позволяющая поднять софтварный рейд на метаданных записанных аппаратным?
С ICHxR другая проблема - он нифига не аппаратный.
Вова, про тебя промолчу, тут и так тебя знают как упоротого ненавистника "мастдая" и пропагандиста FreeBSD во всех местах, где только можно и не можно
В данном треде эти его свойства уместны
А какие проблемы обещают? Конечно рекомендовать иметь один пул это нормально. Но это не для случая когда хочется вынимать частями.Да в том то и дело, что аргументированно ничего не обьясняют. Это я на forums.freebsd.org начитался, и ещё где то ... мб контекст неправильно понял.
В общем то сделаю 3 пула.
Кстате, на несистемных пулах нужно делать gpt разметку ? Или можно целиком тупо винты указать при создании пула ? (проверить пока что не на чем - вот и собираю теорию).
Представьте, что эта мать на H67 чипсете сгорает через 5 лет. Что будет? Паника и поиски точно такой же матери, чтобы слить данные с кучки винтов, которые без этой матери не представляют собою массива.Я так понимаю, данный вопрос вообще не должен стоять, если организована система бэкапа, ну, кроме, конечно рейдов 0 уровня с некритичными данными. Твой вопрос имеет смысл только в том случае, если критично время простоя, т.к. перенос данных на другую систему/восстановление из бэкапа может потребовать много времени.
Но я согласен с тем, что организовывать эти недоаппаратные недорейды нет никакого смысла — софтверное решение тут их зарулит и по производительности, и по гибкости, и обеспечит минимальное время простоя если что.
Кстате, на несистемных пулах нужно делать gpt разметку ? Или можно целиком тупо винты указать при создании пула ? (проверить пока что не на чем - вот и собираю теорию).На незагрузочных? Конечно можно целиком винты.
Я так понимаю, данный вопрос вообще не должен стоять, если организована система бэкапа, ну, кроме, конечно рейдов 0 уровня с некритичными данными. Твой вопрос имеет смысл только в том случае, если критично время простоя, т.к. перенос данных на другую систему/восстановление из бэкапа может потребовать много времени.Кстати именно под бэкапы обычно и берут аппаратные рейды, которые в итоге живут очень и очень долго, т.к. производительности особо не требуется. А через 10 лет сгорает контроллер, и начинаются поиски музейного экспоната
Я так понимаю, данный вопрос вообще не должен стоять, если организована система бэкапаА если мы рассмтриваем как раз место бекапа? И не очень хочется терять всю "историю".
Оставить комментарий
yolki
оно вообще того стоит или нет?интересует пятый рейд на 4*1Тб - для надёжности и скорости.
или лучше забить на бортовые и посмотреть на что-нибудь отдельное от LSI?