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).