LINUX.ORG.RU
ФорумAdmin

чем обьяснить разницу в производительности raid5?

 


1

5

хай всем

есть сервак в нём стояли четыре винта wd re 5tb, в режиме raid5, создавался массив следующей командой:

mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

скорость чтения была (примерно) 200мб/с, записи 300мб/с. так как это был бэкап сервер, на который данные только записывались, меня всё устраивало.

приехали на апгрейд четыре винта hgst he8 8tb. я установил их в этот же сервер и таким же образом создал на них raid5. сделал бенч и был удивлён результатами - чтение 480мб/с, запись 180мб/с. я тестил их по отдельности - скорость последовательной записи и чтения у них такие же как и у 5тб RE-шек. чем обьяснить такие расхождения в бенчмарках? может есть способ поднять скорость записи каким-то образом?


делай raid10 пока не поздно

futurama ★★★★★
()

скорость чтения была (примерно) 200мб/с, записи 300мб/с.

Какой-то это был неправильный raid5.

Davyd ★★
()
Ответ на: комментарий от chaos_dremel

тестил через fio, конфиг следующий: для чтения: [readtest] blocksize=1024k filename=/dev/md0 rw=read direct=1 buffered=0 ioengine=libaio iodepth=32

для записи: [readtest] blocksize=1024k filename=/dev/md0 rw=write direct=1 buffered=0 ioengine=libaio iodepth=32

raid10 не рассматриваю, он почему-то гипер медленный - перепробовал все layot-ы

ioan
() автор топика

HGST — Advanced Format, в отличие от WD. Разделы выровнял?

RAID5 из дисков 8тб — изврат.

anonymous
()
Ответ на: комментарий от ioan

Общего ответа у меня нет, только мысли о возможных направлениях поиска

  • дурацкий вопрос, но.... во время тестов на винты же не было продуктивной нагрузки от сервера бекапа, ведь правда? :)
  • Ты никак не ограничил время теста. Возможно, на больших винтах ты запустил тестирование на большее время и тупо заполнил кэш на запись, из-за чего естественно резко просела производительность. На полчасика, по-любому :)
    runtime=1800
  • скорее всего, вторые винты не предназначены для работы в рейде. У рейдовых винтов жёстко заданы таймауты: не успел прочитать/записать - выдавай ошибку, контроллер рейда отработает. Если этого нет, могут возникать рандомные тормоза на I/O операциях. Может у тебя один диск помирает
  • Хотелось бы видеть весь вывод fio ( для всех протестированных вариантов ) и информацию о рейдах )

offtopic:

  • Нет
    randrepeat=0
    , без этого тест каждый раз повторяет одни и те же номера блоков ( напр. первый прогон: 1, 54891, 154, 9345, .. ; второй прогон: 1, 54891, 154, 9345, .. )
  • для sata дисков глубина очереди 32 явно избыточна
router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от anonymous

HGST — Advanced Format, в отличие от WD. Разделы выровнял?

Вот кстати про это забыл. +1. Хотя wd тоже advanced format

Что именно собрал в рейды? Весь винт или отдельные партиции? Во втором случае важно выравнивание

router ★★★★★
()
Ответ на: комментарий от router

И ещё fio может писать подробные логи

write_lat_log=fio_test.lat_log
write_iolog=fio_test.iolog

Если не лень их потом обработать перлом или питоном, можно получить гистограмму распределения задержек, по которой много можно сказать о дисках

router ★★★★★
()
Ответ на: комментарий от router

Может у тебя один диск помирает

Во время тестирования посмотри

iostat -x 5 /dev/sda /dev/sdb ...
Проблемы с одним из дисков будут сразу заметны

router ★★★★★
()
Ответ на: комментарий от router

это дельный совет, спасибо.

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda            9056.00 20257.00   91.00  205.80 36930.40 82104.00   802.12    13.85   48.08  111.24   20.15   3.30  97.84
sdb            4286.60 20475.80   59.40  207.00 17416.00 82936.00   753.39     3.50   13.16   41.35    5.07   3.19  84.96
sdc            9203.60 20056.60   80.00  199.60 37320.80 80711.20   844.29    27.75   70.64   65.61   72.65   3.58 100.00
sdd            4514.80 20145.60   48.00  204.20 18251.20 81133.60   788.14     3.89   15.25   41.58    9.06   3.73  94.08

это во время теста последовательной записи. fio показывает на этот момент около 240мб/с. странно что винты пишут всего лишь 80мб/с, в то время как линейный тест (без рейда) показал что они легко дают 200мб/с по отдельности?

ioan
() автор топика
Ответ на: комментарий от router

что значит поддерживают? диск имеет размер сектора или 512б или 4кб (AF). программно он не меняется.

посмотри спеки WD, RE имеют размер сектора 512б.

anonymous
()

у НЖМД свой кэш и свои прошивки, ты не знал? Чем объяснить? Разные люди написали разный код для разных моделей нжмд, чего здесь непонятного-то?

НЖМД - это не «тупая железка». Это отдельный микрокомпьютер. Добро пожаловать в мир firmware.

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от targitaj

на самом деле аноним глаголит истину. програмно размер сектора не поменяешь, так-же нельзя перешить другую прошивку чтоб его поменять. поэтому надо перед покупкой выбирать нужную железку. я купил с 4к секторами просто из-за того, что они дешевле стоили (брал с рук).

ioan
() автор топика
Ответ на: комментарий от anonymous

потому что он выдерживает отказ 1 диска, и во время ребилда массива вероятность потерять 2-й диск растет прямо пропорционально времени.

anonymous
()
Ответ на: комментарий от anonymous

ну я когда брал диск, то был выбор - натив 512байт, 512е (4к диск с эмуляцией 512байтных секторов) и натив 4к. это всё 8тб диски.

ioan
() автор топика
Ответ на: комментарий от ioan

странно что винты пишут всего лишь 80мб/с, в то время как линейный тест (без рейда) показал что они легко дают 200мб/с по отдельности?

При записи на raid5 нужно пересчитать контрольные суммы. Т.е. сначала считывается текущий блок, потом записывается блок на текущий винт и блок с пересчитанной контрольной суммой на другой винт. Вместо одной операции записи - одно чтение и две записи

Это нормальная ситуация для raid5. На старых дисках должна быть похожая картина

router ★★★★★
()
Ответ на: комментарий от anonymous

посмотри спеки WD, RE имеют размер сектора 512б.

Так, я понял в чём недопонимание. ТС сказал - «wd re 5tb». Я зацепился за 5 Тб, ты за Re. Самое смешное, что на сайте WD я вообще не вижу 5 Tb дисков в линейке Re :D соответственно, и в спеках их нет

http://www.wdc.com/en/products/catalog/Default.aspx

Из не вполне достоверных источников, яндекс.маркет говорит - AF, 512e

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

кстати, есть ещё варианты для 4-ех дисков, переживающие выход из строя одного, и дающий размер трёх суммарно (ну, как raid5) ?

ioan
() автор топика
Ответ на: комментарий от Deleted

На линуксе? Ну-ну… когда у тебя сервер колом встанет от IO и начальник будет тебя иметь, у тебя будет такое же лицо как на аве, только с румянцем на щеках.

anonymous
()

Скорость? Даже самая большая из твоих у одного среднего бытового ссд сосёт в несколько раз.

anonymous
()
Ответ на: комментарий от anonymous

Я бэкаплю с нескольких серверов, сразу по 2-3 тб за раз, большими файлами. Поэтому 300мб/с последовательно на запись лучше чем 200мб/с. 24 тб ссд в hp microserver будет сложно воткнуть даже при желании и наличии денег для этого.

ioan
() автор топика
Ответ на: комментарий от anonymous

да блин не очень хочется плодить зоопарк из разных ОС, уже имею гемморой с бэкапом с макоси на линукс, который пока не получается разрулить. 10g карта дропает пакеты из за переполнения внутреннего буфера, из за чего скорость входящего трафа падает ниже гигабита, а техсаппорт разводит руками. уже и карты разные вставлял (myricom), и подключал их по разному, и софт переставлял - до задницы. добавить сюда ещё фряху и думаю добавится хлопот сразу же :)

ioan
() автор топика

raid5 что на 5tb, а уж тем более на 8tb делать, к сожалению, нельзя. Делай raidz, там почти все проблемы raid5 решены.

Deleted
()
Ответ на: комментарий от ioan

Наоборот, с FreeBSD твоя задница будет мягкой и шелковистой))

anonymous
()
Ответ на: комментарий от Deleted

Вероятность вылета 2-го диска, а с ним и всех данных, в процессе ресильвера там тоже решили?

На 8тб дисках делать raidz2, а лучше rz3 надо, а у него всего 4 винта.

anonymous
()
Ответ на: комментарий от Deleted

честно говоря, звучит бредово. за свою жизнь я юзал более сотни разных дисков, начиная от 1гигабайтных и заканчивая 10тб. такое, чтоб были невосстановимые ошибки чтения, происходило только уже на конченых дисках, которые шли на мусорку/сервис по гарантии. последние 8тб-ники я прогнал полной записью поверхности и считыванием с валидацией данных - никаких ошибок не произошло (такой же тест я провожу со всеми абсолютно дисками). ну и данные я храню в двух копиях, если бэкап полетит, то, в принципе, мне всего лишь надо будет сделать новый бэкап. рейд то, никак не гарантирует сохранность данных. полетит БП - погорят все диски сразу - никакой рейд не поможет :)

ioan
() автор топика
Ответ на: комментарий от ioan

Имел дело с raid50 сделанном на 1.5TB дисках в количестве около 40 штук. Через 5 года эксплуатации, при выходе из строя очередного диска, буквально в тот же день после ресинка, из той же группы выпал второй диск. Решено было перекинуть этот массив целиком на новый, стоящий рядом. В процессе копирования выпали еще 3 или 4 диска, данным на этот раз повезло. Так что, вопрос в вероятности и сроке эксплуатации

Deleted
()
Ответ на: комментарий от Deleted

тут, скорей, вероятность выхода более одного диска возрастает с количеством дисков в массиве. вроде как средний процент у backblaze 3%. тоесть три диска из ста вылетают железно.

ioan
() автор топика
Ответ на: комментарий от Deleted

unrecoverable error не означает, что на диске появится битый сектор и что ОС не сможет его считать со второй попытки. я не думаю что resync отвалится из за этого.

ioan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.