[Sysadmins] Ядро ovz-el, software RAID5, его синхронизация и высокий LA

Alex Moskalenko mav на elserv.msk.su
Вс Июн 3 18:06:57 MSK 2012


Здравствуйте!

Столкнулся с непонятным мне поведением системы на ovz-el при 
синхронизации/создании/проверке программного массива RAID5.

Исходные данные: Intel(R) Core(TM)2 CPU 6420 на 2.13GHz, чипсет G31, SATA 
ICH9R в режиме AHCI. 4 SATA жестких диска. На них собран программный 
RAID5 массив
md5 : active raid5 sdc2[0] sdd2[4] sde2[2] sdf2[1]
       1514703360 blocks super 1.2 level 5, 512k chunk, algorithm 2 
[4/4] [UUUU]
       bitmap: 6/482 pages [24KB], 512KB chunk, file: /_bitmap_md5

Работает все это на 2.6.32-ovz-el-alt63 (аналогичное поведение было на 
ovz-el ядрах и до alt63). При создании/ребилде/проверке этого массива 
получаю нехарактерно низкую для такой системы скорость синхронизации и 
нехарактерно высокий LA. Также высокий LA получается при интенсивной 
работе с массивом RAID5. С массивом RAID10, расположенным на тех же 
дисках, таких эффектов не наблюдается.

Для примера - текущий снимок системы в момент проверки массива:

cat /proc/mdstat
Personalities : [raid1] [raid10] [raid6] [raid5] [raid4]
md5 : active raid5 sdc2[0] sdd2[4] sde2[2] sdf2[1]
       1514703360 blocks super 1.2 level 5, 512k chunk, algorithm 2 
[4/4] [UUUU]
       [>....................]  check =  4.6% (23342252/504901120) 
finish=990.1min speed=8105K/sec
       bitmap: 6/482 pages [24KB], 512KB chunk, file: /_bitmap_md5
uptime
  17:21:52 up 23 days,  4:53,  1 user,  load average: 50.28, 54.18, 49.92

В списке процессов видно ~255 штук [async/XXX] потоков ядра, из них в 
состоянии R находится примерно LA 1min.

По dstat картина следующая:
  ----total-cpu-usage---- 
--dsk/sdc-----dsk/sdd-----dsk/sde-----dsk/sdf-- -net/total- ---paging-- 
---system--
usr sys idl wai hiq siq| read  writ: read  writ: read  writ: read  writ| 
recv  send|  in   out | int   csw
   4   2  60  33   0   1| 1082k 1198k: 586k 1196k:1070k 1196k: 574k 
1198k|   0     0 |  23B   38B|1864  4188
   1  69  30   0   0   0|   0     0 :   0     0 :   0     0 :   0     0 
|  22k   27k|   0     0 |  25k  590k
   2  73  24   0   0   0|   0     0 :   0     0 :8192B    0 :   0     0 
:   0     0 :   0     0 |  43k   49k|   0     0 |  28k  583k
   2  72  26   0   0   0|   0  9216B:   0    25k:   0    25k:   0  
9216B|  44k   49k|   0     0 |  27k  582k
   7  72  21   0   0   0|   0  1024B:   0  1024B:   0  1024B:   0  
1024B|  19k   22k|   0     0 |  41k  605k
   2  72  25   1   0   0|8568k 2048B:7644k 2048B:8116k 2048B:7584k 
2048B|  43k   48k|   0     0 |  31k  526k
   2  78  18   0   0   2|  56M    0 :  57M    0 :  56M    0 :  57M    0 
|  41k   46k|   0     0 |  26k  585k
   1  68  31   0   0   0|   0     0 :   0     0 :   0     0 :   0     0 
|5318B 7801B|   0     0 |  25k  589k
   1  70  28   0   0   0|   0    13k:   0  9216B:   0  9216B:   0    
13k|  27k   31k|   0     0 |  30k  585k
   5  71  24   0   0   0|   0  1024B:   0  1024B:   0  1024B:   0  
1024B|  31k   35k|   0     0 |  36k  603k
   2  75  23   0   0   1|   0     0 :   0     0 :   0     0 :   0     0 
|  70k   78k|   0     0 |  30k  577k
   2  70  28   0   0   0|   0     0 :   0     0 :   0     0 :   0     0 
|  25k   28k|   0     0 |  30k  579k
   1  69  29   0   0   0|   0     0 :   0     0 :   0     0 :   0     0 
|  11k   14k|   0     0 |  25k  584k
   2  76  20   0   0   2|7404k  972k:6384k  940k:8524k  940k:9712k  
972k|  74k   82k|   0     0 |  25k  529k
   5  72  21   0   0   1|  57M 1024B:  58M 1024B:  56M 1024B:  55M 
1024B|  21k   24k|   0     0 |  34k  599k
   3  75  22   0   0   0|   0     0 :   0     0 :   0     0 :   0     0 
|  48k   54k|   0     0 |  33k  582k^C

Мне кажется, что на таком железе скорость синхронизации RAID5 в 10 Мб/с 
при LA 50 - это несколько чересчур. При этом, как видно по dstat, ядра 
загружены совсем не на 100%. Также из dstat видно очень больное 
количество context switches и программных прерываний.

Подскажите пожалуйста, куда можно покопать в этом вопросе. Может быть, 
можно что-то передать ядру/какому либо модулю, чтобы они не вели себя 
так ээээ.... неадекватно?


--
WBR, Alex Moskalenko


Подробная информация о списке рассылки Sysadmins