cache na diskovem poli

Jindra Fucik fulda at seznam.cz
Tue May 27 14:53:15 CEST 2008


No ona ta problematika neni uplne na jeden email.

pochopitelne ten raid ani na fizickem disku a ani na logickem nema nejmensi 
prehled o pouzitem operacnim systemu a o pouzitem filesystemu.

Ptas se na raidove radice do PCI - teda v podstate na nejmensi raidy co jsou 
a ty si dost zjednodusujou situaci.

Obecne se da rici - radic diskoveho pole disponuje nejakou pameti a tu 
dokaze pouzivat pro cteni a zapis. Pro zapis se pouziva jen ta cast, ktera 
je zalohovana baterkou, pokud neni baterka (na samotnem disku) a nejsi 
rzovna strelec, tak se preferuje algoritmus write through a cache se pouziva 
pouze pro cteni.

u rozumnejch diskovejch poli je k dispozici nekolik algoritmu pro praci s 
cache - muzes ji pridelovat pro ruzne fronty a tak.
vetsina poli pracuje tak ze: na zacatku je fronta linearniho logickeho 
disku, pak je nejakej algoritmus rozlozeni na disky a pak je zase linearni 
disk. dobre radice maji nejakou netrivialni logiku, ktera jim umoznuje 
optimalne rozkladat data na disky, tak aby co nejvetsi procento zapisovych 
operaci bylo rozlozeno na co nejvetsi procento disku a bylo mozne je 
vykonavat paralelne. U cteni je snaha, aby se cetlo to co uz je v cache a 
pokud neni, tak zase paralelne.

co se zalohovani baterkou tyka, tak je to jak rikas - baterka proste drzi 
cache nejakou dobu a po zapnuti (vetsinou v ramci POST) se data zapisou na 
disky a hotovo. Jak jsem jiz napsal, radic nema ani poneti o pouzitem FS, 
takze je mu to jedno.

----- Original Message ----- 
From: "Radomír Tománek" <rtomanek at epark.cz>
To: "'FreeBSD mailing list'" <users-l at freebsd.cz>
Sent: Tuesday, May 27, 2008 2:08 PM
Subject: RE: cache na diskovem poli


Děkuji za reakce.
Zajímalo by mě, tedy konkrétně - víte někdo přesně co dělá a jak se chová
cache v discích, na raid řadičích a na logických polích? Dnes mají typicky
běžné disky 8-16MB cache. Předpokládám, že v logice disků není příliž
prostoru na nějaké propracované algoritmy a tak tyto cache slouží především
jako "falešný zápis" - tedy data přitečou do disku a disk řekne rychle "OK,
zapsáno", ale zapsáno jaksi bude až "za chvíli", až to disk fyzicky stihne.
Tedy u "bezpečného" systému bych rád viděl tuto cache zakázanou. Jde to?
Jak?
Dále v konfiguraci pole na "běžných řadičích" (např. serveraidy od ibm) je
položka "write cache" v konfiguraci řadiče - tady bych chápal, že je to něco
podobného jako u cache disků, ale zálohováno baterií a možná už s nějakou
"lepší" logikou (mimochodem, jak to funguje, když vypadne proud a data
zůstanou v této cache? Prostě se po obnovení napájení zapíše sekvence dat z
paměti a předpokládá se, že tímto budou data z hlediska vyšších vrstev (fs,
os, aplikace) konzistentní?)
Dále je v konfiguraci logických disků (volumes) položka read cache a write
cache. Co je toto za cache? Jde o konfiguraci logických disků, tedy
přepokládám, že jako cache bude použita "nějaká" fyzická ram (řadiče?,
serveru?) a nějaký pokročileší algoritmus řízení cache. Víte někdo, jak to
funguje?
Bohužel jsem nikde nenašel konkrétní informace o tom, jak to celé funguje.
Vždy jsou to jen poměrně obecné informace, jenže abych se mohl zodpovědně
rozhodnout jak provést konfiguraci při konkrétní aplikaci, tak potřebuji
vědět jak to opavdu je. Předpokládám, že implementace logiky u různých
výrobců bude velmi podobná.


RaT

-- 
FreeBSD mailing list (users-l at freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l 




More information about the Users-l mailing list