LINUX.ORG.RU
ФорумAdmin

RAID 0/1/10/01: не понимаю...


0

2

Вот уже две темы читаю и не понимаю: откуда во всех вышеуказанных уровнях RAID может взяться ускорение чтения при последовательном однопоточном чтении данных?

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

>> но разве random read убирает в raid1 необходимость в подтверждении целостности считанных данных за счёт считывания их с обоих винчестеров (если их два)?

А разве там такая проверка производится?

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

педивикия говорит, что идёт выигрыш по скорости чтения, т.е. предполагает, что проверки нет. Видимо целостность данных проверяется не сравнением считанного с разных винтов в массиве, а crc-подобными методами.

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

>> Видимо целостность данных проверяется не сравнением считанного с разных винтов в массиве, а crc-подобными методами.

В mdraid она никак дополнительно не проверяется — в случае любой ошибки ввода/вывода сбойный диск выбрасывается из массива :)

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

скорость увеличивается за счёт чтения разных суб-блоков с разных дисков. Правда, чем этот двухдисковый raid10 отличается от raid1 в плане достоинств и недостатков - я сказать не могу.

при двух дисках в массиве

root@mws64:~# time { dd if=/dev/zero of=/tmp/1/file bs=10M ; sync ; }
dd: запись «/tmp/1/file»: На устройстве кончилось место
306+0 записей считано
305+0 записей написано
 скопировано 3202031616 байт (3,2 GB), 63,6545 c, 50,3 MB/c
один диск в массиве
root@mws64:/tmp/1# rm file
root@mws64:/tmp/1# time { dd if=/dev/zero of=/tmp/1/file bs=10M ; sync ; }
dd: запись «/tmp/1/file»: На устройстве кончилось место
306+0 записей считано
305+0 записей написано
 скопировано 3202031616 байт (3,2 GB), 57,8583 c, 55,3 MB/c
скорость записи не изменилась, а вот скорость чтения - упала (см. лучше тот pastebin). Это именно характеристики raid1, моя ошибка была в том, что я ожидал от raid1 сравнения копий записанных данных, чего он не делает ни разу :)

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

я имел в виду проверку целостности считанных данных средствами драйвера ФС. Или она тоже нифига этого не делает???

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

но разве random read убирает в raid1 необходимость в подтверждении целостности считанных данных за счёт считывания их с обоих винчестеров (если их два)?

RAID1 не проверят целостность данных. Предполагается, что это делает контроллер жёсткого диска. Если при считывании с диска он возвращает ошибку, то диск помечается сбойным и чтение происходит с другого.

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

Смотря какая ФС. Обычно проверяют только целостность метаданных, а данные почти никто не проверяет. Есть некоторые ФС с проверкой целостности и самих данных - btrfs, udf, может быть ещё ISO9960. Но CRC на уровне ФС стоит не дёшево.

mashina ★★★★★
()

Чтобы гарантированно получить удвоение скорости чтения на однопоточной операции при наличии всего двух физических дисков - предлагаю каждый из дисков разбить на два раздела, и уже полученные четыре раздела объединить в RAID10.

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

Так вот же чтение с 2 дисков:

root@mws64:~# dd of=/dev/zero if=/tmp/1/file bs=10M
305+1 записей считано
305+1 записей написано
 скопировано 3202031616 байт (3,2 GB), 24,7632 c, 129 MB/c
adepto
()
Ответ на: комментарий от spunky

>я ожидал от raid1 сравнения копий записанных данных, чего он не делает ни разу :)

Система энергию бережёт и планету спасает. mdadm - первый в мире зелёный рейд :)

То-то я удивлялся, что шума при работе головок от RAID1 не намного больше, чем от одного диска.

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

Просто нужно использовать диск на действительно проблемных задачах - scattered read/write. Линейные IO мало где критичны.

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

Для большего эффекта сравним с ZFS:

> dd if=/dev/zero of=/tmp/privet bs=20M
^C135+0 records in
134+0 records out
2810183680 bytes transferred in 50.564760 secs (55575932 bytes/sec)

> dd if=/dev/zero of=/store/tmp/privet bs=20M
^C308+0 records in
307+0 records out
6438256640 bytes transferred in 65.988155 secs (97566853 bytes/sec)

> dd of=/dev/zero if=/tmp/privet bs=20M
135+0 records in
135+0 records out
2831155200 bytes transferred in 91.291316 secs (31012317 bytes/sec)

> dd of=/dev/zero if=/store/tmp/privet bs=20M
308+0 records in
308+0 records out
6459228160 bytes transferred in 57.188405 secs (112946465 bytes/sec)

Каталог /tmp в отдельном ZFS-пуле из единственного диска WD6400AAKS. Каталог /store/tmp в отдельном ZFS-пуле RAID-Z из трёх Samsung HM641JI. Все пулы забиты примерно на 80%.

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

Протрите мне глаза, если я не прав. Но вроде пока RAID10 из двух дисков лидирует по скорости чтения, обогнав трёхдисковый пул RAID-Z :)

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

Так вот же чтение с 2 дисков:

скопировано 3202031616 байт (3,2 GB), 24,7632 c, 129 MB/c

а дальше идёт результат для одного диска

#root@mws64:/tmp/1# echo 3 > /proc/sys/vm/drop_caches
#root@mws64:/tmp/1# dd of=/dev/zero if=/tmp/1/file bs=10M
#305+1 записей считано
#305+1 записей написано
# скопировано 3202031616 байт (3,2 GB), 66,3336 c, 48,3 MB/c
при том, что скорость записи можно считать неизменной (разница около 5%), скорость чтения упала значительно (в два с лишним раза). Таки двухдисковый raid10 есть вариация raid1, и что-то мне подсказывает, что если сделать apt-get source mdadm и порыться в полученном коде, то выяснится, что на двух дисках raid10 формируется в виде raid1.

или я неверно понял твой комментарий?

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

мне кажется, что сравнивать следует в первую очередь теоретически возможные скорости чтения/записи, а потом уже практические со скидкой на скорости доступа к дискам и требования к вычислительной мощности. И я бы сделал ставку на raid10 на не менее чем 4х дисках. Собственно, я так и сделал в результате.

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

У меня есть подозрение, что мы смотрим разные пастбины. В первом оба диска были на одном физическом носителе и тестировалась отказоустойчивость. А во втором YAR подключал два разных физических диска.

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