Om te beginnen, mijn hardware:
Moederbord: SuperMicro X7SPA-H-D525
Geheugen: 2x 2GB DDR3
Harddisk: 1x Patriot 32GB SSD (Voor OS: Ubuntu 11.04), 1x 320GB, 4x 2TB Samsung HD204UI
Behuizing: Chenbro ES34069
Ik heb hierop Ubuntu 11.04 Server geinstalleerd. Nu wil ik met mdadm de 4x 2TB in raid 5 zetten.
Dit gaat goed, en werkt. Maar nu ben ik wat aan het spelen en testen om een goede performance eruit te halen. Daarvoor heb ik het script van Q gebruikt met de volgende instellingen:
Dit was het resultaat:
Tijdens het runnen van de script kreeg ik de volgende meldingen op het scherm (zowel bij 512 als bij 1024):
Na wat pluiswerk kwam ik er achter dat dat niet door mdadm kwam, maar door het formateren van de array:
Als ik het resultaat in een overzicht zet, krijg ik het volgende:
Ik had Q om advies gevraagd:
Gisteravond/nacht heb ik nogmaals de test laten draaien, maar nu 10x ipv 3x:
Zo goed als dezelfde resultaten dus.
Zit nu op werk en kan alleen via mijn iPad ssh-en naar mijn bak (firewall op werk).
Heb even getest om de array met chunksize 512 aan te maken (hier kwam ik er achter dat de foutmelding niet door MDADM kwam, maar door het formateren):

Moederbord: SuperMicro X7SPA-H-D525
Geheugen: 2x 2GB DDR3
Harddisk: 1x Patriot 32GB SSD (Voor OS: Ubuntu 11.04), 1x 320GB, 4x 2TB Samsung HD204UI
Behuizing: Chenbro ES34069
Ik heb hierop Ubuntu 11.04 Server geinstalleerd. Nu wil ik met mdadm de 4x 2TB in raid 5 zetten.
Dit gaat goed, en werkt. Maar nu ben ik wat aan het spelen en testen om een goede performance eruit te halen. Daarvoor heb ik het script van Q gebruikt met de volgende instellingen:
code:
1
2
3
4
5
6
7
8
9
10
11
| DEVICES="/dev/sd[c-f]" NO_OF_DEVICES=4 ARRAY=/dev/md5 CHUNKS="4 8 16 32 64 128 256 512 1024" MOUNT=/pool LOG=/var/log/raid-test.log LOGDEBUG=/var/log/raid-test-debug.log LEVEL="5" TESTFILE=$MOUNT/test.bin TESTFILESIZE=10000 TRIES=3 |
Dit was het resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| marcel@iServer:~$ cat /var/log/raid-test* | CHUNKS | LEVEL | WRITE | READ | 4 5 218 149 4 5 436 297 4 5 649 446 8 5 220 83 8 5 442 164 8 5 659 244 16 5 225 82 16 5 449 166 16 5 665 249 32 5 214 112 32 5 426 223 32 5 638 337 64 5 204 142 64 5 411 297 64 5 623 445 128 5 190 178 128 5 380 357 128 5 570 535 256 5 162 204 256 5 323 406 256 5 485 610 512 5 145 261 512 5 287 524 512 5 430 787 1024 5 113 259 1024 5 229 518 1024 5 345 777 | CHUNKS | LEVEL | WRITE | READ | 4 5 216 148 8 5 219 81 16 5 221 83 32 5 212 112 64 5 207 148 128 5 190 178 256 5 161 203 512 5 143 262 1024 5 115 259 marcel@iServer:~$ |
Tijdens het runnen van de script kreeg ik de volgende meldingen op het scherm (zowel bij 512 als bij 1024):
code:
1
2
| log stripe unit (524288 bytes) is too large (maximum is 256KiB) log stripe unit adjusted to 32KiB |
Na wat pluiswerk kwam ik er achter dat dat niet door mdadm kwam, maar door het formateren van de array:
code:
1
2
3
| root@iServer:~# mkfs.xfs /dev/md5 log stripe unit (524288 bytes) is too large (maximum is 256KiB) log stripe unit adjusted to 32KiB |
Als ik het resultaat in een overzicht zet, krijg ik het volgende:
Chunk | Level | Write | Read | |
4 | 5 | 216 | 148 | Beste keuze voor write performance |
8 | 5 | 129 | 81 | No go, te lage read |
16 | 5 | 221 | 83 | No go, te lage read |
32 | 5 | 212 | 112 | Chunksize 4 betere keuze |
64 | 5 | 207 | 148 | Chunksize 4 betere keuze |
128 | 5 | 190 | 178 | Beste gemiddelde |
256 | 5 | 161 | 203 | Beste keuze voor read performance |
512 | 5 | 143 | 262 | No go, te grote chunksize |
1024 | 5 | 115 | 259 | No go, te grote chunksize |
Ik had Q om advies gevraagd:
Toen Q antwoordde, wist ik nog niet dat mkfs.xfs de melding gaf en dat het niet van MDADM wasHoi,
Ik denk dat je reden hebt om een topic te starten in het IO forum want de beste writes heb je rond de 64 terwijl de reads achter blijven. Dat vind ik vreemd. 64 kb chunk geeft tot nu toe bij mij het beste resultaat.
Kijk nu naar die 512, de write is iets slechter, maar de read is vele malen beter. Hoe kan dat nou? Misschien kan er iets getweaked worden.
De test run zal wel even duren, maar afhankelijk van de hoeveelheid ram zou ik ook eens met 20 GB testen ipv 10. Dan in de range van 64 - 1024.
Theoretisch moeten die 4 disks 4x 100MB/s doen, maar met RAID 5 heb je er maar 3, dus 300 MB/s. Dan zou 260 MB/s heel redelijk zijn qua read. Write op 140 is niet eens zo slecht dan. Maar wat er nu precies met MDADM gebeurt op het moment dat je die 'ongeldige' waarde kiest, is wel interessant.

Gisteravond/nacht heb ik nogmaals de test laten draaien, maar nu 10x ipv 3x:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| root@iServer:~# tail -f /var/log/raid-test-debug.log | CHUNKS | LEVEL | WRITE | READ | 4 5 213 148 4 5 428 293 4 5 644 440 4 5 857 581 4 5 1071 720 4 5 1284 854 4 5 1501 990 4 5 1717 1126 4 5 1934 1262 4 5 2147 1404 8 5 214 80 8 5 432 155 8 5 648 226 8 5 863 297 8 5 1082 369 8 5 1302 441 8 5 1515 514 8 5 1733 587 8 5 1953 667 8 5 2173 751 16 5 217 85 16 5 439 168 16 5 660 252 16 5 882 334 16 5 1101 416 16 5 1322 498 16 5 1535 578 16 5 1751 659 16 5 1970 740 16 5 2189 824 32 5 220 108 32 5 433 221 32 5 647 327 32 5 860 437 32 5 1075 551 32 5 1291 661 32 5 1505 773 32 5 1724 884 32 5 1940 996 32 5 2155 1109 64 5 207 152 64 5 414 297 64 5 624 453 64 5 831 611 64 5 1035 769 64 5 1240 915 64 5 1449 1068 64 5 1662 1217 64 5 1866 1355 64 5 2075 1494 128 5 188 178 128 5 379 356 128 5 566 539 128 5 755 721 128 5 943 904 128 5 1132 1089 128 5 1320 1276 128 5 1509 1463 128 5 1703 1648 128 5 1892 1835 256 5 160 218 256 5 320 439 256 5 478 649 256 5 636 861 256 5 793 1047 256 5 952 1239 256 5 1110 1434 256 5 1265 1616 256 5 1420 1783 256 5 1577 1953 512 5 135 225 512 5 273 455 512 5 410 671 512 5 547 895 512 5 688 1129 512 5 828 1366 512 5 970 1598 512 5 1114 1816 512 5 1255 2049 512 5 1398 2308 1024 5 114 247 1024 5 226 494 1024 5 339 738 1024 5 451 987 1024 5 559 1212 1024 5 670 1443 1024 5 782 1679 1024 5 897 1907 1024 5 1009 2134 1024 5 1119 2365 root@iServer:~# tail -f /var/log/raid-test.log | CHUNKS | LEVEL | WRITE | READ | 4 5 214 140 8 5 217 75 16 5 218 82 32 5 215 110 64 5 207 149 128 5 189 183 256 5 157 195 512 5 139 230 1024 5 111 236 |
Zo goed als dezelfde resultaten dus.
Zit nu op werk en kan alleen via mijn iPad ssh-en naar mijn bak (firewall op werk).
Heb even getest om de array met chunksize 512 aan te maken (hier kwam ik er achter dat de foutmelding niet door MDADM kwam, maar door het formateren):

