LINUX.ORG.RU
ФорумAdmin

linux md raid5


0

2

обьясните

по какой причине - на линуксовом рейд5 софтварном - при записи на партицию - идет чтение с нее
причем читает примерно 1/4-1/8 от того что записал

он что то проверяет ? иль это стандартное поведение raid5 - и я что то не понимаю в этих рейдах ?

dd if=/dev/zero of=/dev/md1 bs=1024k count=10000
10000+0 записей считано
10000+0 записей написано
 скопировано 10485760000 байт (10 GB), 27,1908 c, 386 MB/c

в это время iostat 5  показывает примерно это

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda            3872,80     28558,40    165674,40     142792     828372
sdc            3600,80     25789,60    172561,60     128948     862808
sdb            4207,40     28684,00    171516,00     143420     857580
md1           79516,20         0,00    318064,80          0    1590324
★★

Верификация «чтение после записи» ? В других ОС-ах это поведение даже декларируется в показах параметров в утилитах — например в мониторе Novell Netware 3.12, причём там указывается какая верификация (аппаратная, программная ...). Я вот об этом.

Infra_HDC ★★★★★
()

это стандартное поведение raid5

Да. RAID5 во время записи производит и чтение. По этой причине он имеет повышенное значение RAID-penalty и соответственно пониженную скорость записи.
http://www.symantec.com/connect/articles/getting-hang-iops-v13

af5 ★★★★★
()

RAID5 при записи сегмента самих данных на первый диск, пишет на третий диск контрольную сумму(XOR) этих данных с данными аналогичного сегмента на втором диске. Потом порядок меняется:

| data1 |3 XOR 4|
| data2 | data3 |
|1 XOR 2| data4 |
Это делается, чтобы при потере одного из дисков восстановить данные. Чтобы вычислить контрольную сумму, разумеется надо прочитать другой сегмент данных.

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

и неужели для это оно вынуждена прочитать весь chunk рейда с других дисков ? а потом и записать то что получиться - целым chunk-om в xor диск ?

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

Размер контрольной суммы равен chunk size, так что да. По результатам по сумме трёх дисков отношение чтение/запись получается 1/6. Думаю, это связано с тем, что если пишутся и data1, и data2, можно ничего не считывать с диска, а сразу записать все 3 значения. Ну ещё необходимость обновлять bitmap даёт некоторый прирост записи, хотя по идее небольшой.

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

а вот зачем - если был изменен один сектор в 512 байт
то я думал что логично когда и xor диск будет обновлен также этиже 512 байты

зачем пинать весь chunk size я непонимаю - по умолчанию он на софт линуксовом 512кбайт

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

Потому что единица информации для RAID'а - это chunk. Сделай его размером в 512 байт - будет тебе меняться 512 байт. Только вот скорость будет никакая.

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