Növelje a szoftveres raid sebességét - hogyan válhat programozóvá

Három két-terabyte-os lemezek RAID5 tömbjének létrehozása után meglepő módon meglepődtem a tömbök alacsony írási sebességénél: csak 55 MB / sec. Szükséges volt tanulmányozni, milyen paraméterekkel lehet elérni a normál teljesítményt.

Kiderült, hogy

Először is, a tömb alapértelmezésben beállított stripe_cache_size értéke túl kicsi;

Másodszor, létrehoztam a tömböt belső Write Intent Bitmap-el (-bitmap = belső) és egy kis bitmap csomóval.

A teljesítményt befolyásoló paraméterek

stripe_cache_size

Az alapértelmezett érték 256, a tartomány 32-től 32768-ig terjed, míg a legalább 8192-es növekedés nagyban segíti az írási sebességet:

Figyelem! az oldalszám * alapján számítva az eszközök száma szerint. és nagyon kecses lehet a RAM-fogyasztás szempontjából. A fenti 8192-es értékkel a memória oldal mérete 4096 bájt (az x86 és x86-64 Linux kernelben) és négy lemez a RAID-ben. a memóriafelhasználás:

Write Intent Bitmap

Lehetővé teszi, hogy a rendszer helytelen újraindítása után ne csak a RAID-t ellenőrizze, hanem csak azokat a területeket, amelyekre a felvétel az újraindítás vagy az áramkimaradás idején történt. A -bitmap = belső opcióban. rendkívül negatívan befolyásolja a rögzítési sebességet:

mkfs.ext4 -E lépés =, sztring_width =

Fontos, hogy ezeket a paramétereket az FS létrehozásakor helyesen állítsuk be, ha elfelejtettük - rendben van, később a tune2fs használatával módosíthatja őket.

Az XFS automatikusan megpróbálja meghatározni a megfelelő értékeket, ha nem működik - lásd man mkfs.xfs for sunit = and swidth =.

Chunk méret

A tömb létrehozásakor megadható az mdadm -chunk-size paraméter használata. Változás a tömb már fut - egy nagyon hosszú, és valószínűleg nem teljesen biztonságos eljárás, amely előírja, továbbá a legújabb verzióját mdadm (3.1) és a viszonylag új kernel (2.6.31+) 1).