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