Măriți viteza raidului software - cum să deveniți programator

După ce am creat o matrice RAID5 de trei discuri de două terabyte, am fost surprinsă neplăcut de viteza redusă de scriere pe array: doar 55 MB / sec. A fost necesar să se studieze, cu ce parametri se poate obține din matricea performanței normale.

Sa dovedit asta

În primul rând, valoarea stripe_cache_size setată pentru matrice în mod prestabilit este prea mică;

În al doilea rând, am creat matricele cu Bitmap internă Write Intent (-bitmap = intern) și o mică bucată de bitmap.

Parametrii care afectează performanța

stripe_cache_size

Valoarea implicită este 256, intervalul este de la 32 la 32768, în timp ce o creștere de cel puțin 8192 ajută foarte mult la viteza de scriere:

Atenție, vă rog. măsurată în numărul de pagini * pe număr de dispozitive. și poate fi foarte lacom în ceea ce privește consumul de memorie RAM. Cu valoarea de mai sus de 8192. dimensiunea paginii de memorie este de 4096 octeți (utilizată în kernel-ul Linux pe x86 și x86-64) și patru discuri în RAID. consumul de memorie va fi:

Scrieți Bitmap intenționat

Permite, după o repornire incorectă a sistemului, să verificați nu numai RAID-ul, ci numai acele zone la care înregistrarea a fost efectuată în momentul repornirii sau al întreruperii alimentării. În opțiunea -bitmap = internă. afectează extrem de negativ viteza de înregistrare:

mkfs.ext4 -E stride =, stripe_width =

Este important să setați corect acești parametri la crearea FS, dacă ați uitat - este în regulă, puteți să le modificați mai târziu folosind tune2fs.

XFS încearcă să determine automat valorile corespunzătoare dacă nu funcționează - vedeți omul mkfs.xfs pentru sunit = și swidth =.

Dimensiunea bucății

Se specifică atunci când se creează o matrice, utilizând parametrul mdadm -chunk-size. Modificarea într-o matrice deja activă este o operație extrem de lungă și probabil nu complet sigură, care necesită, în plus, cea mai recentă versiune a mdadm (3.1) și un kernel destul de nou (2.6.31+) 1).