Upozornění: v tomto cvičení nepoužívejte virtuální počítač FC4, ale RaidFC4. V něm jsou navíc definovány dva 100MB disky /dev/hdb a /dev/hdd, které lze volně použít k experimentování.
Diskový subsystém
Pevný disk, jako základní periferie určená k ukládání dat, je v UNIXových
systémech reprezentován speciálním souborem - blokovým zařízením. Jméno
tohoto souboru se používá rovněž k označení celého disku. Konkrétně v Linuxu
na platformě PC/x86 se sběrnicí ATAPI/IDE se primary master disk jmenuje
/dev/hda, primary slave /dev/hdb, secondary master
/dev/hdc a secondary slave /dev/hdd. Všechna tato jména
jsou ve skutečnosti jména speciálních souborů. Speciální soubor je odkazem
na datové struktury jádra, resp. na ovladač, který s diskem komunikuje.
Při čtení (či zápisu) ze speciálního souboru jsou čteny (zapisovány) přímo
jednotlivé sektory z disku.
Příklady:
Vytvoření zálohy MBR (master boot record): dd if=/dev/hda of=zaloha
bs=512 count=1
Opravdové smazání dat s jistotou, že nejdou obnovit: dd if=/dev/zero
of=/dev/hda
Duplikování disku: dd if=/dev/hdc of=/dev/hdd
Tabulka rozdělení disku
Disk lze rozdělit na pevně určené části, které se mohou používat samostatně.
Říkáme jim logické disky, partitions či slices. Architektura PC dovoluje
disk rozdělit až na 4 primary partition. Pokud tento počet nestačí, můžeme
jednu z těchto čtyř primary partition označit jako typ Extended
uvnitř které pak lze vytvářet mnoho logických disků, jejichž počet je
omezen jen kapacitou disku.
Aktuální rozdělení disku zjistíme programem fdisk:
fdisk -l /dev/hda
Rozdělení disku lze změnit interaktivně také programem fdisk:
fdisk /dev/hdb
Primary partition disku /dev/hda se nazývají
/dev/hda1,/dev/hda2,/dev/hda3 a
/dev/hda4. Logické disky uvnitř extended partition dostávají
pořadové číslo počínaje 5.
Úkol 1:Zjistěte aktuální rozdělení všech vašich disků.
Úkol 2:Na disku /dev/hdd vytvořte dvě primary a jednu extended partition. Uvnitř extended partition vytvořte 1 logický disk.
Volume manager
Volume manager dovoluje kombinovat kapacitu jednoho či více disků (nebo
partitions) za účelem vytvoření jiného virtuálního (logického) disku, který
bývá větší, rychlejší či spolehlivější v závislosti na použité konfiguraci.
Základním nástrojem pro správu svazků (volume management) je program
mdadm. Umí kombinovat kapacitu fyzických disků či partitions za
vzniku tzv. metadevice (=logický disk). Aby md driver po rebootu
zjistil, jakým způsobem byly fyzické disky sestaveny, potřebuje uložit
svou konfiguraci, ale tak, aby ji mohl přečíst ještě před inicializací
systému souborů (proč asi?). K tomu využívá vlastních superbloků,
které ukládá vždy na konec oblasti fyzického disku, který je použit k
vytvoření logického disku. K ukládání dat pak slouží oblast o něco kratší.
Např. logický disk /dev/md1 vytvoříme sloučením kapacity partition
/dev/hdb1 a /dev/hdb2 příkazem:
mdadm -C /dev/md1 -l linear -n 2 /dev/hdb1 /dev/hdb2
Příkazem mdadm -D /dev/md1
zjistíme detaily o vytvořeném
logickém disku.
Příkazem mdadm --stop /dev/md1
logický disk zpět
dekonfiguruje.
Superblok přidávaný na konec fyzické oblasti zmenšuje prostor na uložení dat. Logický disk vytvořený triviálně z jediného fyzického disku je o něco menší. Pokud z nějakého důvodu nechceme superblok ukládat, použijeme místo režimu -C --create režim -B --build. Ani v tomto případě však nemusí být velikost logického disku shodná s velikostí fyzické oblasti. Délka logického disku je vždy zaokrouhlena dolů na celistvé násobky chunk faktoru. Režim -A --assembly je užitečný pouze ke znovusestavení jednou již zinicializovaných disků, které se po rebootu z nějakých důvodů nesestavily samy. My budeme používat výhradně -C --create režim vytváření.
Po vytvoření logického disku (/dev/md1) na něm můžete vytvořit
filesystém příkazem
mke2fs /dev/md1
a zpřístupnit ho do nově
vytvořeného adresáře /data takto:
mkdir /data
mount /dev/md1 /data
Úkol 3:Vytvořte programem fdisk na diskách /dev/hdb a /dev/hdd několik primary partition. Pak spojte 3 partition do jediného logického disku (tj. režim linear). Vytvořte na virtuálním disku systém souborů (program mke2fs).
Úkol 4:Zrušte předchozí logický disk. Tentokrát vytvořte RAID1 konfiguraci dvou partition ze dvou různých disků. Opět vytvořte systém souborů. Porovnejte velikost výsledného disku. Porovnejte obsahy obou fyzických částí příkazem cmp nebo diff.