LINUX.ORG.RU
решено ФорумAdmin

Raid1 - чтение идёт только с одного диска


0

1

Обратил внимание, что при чтении с raid1-диска, реальное чтение идёт только с одного из устройств. Причём устройства меняются, где-то раз в минуту, т.е. с минуту чтение идёт с sda, потом - sdb, потом меняются и по-новой.

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

Это баг или фича?

Linux-3.2, mdadm 3.1.4.

# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] 
md127 : active raid1 sdb2[1] sda2[0]
      1454644427 blocks super 1.2 [2/2] [UU]

Вывод iostat в разные моменты времени:

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             298,00     75264,00        11,00      75264         11
sdb               3,00         0,00        10,00          0         10
md1               0,00         0,00         0,00          0          0
md127          1177,00     75264,00         8,00      75264          8
dm-0              0,00         0,00         0,00          0          0
dm-1              0,00         0,00         0,00          0          0
dm-2              0,00         0,00         0,00          0          0
dm-3              0,00         0,00         0,00          0          0
dm-4           1177,00     75264,00         8,00      75264          8
dm-6              0,00         0,00         0,00          0          0
dm-5              0,00         0,00         0,00          0          0



Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               2,00         0,00         9,00          0          9
sdb             399,00    101632,00         9,00     101632          9
md1               0,00         0,00         0,00          0          0
md127          1589,00    101632,00         8,00     101632          8
dm-0              0,00         0,00         0,00          0          0
dm-1              0,00         0,00         0,00          0          0
dm-2              0,00         0,00         0,00          0          0
dm-3              0,00         0,00         0,00          0          0
dm-4           1588,00    101632,00         0,00     101632          0
dm-6              1,00         0,00         8,00          0          8
dm-5              0,00         0,00         0,00          0          0



★★★★★

Что-то мне подсказывает, что надо копать в сторону настроек, должно там это быть.

Скорее всего дело в том что по дефолту зеркало рассчитано на отказоустойчивость и поэтому диски и чередуются, если же тебе хочется еще и скоростей - надо это обяснить.

aleks13
()

скорость чтения должна была удвоится?

С какого перепуга? Он же блоками считывает а не байтами.

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

Так и должно быть. Создай второй поток — чтение будет с обоих дисков.

Спасибо, понял. Думал, что удвоение будет и для одного потока.

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

В принципе, можно сделать и для одного потока - двухдисковый RAID10 - но это может потом вылезти боком - неравномерная нагрузка на винты, долгая проверка массива и т.п.

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

Странно, в общем. А в теории так красиво было «данные можно читать с обоих дисков, достигая удвоения по чтению».

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

а они не учитывали время позиционирования головок и в результате весь пар уходил в свисток, т.е. головки бОльшую часть времени летали туда-сюда. Но они вроде как там что-то доработали, так что щас может этим можно пользоваться.

true_admin ★★★★★
()

Это похоже на политику использования ресурса, в данном случае, программного зеркала «Round-robin». Политика использования логического массива в нормальных ОС задаётся во время его создания. Можно ли её изменить в Linux — вопрос, ответ на который нужно искать man'е.

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