Přesun grafů do RAMDISKU
Největší zátěží pro disky, na kterých je systém instalován, je generování grafů, které se provádí každých 5 minut. V podstatě na každého klienta se generují minimálně 2 grafy a na každý router se generuje minimálně 5 grafů v závislosti na počtu interfaců. Grafy jsou na disku uloženy v binární formě a zabírají kolem 500 KB. V praxi se tedy pracuje s velkým množstvím malých souborů, do kterých se každých 5 minut zapisuje informace o přenesených datech a naměřených hodnotách. Pro větší množství grafů jsou vhodné SAS disky, protože SAS disky jsou výrazně rychlejší při práci s malými soubory než SATA disky. Pokud se pracuje s malými soubory, tak jsou SAS disky několikanásobně rychlejší než SATA. V podstatě jde o IOPS, které jsou disky schopné poskytnout systému. V praxi se uvádí, že SATA disk má kolem 100 IOPS a SAS kolem 150-180 IOPS ( podle toho jestli se jedná o 10k nebo 15k disky ). Celkový počet IOPS je možné zvýšit pouze počtem disků v RAIDU nebo instalací SSD disků pro grafování systému. IOPS je limitujícím faktorem při práci s grafy. Pokud je počet IOPS nedostatečný, tak se zvyšuje latence systému a v některých případech se stránky načítají pomalu, protože systém čeká na zápisy a na čtení z disku. V tomto případě nepomůže přidání RAM nebo instalace výkonnějšího CPU. Pomůže pouze instalace více disků ( nebo náhrada například rychlejších SAS 15k disků za pomalejší SATA ).
- Nově je možné přesunout generování grafů do RAMDISKu. Ramdisk je vlastně část paměti, která se chová jako klasický disk. Přístupové doby jsou však několikanásobně rychlejší než u klasického disku, protože se pracuje pouze v paměti RAM. Pokud jsou grafy provozované v RAMDISKu, tak dojde k VÝRAZNÉMU snížení IOPS a zátěže disku, což je nejvíce patrné při větších instalacích ( 1000 klientů a více ). V těchto případech doporučujeme provést přesun grafů do RAMDISKu.
- K práci s RAMDISKEM slouží utilita
/usr/local/script/ispadmin/rrd_ramdisk.pl
- Při spuštění bez parametrů se zobrazí nápověda.
- Použití:
- /usr/local/script/ispadmin/rrd_ramdisk.pl initialize - Initialize RAMDISK
- /usr/local/script/ispadmin/rrd_ramdisk.pl destroy - Destroy RAMDISK pernamently
- /usr/local/script/ispadmin/rrd_ramdisk.pl start [force] - Start RAMDISK
- /usr/local/script/ispadmin/rrd_ramdisk.pl stop - Stop RAMDISK
- /usr/local/script/ispadmin/rrd_ramdisk.pl save [force] - Save RAMDISK data to backup
- /usr/local/script/ispadmin/rrd_ramdisk.pl check - Check RAMDISK usage
- /usr/local/script/ispadmin/rrd_ramdisk.pl set - Set RAMDISK in MByte
- /usr/local/script/ispadmin/rrd_ramdisk.pl restore [backup.file] - Restore RAMDISK from last backup.file
- Jednotlivé parametry jsou:
- initialize - provede inicializaci RAMDISKu a přesun dat z disku do RAMDISKU
- destroy - provede odinstalaci RAMDISKu a přesun dat zpět na disk
- start - provede automaticky start při bootování systému S volbou [force] nastartuje ramdisk, i když velikost obnovené zálohy je menší o víc jak 5% než předcházející hodnota velikosti ramdisku, nebo pokud se obnovení ramdisku nezdařilo po rebootu serveru, a potřebujete ramdisk nastartovat z konzole.
- stop - provede automatické zálohování dat z RAMDISKU na pevný disk a zastavení chodu RAMDISKU. !!! Důrazně doporučujeme při každém restartu/vypnutí systému !!!
- save - provede zálohování dat z RAMDISKU na pevný disk - provádí se automaticky jednou denně, vytváří se 10 záloh zpětně (včetně 2 měsíčních záloh, které se vytváří k 28. v měsíci), které lze pak zpětně obnovit.
(zálohuje do adresare /usr/local/script/ispadmin/rrd_data_backup/. Volba [force] povolí udělat zálohu ramdisku, jejíž velikost bude menší než předchozí velikost Ramdisku - např. pokud záměrně vymažete z adresářů více souborů s grafy. Kontroluje se velikost o 5% rozdílu oproti původnímu.) - check - provede kontrolu využití RAMDISKU a v případě potřeby provede automaticky zvětšení RAMDISKU
- set - Zadáním velikosti v MB docílíte zvětšení ramdisku na požadovanou velikost.
- restore - Zadáním názvu backup souboru z adresáře záloh pro rrd ramdisk může obnovit denní zálohu rrd dat. Pokud nezadáte název souboru, systém obnoví poslední známou zálohu z tohoto adresáře. Obnovu můžete použít ve všech situacích, kdy dojde ke ztrátě dat, nebo jsou data neúplná. Podmínkou je pouze inicializovaný ramdisk.
- Pro instalaci RAMDISKU je potřeba spustit:
/usr/local/script/ispadmin/rrd_ramdisk.pl initialize
- Tímto se provede inicializace a vše potřebné. Následně, při rebootu systému, se opět RAMDISK instaluje a přesunou se do něj data.
- Je potřeba si uvědomit, že data v RAMDISKU jsou uložena v paměti RAM a v případě výpadku serveru ( odpojení napájení ) jsou všechna data ztracena. Pokud se provede korektní reboot systému, tak se data automaticky odzálohují na pevný disk a při bootu se opět data ze zálohy přesunou do RAMDISKU. Systém také provádí automatické zálohování dat na pevný disk 1x za den. Pokud tedy dojde k výpadku napájení, tak jsou ztracena data maximálně 1 den zpět.
- Pro vytvoření RAMDISku je samozřejmě potřeba mít dostatečné množství RAM. Maximální použitelné množství RAM pro RAMDISK je 25%. Výpočet potřebného množství RAM se vypočítá dynamicky podle obsazeného místa na disku ( většinou 512M - 4GB ). Pokud při výpočtu vychází obsazené množství RAM větší než 25%, tak se RAMDISK nevytvoří a je potřeba do serveru přidat fyzickou paměť RAM. Pokud je RAMDISK zaplněn z 80%, systém se snaží automaticky disk zvětšit (pokud má dostatek celkové RAM paměti). Pokud se mu to nepovede, můžete zvětšení RAMDISKU provést ručně volbou set.