Softwarový RAID a LVM

Transkript

Softwarový RAID a LVM
hardware
Softwarový
RAID a LVM
Piotr Wolny
S
tále více našich počítačů je vybaveno více než jedním pevným
diskem. Obvykle na nich
vytváříme několik oddílů, protože GNU/Linux nám umožňuje připojování různých částí souborového systému
(např. /usr nebo /home) z nezávislých
zařízení. Tím ale nekončí možnosti využití
pevných disků v GNU/Linuxu. Již dlouho
tento systém podporuje dva pokročilé mechanismy ukládání dat: Softwarový RAID a Logical Volume Manager.
S jejich použitím můžeme zvětšit výkonnost disků, a také zvýšit bezpečnost uložených dat. I když se Softwarový RAID
a Logical Volume Manager (LVM) často
spojují s velkými servery vybavenými
desítkami disků, s úspěchem je můžeme
použít také v domácích počítačích vybavených dvěma či třemi pevnými disky.
Navíc je LVM užitečný i při použití
s jedním diskem.
rámeček Úrovně RAID. Obecně RAID
umožňuje:
• zvětšení bezpečnosti dat, pokud
využíváme „nadbytečné” disky (bez
nadbytečných disků je náš RAID více
náchylný k havárii než samostatné
disky);
• rychlost čtení a zápisu dat se zvyšuje, pokud použijeme stripping na
dva nebo více nezávislých fyzických
zařízení;
• spojení několika nezávislých zařízení v jeden souborový systém může
zvětšit pohodlí při administraci
systému na určitých konfiguracích.
Pamatujme však na to, že RAID má jisté
hranice:
• jednou vytvořené zařízení RAID
nemůže být rozděleno na oddíly, což
RAID a LVM
DVD
Po spuštění Linux+ Live DVD
je možno otestovat probíranou
problematiku.
Na DVD disku
Na DVD disku se nachází
programy popisované v článku.
54
leden 1/2005
Historicky je starším zařízením softwarový RAID. Idea Redundant Arrays of Inexpensive Disks není tak stará, protože
pochází z roku 1987. Tehdy byla vypracována koncepce spojení mnoha levných
disků v jedno velké a rychlé zařízení. Aby
havárie jednoho z nich nezpůsobila ztrátu
dat na celé matrici, byl v koncepci použit
„nadbytečný” disk (anglicky redundant) nezbytný pro rekonstrukci dat
v případě havárie. Tradiční RAID se
vytváří hardwarově, nejčastěji spojením SCSI disků, které jsou po připojení
k počítači viditelné jako jedno zařízení.
GNU/Linux nám umožňuje vybudování
RAID softwarovým spojením do pole
a mohou to být zároveň zařízení SCSI,
IDE stejně jako SATA. Pro informace o
různých typech RAID polí si přečtěte
Obrázek 1. V GNU/Linuxu můžeme disky
různého typu spojovat do jednoho zařízení
RAID nebo LVM
softwarový raid a logical volume manager
občas způsobuje potřebu konfigurování několika RAID zároveň;
• jednou vytvořený RAID nemůže být
rozšířen o více disků.
Díky RAID, co počítač vidí jako jedno
blokové zařízení, může být ve skutečnosti
kombinace několika oddílů na různých
pevných discích. Logical Volume Manager jde o mnoho dále. Jím zpřístupněné
blokové zařízení se může fyzicky
nacházet na libovolném množství disků
nebo oddílů ale je umožněno jejich
zvětšování, zmenšování nebo přenášení. Funguje to tak, jakoby jedna tabulka rozdělení obsahovala nejenom několik
disků, ale také umožňovala přidávání/
odstraňování, zvětšování/zmenšování oddílů bez jakékoliv přestávky při fungování systému – často také bez odpojení
oddílů. Možné je také přidávání dalších
disků. Shrneme-li to, díky LVM dostaneme:
• celkovou svobodu v přidělování fyzických disků nebo oddílů jako blokových zařízení v systému (např. zařízení připojené jako /home se může
skládat z jednoho IDE disku a poloviny SCSI disku);
• možnost jednoduchého zvětšování a
zmenšování (pokud to systém souborů umožňuje) zařízení viděných operačním systémem a jejich přenášení
mezi disky (to zahrnuje také možnost
jednoduchého přidávání a odebírání
disků do systému);
• rozdělení (anglicky stripping) dat na
dvě nebo více nezávislých zařízení
pro zvětšení výkonu;
• funkci zjednodušující pořizování bezpečnostních záloh (snapshot).
Vadou linuxového LVM je chybějící podpora “nadbytečných” disků, ale můžeme
jej propojit se softwarovým RAID-1 pro
dodatečnou bezpečnost.
Vytváříme softwarový
RAID
Softwarový RAID můžeme založit na nejméně dvou libovolných oddílech. Aby to
celé mělo nějaký smysl, měly by se oddíly
nacházet na samostatných discích. Vytvoření RAID na dvou oddílech jednoho
disku nezvětší bezpečnost dat ani nezrychlí diskové operace. Do jednoho RAID
pole můžeme spojit oddíly z úplně odlišných disků např. IDE, SCSI nebo SATA
ale zpravidla bude tento hybrid pracovat
rychlostí nejpomalejšího z nich. Pokud
chceme spojit dva IDE disky, měly by
se nacházet na různých IDE kanálech,
pokud budou připojeny jedním kabelem,
zpozorujeme výrazný pokles výkonu.
Softwarový RAID je realizován přímo
jádrem systému. Jádro musí obsahovat podporu pro RAID. Při konfiguraci
jádra, v části Multi-device support (RAID
and LVM), musíme označit RAID support
a požadované módy RAID pole (můžeme
označit všechny). Nejlepší je zkompilovat do jádra podporu RAID pole natrvalo. Nemusíme také sami kompilovat jádro
Obrázek 2. Ovladače RAID a LVM najdeme v linuxovém jádře
hardware
RAID a LVM při instalaci
distribuce
Instalátory většiny moderních distribucích
umožňují vytvoření zařízení RAID a LVM
již při instalaci GNU/Linuxu. Například
v Aurox Linuxu postačí, pokud vybereme volbu Ruční vytvoření oddílů, pomocí
programu Disk Druid budeme moci
vytvořit RAID, LVM či dokonce LVM na
RAID. V novějších verzích Mandrakelinuxu musíme vybrat ruční rozdělení
na oddíly a později se navíc ještě přepnout do rozšířeného módu. Instalátor
této distribuce má podobné možnosti,
ale vypadá to tak, že neumožňuje vytvoření LVM na RAID.
Pokud víme jak fungují zařízení RAID
a LVM, jejich vytvoření s pomocí některého z těchto instalátorů by nemělo činit
žádné problémy. Například abychom
vytvořili RAID v Aurox Linuxu, klikneme na RAID, vybereme první z disků
a označíme Vytvořit oddíl softwarového
RAID. Následně to stejné opakujeme
pro další disky. Nakonec ještě jednou
klikneme na RAID a vybereme Vytvořit
zařízení RAID. Pak budeme moci zadat
jeho typ, bod připojení a systém souborů, který na něm bude vytvořen. LVM
vytváříme podobně – nejdříve vytvoříme
jeden nebo několik oddílů typu physical
volume LVM a později klikneme na LVM
a vytvoříme příslušné logické svazky.
Mé zkušenosti s tvořením RAID
a LVM s těmito instalátory distribucí nejsou dobré. Doporučuji instalaci na
tradiční zařízení a teprve později vytvoření RAID nebo LVM a následný přenos
příslušných adresářů.
a můžeme se spolehnout to dodávané
s distribucí. Většina novějších distribucí
najdeme moduly linear, raid0, raid5 atd.,
nutné pro práci pole. Stačí použít příkaz
cat /proc/mdstat a zjistíte, zda to vaše
obsahuje podporu pro softwarový RAID.
Pokud se zobrazí hlášení o chybějícím
souboru, musíme si jádro nakonfigurovat
a zkompilovat sami.
Softwarový RAID je v jádře GNU/
Linuxu již dlouhou dobu – je standardně přítomna v jádrech série 2.4.x
a 2.6.x, ale existují také možnost použití
s jádry 2.2.x a dokonce i 2.0.x. Všechny
zde popisované činnosti jsem prováděl
na jádře 2.6.9, měli by vypadat identicky i ve starších verzích jádra zahrnujíc
v to sérii 2.4.x.
Mimo podpory v jádře systému
budeme potřebovat ještě dva balíčky:
mdadm a raidtools (v Debianu – raid-
www.lpmagazine.org
55
hardware
tools2). Ten první obsahuje nástroje pro aktivování a zastavování RAID
zařízení a druhý přidává základní
nástroje pro tvorbu polí. Tyto balíčky
najdete ve všech populárních linuxových distribucích.
Řekněme, že náš operační systém
je nainstalován na disku sda a na RAID
chceme využít IDE disky: hda a hdd.
Na obou discích jsme vytvořili oddíl,
přičemž na RAID mají být určeny
hda2 a hdd2. Předtím než začneme
vlastní nastavování, můžeme si otestovat rychlost těchto disků před tím, než
z nich uděláme pole. Jak dobře otestovat výkonnost disků s využitím programu Bonnie++, popisuji v rámečku
Jak testovat disky? Při návrhu systému,
ve kterém hraje důležitou roli výkonnost disků, je dobré se řídit doporučeními programu Bonnie++ nebo podobného. V tomto článku, abych rychle a
názorně ukázal rozdíly mezi konfiguracemi RAID využiji program dd.
Například po vytvoření oddílu hda2
souborového systému ext2, jeho připojení na /mnt/test/ jsem spustil příkaz:
cd /mnt/test; dd if=/dev/zero of= vymaz_ mne count=2000000.
Jako výsledek
jsem obdržel následující rychlost lineárního zápisu jednoho velkého souboru:
1024000000 bytes transferred
in 28,490542 seconds (35941752 bytes/sec)
Při využití souborového systému ext3
vzrostl čas potřebný na vykonání této
operace narostl na 32,8 sekundy.
RAID-0
Nejdříve vyzkoušíme RAID-0. Abychom
jej vytvořili, musíme vytvořit soubor /etc/
raidtab. Nejdříve do něj zapíšeme následující řádky:
raiddev /dev/md0
raid-level
0
nr-raid-disks
2
persistent-superblock 1
chunk-size
4
device
/dev/hda2
raid-disk
0
device
/dev/hdd2
raid-disk
1
při zápisu do pole (není možno jednoznačně říci, jaká hodnota zajistí nejlepší
výkon, ale zjednodušeně můžeme říci,
že bude rovna block size našeho souborového systému). Dále vyjmenováváme
a číslujeme použité oddíly.
Dalším krokem je změna identifikátorů oddílů s užitím programu fdisk, na
kterých bude pole pracovat. Měli by být
typu fd, čili Linux raid auto. Bez tohoto
úkonu bude pole pracovat, ale nebude
automaticky detekováno jádrem systému.
Když máme všechno hotovo, spustíme příkaz mkraid /dev/md0. Samozřejmě, že jeho spuštěním přijdeme o všechna data, která jsme měli na oddílech vyjmenovaných v /etc/raidtab. Jako výsledek
bychom měli obdržet něco takového:
handling MD device /dev/md0
Jak je vidět, soubor není komplikovaný.
První řádek popisuje, kterého zařízení se
tato konfigurace týká. Za md0 můžeme
mít libovolné množství jiných zařízení (samozřejmě by se měly nacházet na
jiných oddílech). Volbou raid-level nastavujeme typ pole, v tomto případě RAID-0
čili stripe. V nr-raid-disk zadáváme kolik
oddílů má fungovat v tomto zařízení; persistent-superblock způsobí, že v superblocích zadaných později budou zapsány
informace potřebné pro automatické rozpoznání pole při spouštění jádra systému;
chunk-size nastavuje na jaké nejmenší
jednotky v kilobajtech budou dělena data
analyzing super-block
disk 0: /dev/hda2, 14659312kB,
raid superblock at 14659200kB
disk 1: /dev/hdd2, 18922680kB,
raid superblock at 18922560kB
Jak vidíme, mimo to, že se oddíly liší
velikostí, bylo pole vytvořeno. Teď si jej
můžeme prohlédnout pomocí příkazu
cat /proc/mdstat. Měli bychom spatřit
například něco takového:
Personalities : [linear] [raid0]
[raid1] [raid5] [raid6] [raid10]
md0 : active raid0 hdd2[1] hda2[0]
33581760 blocks 4k chunks
unused devices: <none>
Od této chvíle pracujeme se zařízením
/dev/md0 jako s oddílem pevného disku.
Můžeme např. použít příkazy:
# mkfs.ext3 /dev/md0
# mount /dev/md0 /mnt/test/
# cd /mnt/test/
# dd if=/dev/zero of=vymaz_mne count=2000000
Na mém systému tento rychlý test zobrazil:
1024000000 bytes transferred
in 18,410448 seconds (55620591 bytes/sec)
Obrázek 3. Všechny potřebné informace pro vytvoření RAID a LVM můžeme nalézt
v angličtině v příslušných HOWTO
56
leden 1/2005
Vidíme skoro dvojnásobný nárůst
rychlosti zápisu tohoto souboru (z 32,8
na 18,4 sekundy). Podobné pole vytvořené
v mém počítači na discích SATA si se
zápisem poradilo za 14 sekund.
Tímto způsobem jsme získali zařízení, které by mělo fungovat značně rychle-
hardware
softwarový raid a logical volume manager
ji než samostatný disk, jak při operacích
čtení tak při zápisu. Můžeme jej připojit
v libovolném místě systému souborů, ve
kterém se objevuje intenzivní používání
disků např. v /var/www. Stačí pouze patřičný zápis do /etc/fstab a přenesení starých dat na nové zařízení. Pokud chceme
použít pole v několika různých částech
souborového systému, musíme přidat více
disků nebo již vlastněné disky rozdělit na
více oddílů, následně je definovat
v /etc/raidtab další zařízení /dev/md1,
md2 atd., všechny inicializovat (mkraid),
naformátovat a připojit.
Pokud jsme správně nainstalovali balíčky mdadmin a raidtools, měly by
skripty odpovědné za zamykání systému
zastavit pole (vykonat příkaz raidstop s
příslušnými parametry), než budou naše
disky odpojeny. V mnoha distribucích
bude také fungovat odeslání upozorňovacího e-mailu administrátorovi systému
o havárii některého z disků. Zmiňované
balíčky mají ještě několik dalších funkcí
– je dobré prohlédnout si jejich konfigurační soubory v adresářích /etc/default/ a
/etc/mdadm/.
RAID-1
Řekněme, že jsme se rozhodli změnit
svou konfiguraci, vytvořením RAID-1
místo RAID-0 – je nutno říci, že teprve
RAID-1 je skutečným RAID, protože
v RAID-0 nejsou „nadbytečné” disky. Než
začneme vytvářet nové zařízení, musíme
deaktivovat předchozí. Prvním krokem
je odpojení souborových systémů v poli
(např. umount /var/www). Následně provedeme příkaz raidstop /dev/md0. Teprve
teď můžeme změnit nastavení oddílů
na discích a vytvořit nové pole. Pokud
tyto kroky neprovedeme ani konfigurace nového pole ani změny v nastavení oddílů nebudou trvalé a navíc mohou
způsobit nenávratnou ztrátu dat.
Konfigurační soubor /etc/raidtab
pro RAID-1 je identický s použitým pro
RAID-0:
raiddev /dev/md0
raid-level
1
nr-raid-disks
2
persistent-superblock 1
chunk-size
4
device
/dev/hda2
raid-disk
0
device
/dev/hdd2
raid-disk
1
Následně provedeme příkaz mkraid
md0 a obdržíme výpis:
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda2, 14659312kB,
raid superblock at 14659200kB
/dev/
Integrace RAID/LVM se
systémem
To, kam připojíme vzniklá zařízení, závisí
na způsobu, jakým nám bylo pomáháno
s konfigurací LVM nebo RAID, stejně
jako na specifikaci našeho systému.
Mohou zrychlovat přístup k datům (pokud
využíváme rozdělování přístupu na více
fyzických zařízení) tak i zlepšit správu
místa na disku a zvětšit bezpečnost dat.
Proto ho více využívejme v oblastech,
kde je vyžadována některá ze jmenovaných oblastí. Prvními umístěními, které se
nabízejí jsou /home a /var – zpravidla zde
jsme předpokládali moc nebo málo místa
na disku a také tam máme obecně nejdůležitější data. V případě, že naše nové
zařízení pracuje rychleji než obvyklé disky
(díky využití strip), můžeme se rozhodnout o přenesení na něj také adresáře
/tmp – existují aplikace, které jej intenzivně využívají, nebo také /usr, což může
minimálně zrychlit spouštění programů na
kancelářském počítači.
Abychom přenesli data z jednoho
zařízení na nové, můžeme jej jednoduše připojit na dočasné umístění (např.
/mnt/tmp) a použít příkaz, např. cp -ax
/var/* /mnt/tmp/, následně vyprázdnit ukázkový adresář /var a zaktualizovat
/etc/fstab aby bylo toto zařízení připojováno v tomto místě.
/dev/hda2 appears to be already
part of a raid array -- use -f to
force the destruction of the old
superblock mkraid: aborted.
Jak je vidět, systém odmítl vytvoření
nového pole na zařízeních, na kterých
jsme již dříve vytvořili RAID-0. Jsme si
však jistí, že chceme úplně zrušit předchozí pole, proto zadáme příkaz: mkraid -R
/dev/md0 a dostaneme např.:
DESTROYING the contents of /dev/md0
in 5 seconds, Ctrl-C if unsure!
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda2, 14659312kB,
raid superblock at 14659200kB
disk 1: /dev/hdd2, 18922680kB,
raid superblock at 18922560kB
Obrázek 4. Ukázková konstrukce LVM
Od této chvíle je zařízení /dev/md0
připraveno k použití. Má kapacitu 14
GB, čili stejně jako menší z použitých
oddílů. Vytvoříme na něm souborový systém a otestujeme, jak pracuje.
Příkaz dd, použitý stejně jako v předchozích příkladech potřeboval tentokrát více než 35 sekund na provedení svého úkolu. Vidíme, že RAID-1 při
zápisu pracuje výrazně pomaleji než
samostatný pevný disk.
www.lpmagazine.org
57
hardware
Rychlý test s užitím příkazu dd
a zařízení /dev/zero, trval na mém
systému 20 sekund, proto RAID-5 pracuje rychleji než samostatný disk, ale samozřejmě pomaleji než RAID-0.
Výpis 1. Ukázkový výpis generovaný vgdisplay
--- Volume group --VG Name
IDE_disky
System ID
Format
lvm2
Metadata Areas
1
Metadata Sequence No
1
VG Access
read/write
VG Status
resizable
MAX LV
0
Cur LV
0
Open LV
0
Max PV
0
Cur PV
1
Act PV
1
VG Size
37,27 GB
PE Size
4,00 MB
Total PE
9540
Alloc PE / Size
0 / 0
Free
9540 / 37,27 GB
PE / Size
VG UUID
Záložní disky
OEEclx-9gIP-Oqyl-R1cH-9tkK-Mlm7-rWW4xi
Daní za vyšší bezpečnost dat je zmenšení výkonnosti. Pokud na jednom
z disků dojde k havárii, bude pole pracovat dále a v systémových log souborech se
objeví informace o nutnosti jeho výměny.
RAID-5
Vytvoření RAID-5 není o moc složitější než RAID-0 a RAID-1. Ukázkový
/etc/raidtab, který jsem vytvořil na svém
počítači, může vypadat takto:
Pro zvětšení bezpečnosti pole RAID-1
a RAID-5 (a také zde nepopisovaných
RAID-6 a RAID-10) můžeme využít
záložní disky (spare disk). Tento disk
není normálně používán – žádná data
na něj nejsou zapisována ani z něj čtena.
Ve chvíli, kdy je jeden z disků poškozen,
pole automaticky vytvoří jeho obsah na
prvním dostupném spare disk. Díky
tomu může být vypnutí systému s cílem
výměny poškozeného disku naplánováno na pozdější dobu – můžeme čekat
i do havárie dalšího disku a nepřijdeme
o žádná data.
Pokud chceme do pole přidat záložní disk, stačí do /etc/raidtab dopsat např.
tento řádek:
raid superblock at 18922560kB
disk 2: /dev/sda3, 39070080kB,
device
/dev/sdd1
raid superblock at 39070016kB
spare-disk
0
disk 3: /dev/sdb9, 9775521kB,
raid superblock at 9775424kB
Vytváříme LVM
Takto vytvořené zařízení má kapacitu cca 27 GB. Proč? Musíme vynásobit
kapacitu nejmenšího z použitých oddílů
(9775521kB ~= 9GB) počtem disků a
odečíst velikost jednoho oddílu potřebného na zrcadlení, proto 9*4-9=27.
Logical Volume Manager sám o sobě není
těžký ke zkonfigurování. To co mnoho
uživatelů odrazuje je používaná terminologie. Než přistoupíme k práci s ním,
musíme si osvojit několik základních termínů, používaných v LVM – bez toho se
velmi rychle ztratíme.
raiddev /dev/md0
raid-level
5
nr-raid-disks
4
persistent-superblock 1
chunk-size
4
device
/dev/hda2
raid-disk
0
device
/dev/hdd2
raid-disk
1
device
/dev/sda3
raid-disk
2
device
/dev/sdb9
raid-disk
3
Zadaný příkaz mkraid
-R /dev/md0 ukázal:
DESTROYING the contents of /dev/md0
in 5 seconds, Ctrl-C if unsure!
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/hda2, 14659312kB,
raid superblock at 14659200kB
disk 1: /dev/hdd2, 18922680kB,
58
leden 1/2005
Obrázek 5. Konfigurace našich zařízení vyžaduje určité příkazy pracující z příkazové řádky
hardware
softwarový raid a logical volume manager
LVM vytváří dodatečnou abstraktní vrstvu mezi zařízeními na ukládání
dat a souborovým systémem operačního
systému. Následně se mezi oddílem disku
a systémem souborů objevují některé termíny:
• physical volume (PV) – fyzický
svazek, jednoduše se jedná o pevný
disk nebo častěji oddíl na pevném
disku, může to být však i zařízení
softwarového RAIDu;
• volume group (VG) – skupina svazků,
je to jeden nebo několik fyzických
svazků (pracujeme s ní vždy i když
máme jen jeden PV);
• logical volume (LV) – logický svazek
(systém vidí LV jako blokové zařízení, proto když využíváme LVM,
vytváříme souborový systém (např.
ext3) ne na oddíle, ale na LV; podobně, v systému připojujeme LV a ne
oddíl; na jedné skupině svazků
vytváříme jeden nebo více LV);
• physical extent (PE) a logical extent (LE)
– fyzické rozšíření a logické rozšíření
(data na fyzických a logických svazcích
jsou dělena na menší jednotky např.
po 4 MB; velikost PE a LE jsou stejné).
Pro fungování LVM potřebujeme v jádře
podporu pro Device mapper. Při konfiguraci jádra ji nalezneme v oddíle Multiple devices driver support. Z dostupných
voleb bychom měli zatrhnout přinejmenším Snapshot target a Mirror target – i
když jsou označeny jako experimentální, jsou již běžně používány (nejdříve
musíme vybrat Prompt for development
and/or incomplete code/drivers v části
Code maturity level options).
Nejlepší je LVM zkompilovat natrvalo do jádra, ale v některých distribucích jej najdeme v podobě modulu
s názvem dm-mod. Pokud máme distribuční jádro, stačí pouze nahrát tento
modul. Měli bychom používat jádra
Úrovně RAID:
•
•
•
•
Lineární (linear mode). V tomto módu
jsou dva nebo více oddílů k sobě přidávány aby vytvořili jedno velké RAID
zařízení. Pří zápisu na toto zařízení
data nejdříve zaplní celý první oddíl /
(první disk), později druhý atd. Výsledná
kapacita zařízení je rovna součtu velikostí všech použitých oddílů. Nezískáme
zvětšení rychlosti a havárie jednoho
disku způsobí ztrátu dat celého pole.
RAID-0 (stripe). Kapacita dvou nebo více
zařízení je sčítána, ale data jsou zapisována současně na více zařízeních
a stejně i načítána. Pokud máme tímto
způsobem spojeny tři disky a nastavili
jsme stripe size na 16 kB, spustí soubor
o velikosti 48 kB současný zápis na
všechny disky a na každý bude nahráno
pouze 16 kB dat. Jak je možno domyslet,
tato konfigurace zvětšuje mnohonásobně rychlost přenosu dat. Kapacita je
rovna součtu disků, ale musí mít stejnou
velikost. Pokud jsou různé, je na všech
discích používána kapacita pouze nejmenšího z nich. Havárie jednoho disku
způsobí ztrátu dat celého pole.
RAID-1 (mirroring). Stejná data jsou
zapisována současně na dva a více
disků. Načítá se z libovolného z nich.
Kapacita tohoto pole je rovna velikosti
nejmenšího oddílu. Rychlost zápisu je
o něco menší než zápis na samostatný
disk. V případě havárie jednoho disku
může systém pracovat dále, nenastává
žádná ztráta dat.
RAID-5. Vyžaduje tři a více oddílů.
Velikost vzniklého zařízení se rovná
série 2.6.x, protože v sérii 2.4.x, se
nachází předchozí generace LVM, která
umožňuje o něco méně funkcí.
Mimo podpory v jádře potřebujeme také sadu programů na vytváření a
správu LVM. Jsou obvykle v balíčku lvm2
a ne v balíčku lvm nebo lvm01, který je
určen pro spolupráci se staršími verzemi jádra. Používání špatné verze pro-
Obrázek 6. LVM nám pomáhá lépe zorganizovat místo na discích
součtu kapacit všech oddílů mínus
kapacita jednoho oddílu. Pokud máme
čtyři oddíly po 15 GB, získáme 45 GB
místa. Pokud nejsou rozměry oddílů
stejné, ve výpočtech se používá velikost nejmenšího z nich. Místo, které
se odečítá je pro uschovávání kontroly parity zařízení, díky čemuž
je možno v případě havárie jednoho disku rekonstruování všech dat.
V případě souběžné havárie dvou
disků jsou data nenávratně ztracena.
Rychlost práce se blíží RAID-0, ale
při zápisu je o něco menší, protože
se počítá „parita“ dat (přesně je vykonávána logická operace eXclusive OR
na několika bitech ze všech disků).
Navíc se ještě zřídka používá:
•
•
•
•
RAID-4 – stejný jako RAID-5, ale informace o paritě je zapisována výlučně na
jedno zařízení, díky čemuž se stává
úzkým hrdlem. Mělo by být mnohem
rychlejší než všechny ostatní.
RAID-6 – podobný jako RAID-5,
s ještě jedním diskem na data o paritě,
díky čemu může přečkat současnou
havárii dvou disků.
RAID-2, RAID-3 – jsou podobné RAID-4,
ale nebyly přijaty a mělo smysl zabudovávat jejich podporu do Linuxu.
RAID-10 – Je to RAID-0, ale jeho
základním elementem nejsou oddíly
fyzických disků ale pole RAID-1. Proto
vyžaduje čtyři nebo více disků.
gramů na nás může nabalit neočekávané
problémy, proto věnujte pozornost tomu,
zda máte nainstalovaný správný a pouze
tento správný balíček. Mimo to musíme
doinstalovat všechny knihovny, na kterých je závislý (zvláště libdevmapper).
Výběr zařízení
Při návrhu diskového pole jsme museli
určit, na kterých oddílech kterých disků
bude vytvořeno. LVM může použít několik oddílů, stejně jako RAID, ale můžeme
jej rovněž instalovat bezprostředně na
disk, nerozdělený na oddíly (pokud jej
chceme celý využít k tomuto účelu). Navíc
můžeme zkonfigurovat LVM na zařízení /
dev/md0 čili na libovolném typu softwarového RAID. Jak jsem uvedl již dříve,
LVM, mimo svého mála možností, nespolupracuje s „nadbytečnými” disky, proto
když zkonfigurujeme LVM na RAID-1,
www.lpmagazine.org
59
hardware
/dev/hdc4 /dev/sda5.
Obrázek 7. Výstup programu Bonnie++ po
konverzi do html
dostaneme zařízení, které v sobě spojuje výhody jednoho i druhého – zvýšenou
bezpečnost dat a lepší přizpůsobivost
v konfiguraci systému.
V další části článku popíši, jak jednoduše vytvořit LVM na RAID-1 poli.
Pokud chceme vytvořit LVM na samostatném disku či oddíle všechny kroky
provádíme identicky pouze se zadáním
jiných názvů zařízení. Předpokládám,
že jsme již vytvořili pole RAID-1, tak jak
bylo popisováno dříve.
Další kroky
První úkonem je označení všech zařízení, která se mají stát částí nějaké skupiny svazků (VG). V našem případě napíšeme příkaz: pvcreate /dev/md0. Pokud
chcete nainstalovat LVM na samostatný
oddíl, např. /dev/hdb3, napište pvcreate
/dev/hdb3, pokud určíte pro LVM celý disk
hdb – pvcreate /dev/hdb. V tomto posledním případě jsme nuceni nejdříve vymazat tabulku oddílů, např. příkazem dd if=
/dev/zero of=/dev/hdb bs=1k count=1.
Po zadání příkazu pvcreate bychom měli
vidět např. Physical volume "/dev/md0"
successfully created. Tento příkaz opakujeme pro všechna zařízení, která mají být
použita v nějaké VG. Způsobí zapsání specifických dat do zaváděcí oblasti disku
identifikující dané zařízení, díky čemu
pokud např. zaměníme disky sda a sdb,
bude LVM pracovat nadále bez překážek
(netýká se to mého systému, ve kterém je
LVM zbudováno na RAID-1).
Druhým úkonem je vytvoření skupiny
svazků. Každá skupina má své jméno, které
si můžeme zvolit dle vlastního uvážení.
V mém případě jsem vytvořil VG příkazem
vgcreate IDE_disky /dev/md0, které odpovědělo výpisem Volume group "IDE_disky"
successfully created. Mé skupině jsem dal
jméno „IDE_disky”. Pokud se má náš
svazek roztáhnout na více zařízení, musíme
je v tomto příkaze vyjmenovat všechna např. vgcreate IDE_disky /dev/hda3
60
leden 1/2005
V jednom systému
můžeme vytvořit více VG (maximálně 99),
ale je samozřejmé, že žádné fyzické zařízení nemůže být ve dvou skupinách zároveň. Při příležitosti vytváření VG můžeme
nastavit rozměr PE – dle HOWTO je výchozí hodnota 32 MB, ale na mém počítači
použil vgcreate hodnotu 4 MB. Samotnou hodnotu můžeme zadat pomocí parametru -s, např. vgcreate -s 32 /dev/md0.
Zadaná hodnota (výchozí v megabajtech)
musí být mocninou čísla dvě.
Následný krok je aktivace svazku. Provedeme ji příkazem vgchange --available
y IDE_disky. Měl by odpovědět: 0 logical
volume(s) in volume group "IDE_disky"
now active. Je důležité, že od této chvíle
se budou skripty odpovědné za start
a ukončování systému, které jsme nainstalovali společně s balíčkem lvm2, starat
o náš svazek, čili aktivovat jej při startu
a deaktivovat při ukončování systému.
Po aktivaci VG o něm můžeme získat
zajímavé informace s využitím příkazu
vgdisplay IDE_disky. Výsledek jeho činnosti jsem umístil do Výpisu 1. Vidíme,
že naše velikost PE je 4 MB (PE Size)
a k dispozici máme 9540 PE. Chtěl bych
upozornit na to, že v tomto příkladu LVM
vidí jen jedno fyzické zařízení (je to /dev/
md0), i když fakticky máme dva disky.
Blížíme se ke konci. Teď vytvoříme
logické svazky. Jak jsem již zmiňoval
dříve v jednom VG můžeme vytvořit mnoho logických svazků (v systému
jich může být maximálně 256). Logické svazky (LV), podobně jako skupiny
svazků (VG), mohou mít libovolná jména,
která si vymyslíme.
Rozeberme si ukázkový příkaz,
vytvářející LV: lvcreate -l3000 -ndomovské_adresáře IDE_disky. Tento příkaz
vytvořil LV se jménem „domovské_adresáře” a velikosti 3000 PE, čili na mém
systému 12000 MB. Nový logický svazek
byl vytvořen na základě skupiny svazků
pojmenované „IDE_disky”. Jako výchozí
nastavení budou data zapisovaná na tomto
svazku postupně zabírat dostupné místo
na příslušných fyzických zařízeních. Přístup
k tomuto svazku máme díky souboru
zařízení /dev/IDE_disky/domovské_adresáře. Pokud vytváříme LVM na základě dvou
nebo více nezávislých zařízeních, můžeme
použít parametr
-i, abychom využili rozdělování diskových operací (stripe)
na několik zařízení. Příkaz lvcreate -i2
-l3000 -njméno_LV jméno_VG způsobí, že
data budou rozdělována na dvě zařízení.
Pokud máme více zařízení, s úspěchem
můžeme tento parametr zvětšit.
Obecně, pokud využíváme LVM,
nezajímá nás na které fyzické zařízení se
data dostanou z konkrétního logického
svazku. Máme přece několik zařízení,
spojených do jedné VG. Proto můžeme
k příkazu lvcreate přidat ještě jeden parametr, který nastaví, které fyzické zařízení systém použije, pokud začne plnit náš
svazek daty. Například lvcreate -l3000
-njméno_LV jméno_VG /dev/sdh1 nastaví
první používané zařízení jako /dev/sdh1.
Samozřejmě, že pokud na něm dojde
místo, LVM začne používat i jiná zařízení.
Obrázek 8. Zařízení RAID a LVM můžeme vytvářet již v průběhu instalace distribuce
hardware
softwarový raid a logical volume manager
Pokud chcete odstranit logický svazek,
zadejte příkaz lvremove /dev/IDE_disky/
domovské_adresáře.
Nejdříve musíme
odpojit systém souborů, pokud jsme již
nějaké stihli vytvořit a připojit, s využitím
/dev/IDE_disky/domovské_adresáře.
Pro změnu názvu LV můžeme použit
příkaz lvrename. Užitečný je také program
lvscan, který nám zobrazí informace
o všech pracujících logických svazcích.
Ve svém systému jsem si vytvořil ještě
jeden svazek: lvcreate -l3000
-nsystémové_logy IDE_disky a následně jsem
zapsal příkaz vgdisplay, který mi zobrazil
mj. i počet volných PE:
Free
PE / Size
3540 / 13,83 GB
Abychom úplně zaplnili náš VG, vytvořením logického svazku, musíme zadat
parametr -l3540, protože právě tolik alokačních bloků nám zůstalo. Je však dobré
ponechat si ještě trochu místa na snapshot'y, o kterých napíši ještě v další části,
proto zadám příkaz lvcreate -l3490 ndatabáze IDE_disky.
V této chvíli je vše připraveno na formátování všech vytvořených zařízení.
V mém systému by ukázkové příkazy
vypadaly takto:
# mkfs.ext3 /dev/IDE_disky/databáze
S
# mkfs.ext3 /dev/IDE_disky/domovské_
adresáře
Jak testovat disky?
Určitě mnoho uživatelů GNU/Linuxu zná
nástroj hdparm. S jeho pomocí můžeme
mj. zjistit rychlost lineárního přenosu dat z
disku. Je to velmi jednoduchý test umožňující porovnání disků – ve skutečnosti nám
říká nemnoho o tom, jak výkonné budou
naše disky a vůbec se nehodí na testování
RAID nebo LVM.
Neexistuje jeden univerzální měřič
rychlosti disků, protože každý počítačový systém je jiný – některé stále načítají soubory o velikosti několika gigabajtů a jiné desítky tisíc souborů o velikosti
několika kilobajtů. V některých je stejně
důležitá rychlost načítání jako rychlost
zápisu, v jiných nemá rychlost význam.
Některé programy načítají data lineárně
a jiné stále prohledávají disk. Z toho
důvodu musíme při měření výkonu disků
brát v úvahu konkrétní systém.
Nejpopulárnějším programem, který
nám dá mnoho informací o práci disku
je Bonnie++ (http://www.coker.com.au/
bonnie++/). Pokud jej nenajdete ve své
distribuci, můžete si stáhnout zdrojové kódy
z domovské stánky a můžete je zkompilovat a nainstalovat tradičními příkazy:
./configure; make; make install. Tento program testuje rychlost práce nejenom samotného pevného disku ale i systému souborů.
Na testovaném disku musíme vytvořit nějaký
oddíl, vytvořit na něm souborový systém
a připojit do systému. Následně přejděte do
adresáře, kam je připojen testovaný disk
(např. cd /mnt/test) a spusťte program:
bonnie++ -s 1000k -n 128 -b. Pomocí
parametru -s 1000k jsme nastavili velikost
souboru, který Bonnie++ vytvoří, aby mohl
zkontrolovat rychlosti lineárního zápisu
a čtení. Volba -n 128 nastavuje, kolik
tisíc malých souborů (s nulovou velikostí) bude vytvořeno, aby se dala změřit
doba jejich vytváření, načítání a mazání.
Poslední parametr -b vypíná cachování
zápisů a synchronizuje disk po každém
z nich (fsync()), čímž se chová jako populární SQL nebo SMTP servery, které to
dělají podobně.
Po několika nebo více minutách
testů vypíše program několik řádků – na
začátku budou dvě málo čitelné tabulky s výsledky a poslední řádek obsahuje všechny výsledky oddělené čárkami. Abychom získali pěknou a čitelnou
tabulku, můžeme použít program bon_
csv2html. Pomocí standardního výstupu
načte poslední řádek výpisu z Bonnie++
a tiskne html soubor na standardní
výstup. Můžeme ho použít takto: echo
<poslední řádek bonie++> | bon_
> /tmp/dysk1.html. Samozřejmě, že nejjednodušší pro nás
bude dlouhý řádek s výsledky z programu Bonnie++ označit a vložit do
tohoto příkazu pomocí myši.
Hodnoty, které Bonnie++ vypíše,
budou závislé nejenom na pevném
disku, ale rovněž na použitém systému
souborů (ext2/ext3), rychlostí procesoru či zatížením systému atd.
csv2html
# mkfs.ext3 /dev/IDE_disky/systémové_logy
LVM v akci
V této chvíli se jistě mnoho čtenářů ptá,
proč bylo vytvořeno LVM? Zatím nás dost
dlouhý popis kroků dovedl do situace, kdy
máme obvyklý systém. Je pravdou, že je
zabezpečen před havárií jednoho pevného
disku, ale to je zásluha výlučně RAID-1
a ne LVM. Navíc se přístup k disku zpomalil (jednoduchý test s příkazem dd
na LVM u mne pracuje o tři sekundy déle než na samostatném RAID-1).
A samozřejmě, že LVM nebyl vytvořen proto, abychom mohli využít fantazii
v pojmenovávání zařízení. Podívejme se na
to, jak s jeho pomocí spravovat místo na
disku a pohodlně provádět bezpečnostní
zálohu dat.
Přidáváme disk
Předpokládejme, že nám chybí místo na
zařízení /dev/IDE_disky/databáze. Do systému jsme přidali nový disk a můžeme
z něj použít jeden oddíl – /dev/sda3. Samo-
zřejmě, že to není nejlepší nápad, protože naše předchozí zařízení se nachází na
RAID-1, a proto je zabezpečeno před
havárií jednoho z disků. Pokud do celé
skupiny svazků přidáme jedno fyzické
zařízení bez této ochrany, v případě jeho
havárie přijdeme o všechna data. V reálném světě bychom měli přidat nejméně
jeden další disk a vytvořit na nich nejdříve RAID-1. Pro potřeby ukázky v tomto článku si však ukážeme jednoduchý
příklad s jedním oddílem.
Začneme inicializací oddílu:
# pvcreate /dev/sda3
Physical volume "/dev/sda3"
S
successfully created
S využitím příkazu vgdisplay zkontrolujeme výsledek naší činnosti. Ukázka výpisu
na mém počítači vypadá takto:
VG Size
74,52 GB
PE Size
4,00 MB
Total PE
19078
Alloc PE / Size
9540 / 37,27 GB
Free
9538 / 37,26 GB
V této chvíli můžeme vytvořit úplně nový
svazek na 9538 volných PE, ale o to nám
zase až tak nejde, protože nám momentálně
chybí místo na svazku připojeném v /báze.
Po spuštění příkazu df -h aktuálně máme:
/dev/mapper/IDE_disky-databáze
14G
Následně rozšíříme
o nové zařízení:
skupinu
PE / Size
13G
397M
98% /báze
svazků
Abychom všech 9538 volných PE přidali
tomuto svazku, zadáme příkaz:
# vgextend IDE_disky /dev/sda3
Volume group "IDE_disky"
S
successfully extended
# lvextend -l +9538
S
/dev/IDE_disky/
databáze
www.lpmagazine.org
61
hardware
Tímto způsobem jsme zvětšili logický
svazek, o čemž se můžeme přesvědčit
příkazem lvscan. Nyní musíme zvětšit
souborový systém, aby zabral místo na
celém LV. Existují speciální záplaty na
jádro, které umožňují provedení této operace bez odpojení souborového systému,
ale my si na chvíli proveďme umount
/báze/ a zadejme příkaz resize2fs -p
/dev/IDE_disky/databáze. Program nás
může požádat o kontrolu souborového
systému před jeho změnou velikosti,
proto v tomto případě napište: e2fsck -f
/dev/IDE_disky/databáze a znovu zopakujte příkaz resize2fs. Nyní už zbývá jen
připojit znovu LV a podívat se, co zobrazí
df -h. Já jsem dostal:
/dev/mapper/IDE_disky-databáze
51G
13G
36G
27% /báze
Operace trvala velmi krátce a skončila úspěchem. Bez LVM by byla nutná
úprava tabulky oddílů na přinejmenším
jednom disku a následně krkolomné přenášení dat. Všechno tohle by způsobilo
o mnoho delší přestávku ve fungování
systému.
Zvětšování souborového systému je
možné nejenom na ext2/ext3. Pokud
používáme reiserfs, můžeme analogicky
využít příkaz resize_reiserfs -f. V případě xfs máme program xfs_growfs, ale
jistý rozdíl je v tom že systém souborů
musíme nechat připojený a jako parametr tohoto programu zadat přípojný bod
(např. xfs_growfs /báze).
Jiné manipulace s disky
V případě, že chceme ze systému odstranit jeden disk (např. hdb) a máme na ostatních discích tolik místa, že se na ně vejdou
všechna data, může použít příkaz: pvmove
/dev/hdb. Nyní byla všechna data z hdb
přenesena na zbylé disky v rámci stejné
skupiny svazků (VG). Následné vgreduce jméno_VG /dev/hdb způsobí, že disk již
není členem VG se jménem jméno_VG.
Když jsme do systému přidali nový disk
(např. sdf ), na který chceme přenést data
ze starého (např. hdb), zadáme příkazy:
# pvcreate /dev/sdf
# vgextend dev /dev/sdf
# pvmove /dev/hdb /dev/sdf
# vgreduce dev /dev/hdb
Před nějakou chvílí jsme zvětšovali logický
svazek. Samozřejmě je možné i stejně jed-
62
leden 1/2005
noduché zmenšování. Problém se objevuje při zmenšování souborových systémů,
protože pokud vím tak pouze ext2/ext3
a reiserfs tuto operaci umožňují. Ukázkový příklad by mohl vypadat takto:
Pokud používáme systém souborů xfs
musí být příkaz o něco delší:
S
S
# xfs_freeze -f /home; lvcreate -L200M
-s -n nase_zaloha /dev/IDE_disky/
domovské_adresáře
# umount /home
S
# resize2fs /dev/IDE_disky/
domovské_adresáře 524288
# lvreduce -L-1G
S
/dev/IDE_disky/
domovské_adresáře
V této chvíli můžeme připojit (jen ke
čtení) logický svazek se jménem „nase_
zaloha”, který obsahuje kopii svazku „domovské_adresáře”:
# mount /home
S
# mount /dev/IDE_disky/nase_zaloha
V tomto případě jsme jako parametr programu resize2fs museli zadat novou velikost souborového systému.
LVM obsahuje také nástroje na přesouvání skupiny svazků (VG) na jiné
počítače, když nemůžeme provést obvyklé přeložení disků. Musíme, po odpojení souborového systému a deaktivaci VG
(vgchange --activate n jméno_VG), spustit příkaz vgexport jméno_VG a následně po přeložení disku do nového počítače – vgimport jméno_VG.
Snapshot
Provádění bezpečnostní zálohy trvá dosti
dlouho a ne každý si může dovolit úplné
zastavení systému na tuto dobu. tehdy
jsou největším problémem soubory, které
byly v době provádění zálohy změněny.
LVM nám zpřístupňuje speciální mechanismus, který nám umožní tento problém obejít.
Můžeme vytvořit snapshot aktuálního stavu některého z našich logických
svazků. Snapshot je pro správce systému
dalším logickým svazkem, obsahujícím
kopie některého LV. Tato kopie se nemění
i když se na originále provádí operace zápisu. Samozřejmě, že při vytváření snapshotu nejsou data v něm obsažená fyzicky kopírována na nový logický svazek. Na daném VG potřebujeme
trochu místa, aby bylo kam zapsat informace o souborech, které se změnily od
doby vytvoření stavu logického svazku.
Pokud máme adresář /home ve kterém se
nachází 20 GB dat, pak víme, že vytvoření
bezpečnostní zálohy bude trvat 10 minut.
Předpokládejme, že uživatelé v průběhu
těchto 10 minut na oddíle s /home vytvoří
nebo změní ne více než 200 MB dat. Tolik
místa proto musíme mít na dané skupině
svazků. Snapshot vytvoříme příkazem:
S
# lvcreate -L200M -s -n nase_zaloha
/dev/IDE_disky/domovské_adresáře
/mnt/backup/
Po skončení provádění záložní kopie
zadáme příkaz : lvremove -f /dev/IDE_
disky/nase_zaloha. Musíme však dávat
pozor na to, aby do této chvíle veškeré
změny na svazku nepřekročily velikost
snapshotu – v tomto příkladě 200 MB. Po
naplnění se stává neužitečným a stejně je
zapotřebí se chovat k datům z něj zkopírovaným.
Shrnutí
Využití RAID a LVM může velmi ulehčit práci správci a zvětšit bezpečnost a
výkonnost systému. Toto řešení někdy
způsobí, že některé obvykle jednoduché
činnosti (např. přenášení disku do jiného
počítače) se stávají velmi komplikovanými a ve chvíli, kdy již dojde k havárii
některého disku je získání dat z něj těžší.
Je nutné se vybavit patřičnými nástroji pro obnovu systému, které si budou
umět poradit se souborovými systémy
na těchto zařízeních, např. minidistribuce (R)ecovery (I)s (P)ossible Linux. Jinými
slovy, pokud vyřešíte jisté problémy,
často se objeví celá řada nových.
Na Internetu:
•
•
•
•
LVM HOWTO:
http://www.tldp.org/HOWTO/
LVM-HOWTO/
Softwarový RAID HOWTO:
http://www.tldp.org/HOWTO/
Software-RAID-HOWTO.html
Záchranná distribuce, mj. pro RAID
a LVM:
http://www.tux.org/pub/people/
kent-robotti/looplinux/rip/
Domovská stránka distribuce (R)ecovery (I)s (P)ossible Linux:
http://www.tux.org/pub/people/
kent-robotti/looplinux/rip/

Podobné dokumenty

Bezpečnost informačních systémů

Bezpečnost informačních systémů Vytvořit podrobné protokoly a doporučení METODOLOGIE 1. PŘÍPRAVA Dostatečně se připravit ještě před tím, než k incidentu dojde. Shromáždění nástrojů a postupů pomocí kterých budeme na incident reag...

Více

Instalační a uživatelský manuál pro Linux Mission 1.0

Instalační a uživatelský manuál pro Linux Mission 1.0 režimu. Pro instalaci v textovém režimu bychom zadali "linux text". Pokud bychom měli nějaký při instalaci nepostradatelný hardware, jehož ovladač není v Mission obsažen (např. netypický SCSI řadič...

Více

Praktické návody HOWTO Emacs pro začátečníky

Praktické návody HOWTO Emacs pro začátečníky Klávesy pro pohyb kurzoru (šipky) pracují, jak bychom mohli očekávat. To ovšem nemusí platit pro klávesu Backspace, ale to už je jiná povídačka. Základní příkazy Tak, a když už se umíme pohybovat v...

Více

Obsah - CPress

Obsah - CPress Jména a dokumentační řetězce ................................................................................................. 175 Rozbalení argumentů a parametrů .....................................

Více

Manuál

Manuál stejný formát digitálního zvuku jako na CD. Navíc,

Více

protokol - Správa CHKO Pálava

protokol - Správa CHKO Pálava obnovy, ale ta nebývá vždy úspěšná na všech místech. Lesní zákon na druhou stranu ukládá povinnost zalesnění a zajištění holin v zákonných termínech. V případě, že bude třeba zalesnit dílčí plochy ...

Více

openMagazin 3/2012

openMagazin 3/2012 hlavně chytrý. To je výhodná kombinace. Velký slovník aktivně používám od roku 2003 při každodenní práci a mohu potvrdit, že málokdy dojde k tomu, že musím hledaný termín googlit, protože jej Linge...

Více

WATTrouter M - uživatelská příručka

WATTrouter M - uživatelská příručka Regulátor i měřicí modul musí být umístěn v suché místnosti bez zvýšené prašnosti. Místo musí být chráněno před přímým slunečním zářením a okolní teplota se nesmí pohybovat mimo rozsah uvedený v ka...

Více