Рейтинг:3

Скорость повторной синхронизации Linux mdraid на массиве из 36 дисков

флаг id

У меня проблемы с производительностью mdraid. У меня есть один мягкий массив raid6 размером 18x10 ТБ, который повторно синхронизируется со скоростью ~ 70 МБ / с:

ядро 5.8.13-1.el8
/dev/md0:
           Версия : 1.2
     Время создания: Пн, 5 октября, 15:11:15 2020 г.
        Уровень рейда: рейд 6.
        Размер массива: 155136221184 (144,48 ТиБ 158,86 ТБ)
     Используемый размер разработки: 9696013824 (9,03 ТиБ, 9,93 ТБ)
      Рейдовые устройства: 18
     Всего устройств: 18
       Постоянство: суперблок постоянен

     Растровое изображение намерения: внутреннее

       Время обновления: среда, 18 августа, 18:35:42 2021 г.
             Состояние: чистый, деградированный, повторная синхронизация
    Активные устройства: 17
   Рабочие устройства: 18
    Неудачные устройства: 0
     Запасные устройства: 1

            Макет: левосимметричный
        Размер блока: 512 КБ

Политика согласованности: растровое изображение

     Статус повторной синхронизации: завершено на 25 %.

              Имя: large2:0 (локальный для хоста large2)
              UUID: bdb63778:b3765982:b257478b:70121351
            События : 500678

    Номер Основной Младший RaidDevice State
      18 8 5 0 активная синхронизация /dev/sda5
       1 8 21 1 активная синхронизация /dev/sdb5
       2 8 34 2 активная синхронизация /dev/sdc2
       3 8 50 3 активная синхронизация /dev/sdd2
       4 8 66 4 активная синхронизация /dev/sde2
       5 8 82 5 активная синхронизация /dev/sdf2
       - 0 0 6 удалено
       7 8 114 7 активная синхронизация /dev/sdh2
       8 8 130 8 активная синхронизация /dev/sdi2
       9 8 146 9 активная синхронизация /dev/sdj2
      10 8 162 10 активная синхронизация /dev/sdk2
      11 8 178 11 активная синхронизация /dev/sdl2
      12 8 194 12 активная синхронизация /dev/sdm2
      13 8 210 13 активная синхронизация /dev/sdn2
      14 8 226 14 активная синхронизация /dev/sdo2
      15 8 242 15 активная синхронизация /dev/sdp2
      16 65 2 16 активная синхронизация /dev/sdq2
      17 65 18 17 активная синхронизация /dev/sdr2

       6 8 98 - запасной /dev/sdg2
md0 : активный raid6 sdg2[6](S) sda5[18] sdr2[17] sdq2[16] sdp2[15] sdo2[14] sdn2[13] sdm2[12] sdl2[11] sdk2[10] sdj2[9 ] sdi2[8] sdh2[7] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb5[1]
      155136221184 блоков super 1.2 level 6, чанк 512k, алгоритм 2 [18/17] [UUUUUU_UUUUUUUUUUUU]
      [=====>...............] ресинхронизация = 25,0% (2431109212/9696013824) финиш=1562,2мин скорость=77503К/сек
      растровое изображение: 9/73 страницы [36 КБ], фрагмент 65536 КБ

Устройство r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rawq-sz wareq-sz svctm %util
стандарт 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
сдб 322,00 2,80 77282,40 6,60 16471,00 0,80 98,08 22,22 412,53 126,79 133,40 240,01 2,36 2,53 82,10
sdf 339,40 0,00 77758,40 0,00 16454,40 0,00 97,98 0,00 379,81 0,00 128,91 229,11 0,00 2,39 81,28
сдр 325,00 0,00 77414,40 0,00 16465,20 0,00 98,06 0,00 405,64 0,00 131,83 238,20 0,00 2,40 77,90
сдм 329,00 0,00 78477,60 0,00 16465,40 0,00 98,04 0,00 398,25 0,00 131,02 238,53 0,00 2,38 78,36
sdi 328,60 0,00 77084,00 0,00 16460,40 0,00 98,04 0,00 391,20 0,00 128,55 234,58 0,00 2,48 81,64
сдх 335,40 0,00 77753,60 0,00 16456,20 0,00 98,00 0,00 389,88 0,00 130,77 231,82 0,00 2,42 81,14
сдж 326,40 0,00 77700,80 0,00 16464,80 0,00 98,06 0,00 408,07 0,00 133,19 238,05 0,00 2,48 80,90
сде 328,60 0,00 77700,80 0,00 16462,60 0,00 98,04 0,00 398,74 0,00 131,03 236,46 0,00 2,46 80,92
сдн 332,00 0,00 77050,40 0,00 16456,60 0,00 98,02 0,00 382,56 0,00 127,01 232,08 0,00 2,35 78,12
сдл 324,80 0,00 76341,60 0,00 16461,20 0,00 98,07 0,00 385,14 0,00 125,09 235,04 0,00 2,40 78,00
сдп 326,60 0,00 76789,60 0,00 16461,00 0,00 98,05 0,00 393,01 0,00 128,36 235,12 0,00 2,38 77,76
sdq 325,00 0,00 77281,60 0,00 16464,60 0,00 98,06 0,00 404,60 0,00 131,49 237,79 0,00 2,40 77,94
сдк 331,80 0,00 77685,60 0,00 16459,40 0,00 98,02 0,00 386,56 0,00 128,26 234,13 0,00 2,34 77,48
сда 324,20 2,80 77067,20 6,60 16464,40 0,80 98,07 22,22 426,02 135,93 138,74 237,71 2,36 2,59 84,62
сдд 327,60 0,00 77276,00 0,00 16461,80 0,00 98,05 0,00 401,83 0,00 131,64 235,89 0,00 2,47 81,02
sdc 330,80 0,00 77605,60 0,00 16460,00 0,00 98,03 0,00 396,68 0,00 131,22 234,60 0,00 2,46 81,24
сдо 326,40 0,00 77927,20 0,00 16465,60 0,00 98,06 0,00 402,73 0,00 131,45 238,75 0,00 2,40 78,38
md0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00

.

и второй программный рейд 6 36x14 ТБ, который выполняет начальную повторную синхронизацию со скоростью ~ 40 МБ / с:

.

ядро 5.13.11-1.el8
           Версия : 1.2
     Время создания : вторник, 17 августа, 09:37:39 2021
        Уровень рейда: рейд 6.
        Размер массива: 464838634496 (432,91 ТиБ 475,99 ТБ)
     Используемый размер разработки: 13671724544 (12,73 ТиБ, 14,00 ТБ)
      Рейдовые устройства: 36
     Всего устройств: 36
       Постоянство: суперблок постоянен

     Растровое изображение намерения: внутреннее

       Время обновления: среда, 18 августа, 16:39:11 2021 г.
             Состояние: активно, ресинхронизация
    Активные устройства: 36
   Рабочие устройства: 36
    Неудачные устройства: 0
     Запасные устройства : 0

            Макет: левосимметричный
        Размер блока: 512 КБ

Политика согласованности: растровое изображение

     Статус повторной синхронизации: выполнено на 32 %.

              Имя: large1:0 (локальный для хоста large1)
              UUID: b7cace22:832e570f:eba39768:bb1a1ed6
            События : 20709

    Номер Основной Младший RaidDevice State
       0 8 33 0 активная синхронизация /dev/sdc1
       1 8 49 1 активная синхронизация /dev/sdd1
       2 8 65 2 активная синхронизация /dev/sde1
       3 8 81 3 активная синхронизация /dev/sdf1
       4 8 97 4 активная синхронизация /dev/sdg1
       5 8 113 5 активная синхронизация /dev/sdh1
       6 8 129 6 активная синхронизация /dev/sdi1
       7 8 145 7 активная синхронизация /dev/sdj1
       8 8 161 8 активная синхронизация /dev/sdk1
       9 8 209 9 активная синхронизация /dev/sdn1
      10 8 177 10 активная синхронизация /dev/sdl1
      11 8 225 11 активная синхронизация /dev/sdo1
      12 8 241 12 активная синхронизация /dev/sdp1
      13 65 1 13 активная синхронизация /dev/sdq1
      14 65 17 14 активная синхронизация /dev/sdr1
      15 8 193 15 активная синхронизация /dev/sdm1
      16 65 145 16 активная синхронизация /dev/sdz1
      17 65 161 17 активная синхронизация /dev/sdaa1
      18 65 33 18 активная синхронизация /dev/sds1
      19 65 49 19 активная синхронизация /dev/sdt1
      20 65 65 20 активная синхронизация /dev/sdu1
      21 65 81 21 активная синхронизация /dev/sdv1
      22 65 97 22 активная синхронизация /dev/sdw1
      23 65 113 23 активная синхронизация /dev/sdx1
      24 65 129 24 активная синхронизация /dev/sdy1
      25 65 177 25 активная синхронизация /dev/sdab1
      26 65 193 26 активная синхронизация /dev/sdac1
      27 65 209 27 активная синхронизация /dev/sdad1
      28 65 225 28 активная синхронизация /dev/sdae1
      29 65 241 29 активная синхронизация /dev/sdaf1
      30 66 1 30 активная синхронизация /dev/sdag1
      31 66 17 31 активная синхронизация /dev/sdah1
      32 66 33 32 активная синхронизация /dev/sdai1
      33 66 49 33 активная синхронизация /dev/sdaj1
      34 66 65 34 активная синхронизация /dev/sdak1
      35 66 81 35 активная синхронизация /dev/sdal1
md0 : активный raid6 sdal1[35] sdak1[34] sdaj1[33] sdah1[31] sdai1[32] sdag1[30] sdaf1[29] sdac1[26] sdae1[28] sdab1[25] sdad1[27] sds1[ 18] sdq1[13] sdz1[16] sdo1[11] sdp1[12] sdx1[23] sdr1[14] sdw1[22] sdn1[9] sdaa1[17] sdv1[21] sdu1[20] sdy1[24] sdt1[19] sdk1[8] sdm1[15] sdl1[10] sdh1[5] sdj1[7] sdf1[3] sdi1[6] sdc1[0] sdg1[4] sde1[2] sdd1[1]
      464838634496 блоков super 1.2 level 6, чанк 512k, алгоритм 2 [36/36]
      [======>..............] повторная синхронизация = 32,4% (4433869056/13671724544) окончание = 3954,9 мин скорость = 38929 К/с
      растровое изображение: 70/102 страницы [280 КБ], фрагмент 65536 КБ
Устройство r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rawq-sz wareq-sz svctm %util
sdc 9738,60 1,40 38956,00 5,80 0,40 0,40 0,00 22,22 0,20 9,29 1,93 4,00 4,14 0,07 71,82
сдд 9738,20 1,00 38952,80 2,60 0,00 0,00 0,00 0,00 0,89 5,80 8,68 4,00 2,60 0,07 71,60
сде 9738,60 1,40 38956,00 5,80 0,40 0,40 0,00 22,22 0,31 3,71 3,02 4,00 4,14 0,07 70,60
sdf 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,17 3,20 1,69 4,00 2,60 0,07 70,56
9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,85 4,20 8,31 4,00 2,60 0,07 70,72
сдх 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,20 4,00 1,93 4,00 2,60 0,07 70,64
sdi 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,17 8,20 1,70 4,00 2,60 0,07 70,98
сдж 9714,60 1,00 38954,40 2,60 24,00 0,00 0,25 0,00 0,58 4,00 5,61 4,01 2,60 0,07 70,66
сдк 9677,00 1,00 38953,60 2,60 61,40 0,00 0,63 0,00 1,23 4,40 11,94 4,03 2,60 0,07 70,76
сдл 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,15 5,80 1,44 4,00 2,60 0,07 70,76
сдм 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,38 2,80 3,73 4,00 2,60 0,07 70,96
сдо 9705,60 1,00 38953,60 2,60 32,80 0,00 0,34 0,00 0,83 5,80 8,07 4,01 2,60 0,07 70,80
сдп 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,30 4,20 2,91 4,00 2,60 0,07 70,60
сдн 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,34 5,60 3,30 4,00 2,60 0,07 70,76
сдт 9659,80 1,00 38954,40 2,60 78,80 0,00 0,81 0,00 1,00 4,00 9,71 4,03 2,60 0,07 70,44
сдс 9640,40 1,00 38954,40 2,60 98,20 0,00 1,01 0,00 1,29 5,60 12,42 4,04 2,60 0,07 70,60
sdq 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,30 4,40 2,92 4,00 2,60 0,07 70,68
сду 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,13 4,40 1,31 4,00 2,60 0,07 70,66
сдв 9696,20 1,00 38954,40 2,60 42,40 0,00 0,44 0,00 1,30 4,20 12,57 4,02 2,60 0,07 70,76
сдв 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,94 4,20 9,13 4,00 2,60 0,07 70,70
сдд 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,11 4,40 1,05 4,00 2,60 0,07 70,62
сдр 9730,80 1,00 38953,60 2,60 7,60 0,00 0,08 0,00 1,22 4,20 11,87 4,00 2,60 0,07 70,68
sdx 9718,00 1,00 38954,40 2,60 20,60 0,00 0,21 0,00 0,88 4,20 8,57 4,01 2,60 0,07 70,70
sdaa 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,24 4,20 2,38 4,00 2,60 0,07 70,60
сдз 9738,40 1,00 38953,60 2,60 0,00 0,00 0,00 0,00 0,20 4,20 1,91 4,00 2,60 0,07 70,60
sdab 9633,60 1,00 38953,60 2,60 104,80 0,00 1,08 0,00 1,38 4,20 13,33 4,04 2,60 0,07 70,52
sdac 9639,20 1,00 38954,40 2,60 99,40 0,00 1,02 0,00 1,08 5,60 10,45 4,04 2,60 0,07 70,56
sdad 9536,20 1,00 38954,40 2,60 202,40 0,00 2,08 0,00 2,73 4,00 26,04 4,08 2,60 0,07 70,36
сдаф 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,37 4,00 3,63 4,00 2,60 0,07 70,64
sdae 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,16 5,40 1,61 4,00 2,60 0,07 70,72
сдаг 9735,20 1,00 38940,80 2,60 0,00 0,00 0,00 0,00 0,46 5,80 4,48 4,00 2,60 0,07 70,76
sdai 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,31 4,00 3,01 4,00 2,60 0,07 70,60
сдах 9661,60 1,00 38955,20 2,60 77,00 0,00 0,79 0,00 1,51 4,20 14,57 4,03 2,60 0,07 70,70
сдал 9739,20 1,40 38958,40 5,80 0,40 0,40 0,00 22,22 0,27 4,86 ​​2,65 4,00 4,14 0,07 70,80
sdaj 9738,60 1,00 38954,40 2,60 0,00 0,00 0,00 0,00 0,17 4,40 1,68 4,00 2,60 0,07 70,64
сдак 9738,80 1,00 38955,20 2,60 0,00 0,00 0,00 0,00 0,53 5,40 5,21 4,00 2,60 0,07 70,80

Оба массива работают на системах с 32+ ядрами, 64 ГБ RAM+ без какой-либо другой нагрузки.

Оба массива имеют stripe_cache_size = 32768.

Процесс md0_raid6 использует 50-75% процессора на обоих серверах.

Каждый диск в обоих массивах имеет скорость последовательного чтения > 100 МБ/с при тестировании fio.

Жесткие диски емкостью 10 ТБ — это массив из 18 дисков: TOSHIBA MG06ACA10TE.

# blockdev --отчет
РО РА ССЗ БСЗ Размер StartSec Устройство
rw 8192 512 4096 0 10000831348736 /dev/sdg
rw 8192 512 4096 2048 1048576 /dev/sdg1
rw 8192 512 512 4096 10000829234688 /dev/sdg2
rw 8192 512 4096 0 10000831348736 /dev/sdb
rw 8192 512 4096 2048 1048576 /dev/sdb1
rw 8192 512 4096 4096 17179869184 /dev/sdb2
rw 8192 512 4096 33558528 1074790400 /dev/sdb3
rw 8192 512 4096 35657728 53720645632 /dev/sdb4
rw 8192 512 512 140580864 9928853929472 /dev/sdb5
rw 8192 512 4096 0 10000831348736 /dev/sdf
rw 8192 512 4096 2048 1048576 /dev/sdf1
rw 8192 512 512 4096 10000829234688 /dev/sdf2
rw 8192 512 4096 0 10000831348736 /dev/sdr
rw 8192 512 4096 2048 1048576 /dev/sdr1
rw 8192 512 512 4096 10000829234688 /dev/sdr2
rw 8192 512 4096 0 10000831348736 /dev/sdm
rw 8192 512 4096 2048 1048576 /dev/sdm1
rw 8192 512 512 4096 10000829234688 /dev/sdm2
rw 8192 512 4096 0 10000831348736 /dev/sdi
rw 8192 512 4096 2048 1048576 /dev/sdi1
rw 8192 512 512 4096 10000829234688 /dev/sdi2
rw 8192 512 4096 0 10000831348736 /dev/sdh
rw 8192 512 4096 2048 1048576 /dev/sdh1
rw 8192 512 512 4096 10000829234688 /dev/sdh2
rw 8192 512 4096 0 10000831348736 /dev/sdj
rw 8192 512 4096 2048 1048576 /dev/sdj1
rw 8192 512 512 4096 10000829234688 /dev/sdj2
rw 8192 512 4096 0 10000831348736 /dev/sde
rw 8192 512 4096 2048 1048576 /dev/sde1
rw 8192 512 512 4096 10000829234688 /dev/sde2
rw 8192 512 4096 0 10000831348736 /dev/sdn
rw 8192 512 4096 2048 1048576 /dev/sdn1
rw 8192 512 512 4096 10000829234688 /dev/sdn2
rw 8192 512 4096 0 10000831348736 /dev/sdl
rw 8192 512 4096 2048 1048576 /dev/sdl1
rw 8192 512 512 4096 10000829234688 /dev/sdl2
rw 8192 512 4096 0 10000831348736 /dev/sdp
rw 8192 512 4096 2048 1048576 /dev/sdp1
rw 8192 512 512 4096 10000829234688 /dev/sdp2
rw 8192 512 4096 0 10000831348736 /dev/sdq
rw 8192 512 4096 2048 1048576 /dev/sdq1
rw 8192 512 512 4096 10000829234688 /dev/sdq2
rw 8192 512 4096 0 10000831348736 /dev/sdk
rw 8192 512 4096 2048 1048576 /dev/sdk1
rw 8192 512 512 4096 10000829234688 /dev/sdk2
rw 8192 512 4096 0 10000831348736 /dev/sda
rw 8192 512 4096 2048 1048576 /dev/sda1
rw 8192 512 4096 4096 17179869184 /dev/sda2
rw 8192 512 4096 33558528 1074790400 /dev/sda3
rw 8192 512 4096 35657728 53720645632 /dev/sda4
rw 8192 512 512 140580864 9928853929472 /dev/sda5
rw 8192 512 4096 0 10000831348736 /dev/sdd
rw 8192 512 4096 2048 1048576 /dev/sdd1
rw 8192 512 512 4096 10000829234688 /dev/sdd2
rw 8192 512 4096 0 10000831348736 /dev/sdc
rw 8192 512 4096 2048 1048576 /dev/sdc1
rw 8192 512 512 4096 10000829234688 /dev/sdc2
rw 8192 512 4096 0 10000831348736 /dev/sdo
rw 8192 512 4096 2048 1048576 /dev/sdo1
rw 8192 512 512 4096 10000829234688 /dev/sdo2
rw 8192 512 4096 0 1072693248 /dev/md127
rw 8192 512 4096 0 53686042624 /dev/md126
rw 32768 512 4096 0 158859490492416 /dev/md0

Жесткие диски емкостью 14 ТБ в массиве из 36 дисков: WDC WUH721414AL5201

# blockdev --отчет
РО РА ССЗ БСЗ Размер StartSec Устройство
rw 8192 512 4096 0 480103981056 /dev/sda
rw 8192 512 4096 2048 535822336 /dev/sda1
rw 8192 512 4096 1048576 536870912 /dev/sda2
rw 8192 512 4096 2097152 447569985536 /dev/sda3
rw 8192 512 4096 876257280 31457280000 /dev/sda4
rw 8192 512 4096 0 480103981056 /dev/sdb
rw 8192 512 512 2048 535822336 /dev/sdb1
rw 8192 512 4096 1048576 536870912 /dev/sdb2
rw 8192 512 4096 2097152 447569985536 /dev/sdb3
rw 8192 512 4096 876257280 31457280000 /dev/sdb4
rw 8192 512 512 937698992 2080256 /dev/sdb5
rw 8192 512 4096 0 14000519643136 /dev/sdc
rw 8192 512 512 2048 13999981706752 /dev/sdc1
rw 8192 512 4096 0 14000519643136 /dev/sdd
rw 8192 512 512 2048 13999981706752 /dev/sdd1
rw 8192 512 4096 0 14000519643136 /dev/sde
rw 8192 512 512 2048 13999981706752 /dev/sde1
rw 8192 512 4096 0 14000519643136 /dev/sdf
rw 8192 512 512 2048 13999981706752 /dev/sdf1
rw 8192 512 4096 0 14000519643136 /dev/sdg
rw 8192 512 512 2048 13999981706752 /dev/sdg1
rw 8192 512 4096 0 14000519643136 /dev/sdh
rw 8192 512 512 2048 13999981706752 /dev/sdh1
rw 8192 512 4096 0 14000519643136 /dev/sdi
rw 8192 512 512 2048 13999981706752 /dev/sdi1
rw 8192 512 4096 0 14000519643136 /dev/sdj
rw 8192 512 512 2048 13999981706752 /dev/sdj1
rw 8192 512 4096 0 536281088 /dev/md2
rw 8192 512 4096 0 14000519643136 /dev/sdk
rw 8192 512 512 2048 13999981706752 /dev/sdk1
rw 8192 512 4096 0 14000519643136 /dev/sdl
rw 8192 512 512 2048 13999981706752 /dev/sdl1
rw 8192 512 4096 0 447435767808 /dev/md3
rw 8192 512 4096 0 14000519643136 /dev/sdm
rw 8192 512 512 2048 13999981706752 /dev/sdm1
rw 69632 512 4096 0 475994761723904 /dev/md0
rw 8192 512 4096 0 14000519643136 /dev/sdo
rw 8192 512 512 2048 13999981706752 /dev/sdo1
rw 8192 512 4096 0 14000519643136 /dev/sdp
rw 8192 512 512 2048 13999981706752 /dev/sdp1
rw 8192 512 4096 0 14000519643136 /dev/sdn
rw 8192 512 512 2048 13999981706752 /dev/sdn1
rw 8192 512 4096 0 14000519643136 /dev/sdt
rw 8192 512 512 2048 13999981706752 /dev/sdt1
rw 8192 512 4096 0 14000519643136 /dev/sds
rw 8192 512 512 2048 13999981706752 /dev/sds1
rw 8192 512 4096 0 14000519643136 /dev/sdq
rw 8192 512 512 2048 13999981706752 /dev/sdq1
rw 8192 512 4096 0 14000519643136 /dev/sdu
rw 8192 512 512 2048 13999981706752 /dev/sdu1
rw 8192 512 4096 0 14000519643136 /dev/sdv
rw 8192 512 512 2048 13999981706752 /dev/sdv1
rw 8192 512 4096 0 14000519643136 /dev/sdw
rw 8192 512 512 2048 13999981706752 /dev/sdw1
rw 8192 512 4096 0 14000519643136 /dev/sdy
rw 8192 512 512 2048 13999981706752 /dev/sdy1
rw 8192 512 4096 0 14000519643136 /dev/sdr
rw 8192 512 512 2048 13999981706752 /dev/sdr1
rw 8192 512 4096 0 14000519643136 /dev/sdx
rw 8192 512 512 2048 13999981706752 /dev/sdx1
rw 8192 512 4096 0 14000519643136 /dev/sdaa
rw 8192 512 512 2048 13999981706752 /dev/sdaa1
rw 8192 512 4096 0 14000519643136 /dev/sdz
rw 8192 512 512 2048 13999981706752 /dev/sdz1
rw 8192 512 4096 0 14000519643136 /dev/sdab
rw 8192 512 512 2048 13999981706752 /dev/sdab1
rw 8192 512 4096 0 14000519643136 /dev/sdac
rw 8192 512 512 2048 13999981706752 /dev/sdac1
rw 8192 512 4096 0 14000519643136 /dev/sdad
rw 8192 512 512 2048 13999981706752 /dev/sdad1
rw 8192 512 4096 0 14000519643136 /dev/sdaf
rw 8192 512 512 2048 13999981706752 /dev/sdaf1
rw 8192 512 4096 0 14000519643136 /dev/sdae
rw 8192 512 512 2048 13999981706752 /dev/sdae1
rw 8192 512 4096 0 14000519643136 /dev/sdag
rw 8192 512 512 2048 13999981706752 /dev/sdag1
rw 8192 512 4096 0 14000519643136 /dev/sdai
rw 8192 512 512 2048 13999981706752 /dev/sdai1
rw 8192 512 4096 0 14000519643136 /dev/sdah
rw 8192 512 512 2048 13999981706752 /dev/sdah1
rw 8192 512 4096 0 14000519643136 /dev/sdal
rw 8192 512 512 2048 13999981706752 /dev/sdal1
rw 8192 512 4096 0 14000519643136 /dev/sdaj
rw 8192 512 512 2048 13999981706752 /dev/sdaj1
rw 8192 512 4096 0 14000519643136 /dev/sdak
rw 8192 512 512 2048 13999981706752 /dev/sdak1

В обоих массивах sync_speed_min/sync_speed_max установлено на 200000.

Массив из 18 дисков подключен как JBOD через LSI SAS3008 PCI-Express Fusion-MPT SAS-3

Массив из 36 дисков подключен как JBOD через два контроллера LSI SAS3008 PCI-Express Fusion-MPT SAS-3

Все контроллеры находятся в слотах PCI-E 3.0 x8: LnkSta: скорость 8 ГТ/с (хорошо), ширина x8 (хорошо)

Мои вопросы:

  1. Почему у массива с 36 дисками скорость ресинхронизации почти в два раза ниже?
  2. iostat для массива с 18 дисками показывает: 322,00 р/с 77282,40 рКБ/с 16454,40 об/мин/с

но iostat для массива с 36 дисками показывает: 9738,60 р/с 38956,00 рКБ/с 0 об/мин/с

почему второй массив не выполняет слияние io?

  1. Есть ли что-нибудь, что я могу попытаться ускорить повторную синхронизацию на втором массиве?

ОБНОВИТЬ

Мне удалось ускорить массив 18drive с 70 МБ/с до 180 МБ/с, увеличив количество потоков в mdraid:

эхо 8 > /sys/block/md0/md/group_thread_cnt

что еще более интересно - то же самое на массиве из 36 дисков привело к снижению производительности с 40 МБ/с до 30 МБ/с.

ОБНОВЛЕНИЕ 2

Только что заметил, что rawq-sz из iostat на массиве из 36 дисков весит всего 4 КБ. Похоже, что все операции ввода-вывода, отправляемые на диски, всегда занимают всего 4 КБ. Это действительно странно. Почему md raid выполняет повторную синхронизацию фрагментами по 4 КБ для этого массива?

ОБНОВЛЕНИЕ 3

Я немного больше исследовал сервер с 24 дисками NVMe и нашел что узкое место скорости ресинхронизации влияет на RAID6 с> 16 дисками:

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=16
/dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 /dev/nvme4n1 /dev/nvme5n1
/dev/nvme6n1 /dev/nvme7n1 /dev/nvme8n1 /dev/nvme9n1 /dev/nvme10n1
/dev/nvme11n1 /dev/nvme12n1 /dev/nvme13n1 /dev/nvme14n1 /dev/nvme15n1
/dev/nvme16n1
# iostat -dx 5
Устройство r/s w/s rkB/s wkB/s rrqm/s wrqm/s
%rrqm %wrqm r_await w_await aqu-sz редкость-sz wareq-sz svctm %util
nvme0n1 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
nvme1n1 342,60 0,40 161311,20 0,90 39996,60 0,00
99,15 0,00 2,88 0,00 0,99 470,84 2,25 2,51 86,04
nvme4n1 342,60 0,40 161311,20 0,90 39996,60 0,00
99,15 0,00 2,89 0,00 0,99 470,84 2,25 2,51 86,06
nvme5n1 342,60 0,40 161311,20 0,90 39996,60 0,00
99,15 0,00 2,89 0,00 0,99 470,84 2,25 2,51 86,14
nvme10n1 342,60 0,40 161311,20 0,90 39996,60 0,00
99,15 0,00 2,90 0,00 0,99 470,84 2,25 2,51 86,20

как вы можете видеть, есть 342 iops с ~470 rawq-sz, но когда я создайте RAID6 с 17 дисками или более:

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=17
/dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1 /dev/nvme4n1 /dev/nvme5n1
/dev/nvme6n1 /dev/nvme7n1 /dev/nvme8n1 /dev/nvme9n1 /dev/nvme10n1
/dev/nvme11n1 /dev/nvme12n1 /dev/nvme13n1 /dev/nvme14n1 /dev/nvme15n1
/dev/nvme16n1 /dev/nvme17n1
# iostat -dx 5
Устройство r/s w/s rkB/s wkB/s rrqm/s wrqm/s
%rrqm %wrqm r_await w_await aqu-sz редкость-sz wareq-sz svctm %util
nvme0n1 0,00 0,00 0,00 0,00 0,00 0,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
nvme1n1 21484,20 0,40 85936,80 0,90 0,00 0,00
0,00 0,00 0,04 0,00 0,82 4,00 2,25 0,05 99,16
nvme4n1 21484,00 0,40 85936,00 0,90 0,00 0,00
0,00 0,00 0,03 0,00 0,74 4,00 2,25 0,05 99,16
nvme5n1 21484,00 0,40 85936,00 0,90 0,00 0,00
0,00 0,00 0,04 0,00 0,84 4,00 2,25 0,05 99,16

Rareq-sz падает до 4, число операций ввода-вывода увеличивается до 21483, а скорость ресинхронизации падает до 85 МБ/с.

Почему это так?

Может ли кто-нибудь дать мне знать, какая часть mdraid код ядра отвечает за это ограничение?

djdomi avatar
флаг za
привет, проверьте `sysctl dev.raid.speed_limit_min` и `sysctl dev.raid.speed_limit_max` и ТОЛЬКО для перестроения `mdadm --grow --bitmap=internal /dev/md0` и для возврата `mdadm --grow -- растровое изображение = нет /dev/md0`
forke avatar
флаг id
Для @djdomi sync_speed_min/sync_speed_max установлено значение 200000. Оба массива имеют активное внутреннее растровое изображение.
Michael Hampton avatar
флаг cz
Что такое жесткий диск?
forke avatar
флаг id
@MichaelHampton Жесткие диски емкостью 10 ТБ — это массив из 18 дисков: TOSHIBA MG06ACA10TE, Жесткие диски емкостью 14 ТБ в массиве из 36 дисков: WDC WUH721414AL5201
djdomi avatar
флаг za
хм, не могли бы вы добавить «blockdev «отчет», пожалуйста
forke avatar
флаг id
@djdomi добавил. Я вижу, что размер блока для устройства составляет 4096, но размер блока для раздела рейда составляет 512. Может ли это повлиять на производительность? Обе конфигурации имеют одинаковые значения. Также отличается StartSec - у первого 4096, а у второго 2048.
djdomi avatar
флаг za
пожалуйста, покажите полный рейд, я предлагаю использовать отчет без диска
Michael Hampton avatar
флаг cz
Да, диски должны писать быстрее. Возможно, вы просто достигли предела потока ЦП, как вы сказали: «Процесс md0_raid6 использует 50-75% ЦП на обоих серверах». Я не совсем уверен, как бы вы с этим справились.
forke avatar
флаг id
@MichaelHampton это 50-75% процессора на одном ядре. Общее использование ЦП системы составляет около 2%.
forke avatar
флаг id
@djdomi добавил полный отчет о разработке блоков
Michael Hampton avatar
флаг cz
Правильно. Проблема в том, что я не думаю, что он будет использовать более одного потока.
djdomi avatar
флаг za
ну, возможно ли настроить рейд для более чтения головы с помощью `blockdev âsetra 65536 /dev/sdX` и вернуть его, когда это будет сделано? Но помните, это может занять много оперативной памяти
forke avatar
флаг id
Установка @djdomi readahead для всех дисков на 65536 никак не влияет на скорость повторной синхронизации.
forke avatar
флаг id
@MichaelHampton Я смог изменить потоки, изменив group_thread_cnt на 8. Это ускорило массив из 18 дисков с 70 МБ / с до 180 МБ / с, но то же самое для массива из 36 дисков привело к падению производительности с 40 МБ / с до 30 МБ / с.
djdomi avatar
флаг za
@forke да, это просто генерическое мышление, оно может улучшиться, но может сделать и обратное, может быть, `--bitmap-chunk`может увеличиться до 128 МБ или даже немного больше, также может помочь
Рейтинг:3
флаг id

Ответ найден у разработчиков ядра Linux mdraid. Это ошибка в ядре линукса.

Сун Лю подтвердил, что проблема вызвана логикой blk_plug, и предоставил для этого исправление. Подробнее здесь:

https://lore.kernel.org/linux-raid/CAPhsuW7R=8XyU5wU1-NT-Eo=Hir7gV_b7+_MB+bUFx3bEecbDw@mail.gmail.com/

https://lore.kernel.org/linux-raid/[email protected]/T/#t

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.