Tento článek bude určen spíše pokročilejším uživatelům, kteří mají představu, jak se pracuje s terminálem. Nicméně i méně zkušení se mouhou něčemu přiučit, či se alespoň dozvědět o existenci něčeho, co by se mohlo v budoucnu hodit.
Na úvod by se slušelo zmínit, jaké možnosti nám raid poskytuje a k čemu rozhodně neslouží.
RAID 0
RAID 0 se většinou používá v režimu prokládání, kdy se soubor rozhazuje na více disků. Výsledkem je potom rychlejší čtení i zápis dat. Minimální počet zařízení, ze kterého lze sestavit RAID 0 je jeden HDD. Ovšem značnou nevýhodou je obnova dat z degradovaného pole (v případě RAID 0 naprosto nefunkční). Selhání byť jediného disku znamená okamžitou ztrátu dat. Viditelná velikost prostoru je stejná jako součet velikostí všech disků.
RAID 1
RAID 1 je naopak nejrobustnější ze všech variant raidu. Ale nic není zadarmo a tak se celková viditelná velikost rovná velikosti zrcadleného disku. Například RAID 1 na čtyřech 4TB discích zpřístupní k použítí pouze 4 TB. Pole může degradovat až na jediný funkční disk.
Ačkoliv by se mohlo zdát, že RAID 1 je vhodný k zálohování, není tomu tak. Pouze snižuje riziko ztráty dat zaviněnou závadou na jednom z disků, proto by disky neměly být ze stejné série, jinak mohou kleknout všechny najednou a o data stejně přijdeme. Stejně tak se mohou všechny disky odporoučet vinou přepětí. Správná záloha se provádí ideálně na jiný hodně vzdálený stroj.
RAID 5
RAID 5 se snaží kombinovat dobré vlastnosti obou výše zmíněných řešení. Z RAID 0 si bere distribuci dat na více disků a z RAID 1 možnost obnovy dat při selhání jednoho disku. Celková velikost je vždy o jeden disk menší. Neznamená to ale, že se kapacita jednoho disku někam ztrácí, jen je využita k zápisu paritních bloků, díky kterým lze data obnovit do původního stavu. Parita je stejně jako data rovnoměrně distribuována mezi všechny disky.
RAID 6
RAID 6 je ve svém principu stejný s pětkou. Narozdíl od ní počítá dva paritní bloky, každý jiným způsobem. Díky tomu mohou selhat až dva disky a data jsou stále obnovitelná. Daní za tento lucus je opět snížení celkové kapacity tentokrát o dva disky. K sestavení RAIDu 6 je potřeba minimálně čtyř disků.
Praktické sestavení raidu
Nyní již víme základní rysy běžně používaných polí a můžeme si svičně sestavit vlastní raid. POkud se o to pokoušíte poprvé, doporučuji testovat své počínání na Virtualboxu, kde nehrozí přepsání vašich dat.
Příprava virtuálního stroje
Ve Virtualboxu nejprve vytvoříme nový virtuální stroj kliknutím na nový.
Vyplníme název a typ OS.
Přidělíme adekvátní množství paměti.
Přidáme pevný disk.
V nastavení přidáme další disky, se kterými budeme testovat naše konfigurace.
Do virtuální mechaniky vložíme libovolné Live iso. Nyní můžeme testovací stroj spustit a přepnout se do terminálu.
Abychom se neusudovali, změníme uživatele na roota a zkoukneme dostupné disky:
Příkazy terminálu: |
---|
$sudo su |
#fdisk -l |
Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000Disk /dev/sda doesn’t contain a valid partition table Disk /dev/sdb: 8589 MB, 8589934592 bytes Disk /dev/sdb doesn’t contain a valid partition table Disk /dev/sdc: 8589 MB, 8589934592 bytes Disk /dev/sdc doesn’t contain a valid partition table Disk /dev/sdd: 8589 MB, 8589934592 bytes Disk /dev/sdd doesn’t contain a valid partition table |
Vidíme, že na virtuálních discích nejsou tabulky oddílů. Vytvoříme ji stiskem n a potvrzením. Další volby ponecháme na výchozích hodnotách (stisk enter). Typ oddílu změníme na fd (RAID) Na konec se vše zapíše na disk stiskem w.
Příkazy terminálu: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#fdisk /dev/sda | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x5e365133. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won’t be recoverable.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command (m for help): t
Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): w |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#sfdisk -d /dev/sda | sfdisk /dev/sdb | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#sfdisk -d /dev/sda | sfdisk /dev/sdc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#sfdisk -d /dev/sda | sfdisk /dev/sdd |
Tabulků oddílů rozkopírujeme na ostatní stejné disky příkazem sfdisk. Pak přichází na řadu tvorba raidu samotného. Příkazem mdadm –create /dev/md0 -l6 -n4 /dev/sd[abcd]1 se vytvoří RAID 6 na čtyřech oddílech, které jsou pak jmenovitě uvedeny na konci příkazu (sda1, sdb1, sdc1 a sdd1).
Překladem do srozumitelštiny: Mdadm, vytvoř zařízení /dev/md0 s raid (level) 6 a použij 4 oddíly /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Průběh synchronizace disků lze sledovat v souboru /proc/mdstat.
Příkazy terminálu: |
---|
#mdadm –create /dev/md0 -l6 -n4 /dev/sd[abcd]1 |
#watch -n 1 „cat /proc/mdstat“ |
Personalities : [raid6] [raid5] [raid4] md0 : active raid6 sdd1[3] sdc1[2] sdb1[1] sda1[0] 16765952 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] [====>…………….] resync = 24.4% (2049760/8382976) finish=0.8min speed=120574K/secPersonalities : [raid6] [raid5] [raid4] md0 : active raid6 sdd1[3] sdc1[2] sdb1[1] sda1[0] 16765952 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] unused devices: none |
Raid jako takový je hotový a můžeme ho připravit k použití vytvořením souborového systému a namountováním do adresářové struktury.
Příkazy terminálu: |
---|
#mkfs.ext4 -L testpartition /dev/md0 |
mke2fs 1.42.8 (20-Jun-2013) Filesystem label=testpartition OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 1048576 inodes, 4191488 blocks 209574 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 128 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
#mount /dev/md0 /mnt |
Tímto je naše snažení kompletní.
Slovníček pojmů
- degradované pole – pole obsahující vadný disk, pole s chybějícími disky
Škoda, že takovej pěknej článek vyšel zrovna na 1. dubna … :/
No tak jsi to napravil, že?