Kde to jde používám na systém a důležitější část dat raid1 a občas toho zneužiju tak, že jedno z těch zrcadel vezmu a připojím do jiného počítače.
Raid mám staticky v kernelu, raidované partitions mají typ fd, autodetekce a bootování (lilo) funguje.
Jde o to, že když ty disky po nějakém čase odděleného používání dám zase do jednoho stroje, do pole se dle očekávání vždy nadetekuje jen jedna ze zrcadlených oblastí. Bohužel mi ale uniká algoritmus, který určí, která to bude (tedy mám na to jistou hypotézu a kdybych nebyl líný, tak bych to možná ze zdrojáků pochopil, ale možná to bude zajímat víc lidí, proto píšu sem).
Na kazdem disku je pocitadlo eventu a vybere se ten disk, ktery ma maximalni hodnotu. Nevim presne co to udela u raid5, kdyz maji disky stav treba 1, 1, 3, tam bych ocekaval, ze se to vubec nespusti a ne ze se to spusti z tech prvnich dvou a bude se cekat na povoleni rebuildu obsluhou.
Je tam pocitadlo eventu, ktere se zapisuje do superbloku. Vsimni si na vypisu kernel logu pri startu: nahore je 45 eventu a po spusteni pole se pocitadlo inkrementuje.
md: raid1 personality registered as nr 3
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
[events: 00000045]
[events: 00000045]
md: autorun ...
md: considering hdc1 ...
md: adding hdc1 ...
md: adding hda1 ...
md: created md0
md: bind<hda1,1>
md: bind<hdc1,2>
md: running: <hdc1><hda1>
md: hdc1's event counter: 00000045
md: hda1's event counter: 00000045
md: RAID level 1 does not need chunksize! Continuing anyway.
md0: max total readahead window set to 124k
md0: 1 data-disks, max readahead per data-disk: 124k
raid1: device hdc1 operational as mirror 1
raid1: device hda1 operational as mirror 0
raid1: raid set md0 active with 2 out of 2 mirrors
md: updating md0 RAID superblock on device
md: hdc1 [events: 00000046]<6>(write) hdc1's sb offset: 38081984
md: hda1 [events: 00000046]
Nemá náhodou autor nějaký tip na www stránku nebo něco takového, kde by bylo popsané, jakým způsobem má chunksize vliv na výkon pole?
Já už jsem se po tom pídil mnohokrát, a nakonec jsem byl rád, že jsem objevil alespoň nějaká doporučení, kolik by to asi tak mohlo být.
No ja jsem cetl jakasi doporuceni ohledne velikosti chunk size (== stripe size, != stride size) ve vztahu k dvema vecem:
1) ve vztahu k velikosti "block group" ext2 filesystemu aplikovaneho na pole (patrne obdoba FAT clusteru)
Odkaz: Software RAID howto, kap. 4.8
"RAID-0 with Ext2" a kap. 4.9 "Options for mke2fs"
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Software-RAID-HOWTO.html#ss4.8
2) ve vztahu k velikosti stopy (plotna v cylindru) na pouzitych fyzickych discich, coz se podle meho u dnesnich disku tezko zjistuje, nemusi to byt po cele plose konstantni atd.
Odkaz: PR White Paper od fy. 3ware - povsimnete si obrazku s "pilovym" grafem
http://www.3ware.com/products/pdf/twinstor.pdf
Jak uz tady v diskusi padlo, v pripade pole RAID5 je treba brat v uvahu take pomer cteni/zapisu.
Podle meho take rozhodne hraje roli prumerna velikost souboru, resp. linearne zapisovanych
bloku.
Nemá náhodou autor nějaký tip na www stránku nebo něco takového, kde by bylo popsané, jakým způsobem má chunksize vliv na výkon pole?
Já už jsem se po tom pídil mnohokrát, a nakonec jsem byl rád, že jsem objevil alespoň nějaká doporučení, kolik by to asi tak mohlo být.
No, v diskusi k minulemu prispevku se objevil prispevek, ze ktereho by se dalo vydedukovat, ze existuje patch do LILA, ktery boot z raid5 umi. Je to samozrejme teoreticky mozne, na druhou stranu by podle meho takovy patch byl pomerne objemny (prakticky jde o to zkopirovat do LILA read cast raid5 kodu z kernelu, ale to je Ti asi jasne :-).
No jo, ale co se stane kdyz vypadne disk ?
Dekme tomu ze mam 3x HDD, dam tam raid 1 (mirror) 1HDD z toho stripe
2x soft R1 jeden pro / a druhy pro swap.
Pokud bych neswapowal do raid 1 ale primo na HDD a jeden hdd by vypadl, tak by stejne aplikace spadly protoze by staratily swap :-(
O HW radicich bylo neco v diskusi k minulemu dilu.
Ad LVM - ano daji. Ale delal bych to pouze tehdy, pokud opravdu potrebuji mit vice partitions (server se pouziva pro terminalovy pristup uzivatelu). Na normalnich serverech to vetsinou nestoji za zvetseni komplikovanosti systemu :-)
swap on raid 0 - nesmysl, staci udelat dve swap partice a dat jim stejnou prioritu, stripuje to samo ... no nezkousel jsem, ale nasel jsem to v dokumentaci
swap on raid 1 - to bude odporne pomale ... opravdu to chcete??? je mozne, ze to umi kernel sam od sebe taky bez raidu, ale to si vymyslim, mozna by nekdo mohl nakouknout do prislusne dokumentace a napsat sem
swap on raid5 - to bude jeste horsi, nez na raid 1, to bych opravdu nezkousel ...
Ach jo, to bude zase flame ... sorry
Myslim, ze u minimalne u IDE disku to mozna o malicko pomalejsi pri zapisu bude, ale zase by to mohlo byt rychlejsi pri cteni, ne?
Otazka je, jake je riziko deadlocku, o kterem mluvil Mikulas Patocka. Pokud je vyssi, nez riziko havarie disku, tak se swapovat na raid asi nevyplati..