Linuxový softwarový RAID
16. června 2022Hardwarový RAID má mnoho výhod. Pokud však člověk neprovozujete velkou infrastrukturu a vyloženě nepotřebujě výhody HW RAIDu pro enterprise řešení, preferuji softwarový linuxový RAID zvaný mdadm, protože skýtá mnoho praktických výhod. Jaké výhody a jak mdadm používat popíši v tomto návodu.
Co je to RAID najdete na wikipedii. Já jen upozorním, že často si lidi pletou různé pojmy a dojmy, takže je dobré si přesné termíny nastudovat. RAID není zálohování. RAID se používá buď k spojení diskového prostoru nebo k zajištění větší dostupnosti služeb, případně k lepší mu výkonu. Některé základní desky se prodávání s RAIDem, ale reálně je to softwarový RAID + ovladač do Windows. Takový RAID se označuje jako fake RAID.
Který RAID použít? Obecně se používají tyto RAIDy: RAID 0, RAID 1, RAID 5, RAID 6, RAID 10. RAID 1 je nejtypičtější volbou díky redundanci dat, jednoduchosti použití a potřebě pouze jednoho disku navíc. Naopak RAID 0 je samostatně úplně nevhodnou volbou pro nasazení na serveru, protože se tím snižuje bezpečnost uchování dat. Jeho použití je vhodné pouze tam, kde jsme ochotni dopustit výpadek nebo přijít o data - tedy zálohujete data.
Video RAID
Slovní popis o tom co je a není RAID najdete v tomto videu:
Linuxový softwarový RAID
Linuxový softwarový RAID zvaný mdadm je řešení, které je na úrovni linuxového kernelu.
-
Jeho hlavní výhody:
- stabilita
- nezávislost na HW
- přehlednost
- možnost migrace mezi různými HW a linuxovými distribucemi
Mimochodem, pokud potřebujete RAID, můžete použít nejen mdadm ale i filesystém BTRFS nebo technologii LVM.
Rozdělení disku
Velikost oddílu je individuální dle potřeb. K rozdělení můžete použít nástroje: fdisk, cfdisk, parted nebo grafický gparted.
Jak rozdělit disky? Rozdělení disků klidně můžeme odvodit ze stávajícího systému, ale s ohledem na RAID, je možná vhodnější zvolit jen jeden velký oddíl přes celý disk. Důvod pro jedinou partition s RAIDem na každém disku je ve výkonu. Ovladač RAIDu se totiž snaží optimalizovat čtení z pole a čte buď z prvního disku který nic neprovádí nebo z disku od kterého naposledy požadoval přístup do nejbližší oblasti. (Situace je popisována pro RAID1) Protože poslední oblast přístupu je uložena v informacích o každém RAID poli, nebude se tento algoritmus při více polích na jednom disku chovat moc efektivně.
Vytvoření totožného rozložení na druhém disku můžete provést jednoduše tímto příkazem:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Vytvoření RAIDu
Vytvoření RAIDu 1 ze dvou disků
mdadm --create /dev/md1 l 1 -n 2 /dev/sda1 /dev/sdb2
Na tomto nově vytvořeném blokovém zařízení pak můžete vytvořil například filesystém JFS, zařízení připojit do adresářové struktury a začít ukládat data.
Vytvoření RAIDu 5, který má mít tři disky, ale zatím máme k dispozici jen dva:
mdadm --create /dev/md/data -l5 -n3 /dev/sdb3 /dev/sdd3 missing
Přidání disku
Přidání nepoužitého nového disku do RAIDu:
mdadm /dev/md0 --add /dev/sdc1
Odebrání disku
Disk může být označen jako vadný systémem nebo ho můžeme označit ručně:
mdadm /dev/md0 --fail /dev/sdc1
Odebrání vadného disku z RAIDu:
mdadm /dev/md0 --remove /dev/sdb1 /dev/sdc1
Pokud se disk odebere fyzicky ze serveru je potřeba ho stále z RAIDu odebrat i v systému. Protože jinak se po připojení k PC bude považovat stále za používaný.
Uložení konfigurace
Je dobré uložit konfiguraci všech RAIDů do konfiguračního souboru.
Můžeme pro-skenovat systém a výstup rovnou nechat dopsat na konec konfiguračního souboru:
mdadm --detail --scan >> /etc/mdadm/mdadm.confNebo stejný úkon udělat pro jedno konkretní diskové pole:
mdadm --detail /dev/md1 --brief >>/etc/mdadm.conf
Také je dobré mít zapnutou službu mdadm:
systemctl enable mdadm.service
Swap a RAID
Jak na swap a RAID?
-
Jsou dva přístupy:
- Nedávat swap na RAID
- Dát swap na RAID1
Umisťovat swap na softwarový RAID není vhodné kvůli možnosti deadlocku, který může nastat v případě, kdy bude systému docházet volná paměť. Mě osobně se to nikdy nestalo.
Pokud provozujete softwarový RAID 1 pro zajištění větší dostupnosti a swap na RAID1 nedáte, tak umření jednoho disku bude znamenat výpadek. Pokud bude swap na RAIDu 1 tak je to v pohodě.
Já provozuji swap na RAIDu1.
Kontrola stavu RAIDu
Seznam a podrobnosti o všech RAIDech můžete získat následujícím příkazem:
cat /proc/mdstat
Spuštění kontroly dat na RAIDu:
echo "check" > /sys/block/md1/md/sync_action
Příkaz pro spuštěni synchronizace RAIDu:
echo repair >/sys/block/md<#>/md/sync_action
Počet chyb je možno dohledat v tomto souboru příslušného RAIDu:
cat /sys/block/md*/md/mismatch_cnt
Pokud vám systém automaticky při startu nesloží diskové pole, například bootujete z nějakého záchranného CD, můžete ho ručně složit tímto příkazem:
mdadm --assemble --verbose /dev/md1 /dev/sdb1
Zastavení RAID pole:
mdadm --stop /dev/mdXi
Vymazaní informací o RAIDu z disku:
mdadm --zero-superblock /dev/XTento úkon udělejte pokud jste zrušily RAID na daném disku. Smaže to všechna metadata o RAIDu a systém už disk nebude považovat, že patří do nějakého RAIDu.
Pokud server migrujete na RAID je potřeba dát pozor, že máte aktualizovánu konfiguraci v zavaděči, souboru fstab a vygenerován nový initramfs, jinak se vám nepodaří úspěšně nabootovat.
Zavaděč
Nezapomeňte nastavit zavaděč (typicky GRUB) a zapsat ho na všechny disky. Jinak můžete mít problém s bootovaním serveru, pokud nikde nebude zavaděč.
Návod mdadm
Video návod jak vytvořil linuxový softwarový RAID1:
Další zdroje a témata
Další návody ohledně linuxových serverů najdete v ebooku.
Příště zpracuji informace ohledně Logical Volume Management.
Články na podobné téma
Provoz webové aplikace za proxy
Migrace mail schránek
Docker multistage build
Zálohování dat zapnutím počítače
Podman
Import Windows do virtualizace Proxmox
Docker a PHP mail
Virtualizace Proxmox
Docker a Cron
Lenovo ThinkPad X1 Carbon: zprovoznění LTE modemu EM7544
Yocto Project: Build vlastního operačního sytému pro embedded zařízení
Příprava linuxového serveru pro běh webové aplikace v jazyce Python
Jak řešit špatný výkon sdílených souborů u Dockeru
Jak začít správně používat Docker
Instalace Linuxu na dedikovaný server HPE ProLiant DL320e
Jak provést zátěžový test webové aplikace
Proč používat filesystém JFS
Jak bootovat z 4TB disku s GTP pomocí UEFI
Jak nainstalovat operační systém Magei Linux bez DVD mechaniky
Souborový systém Btrfs
Raspberry PI
Jak zprovoznit vzdálené přehrávání přes síť na televizi s DLNA
Upgrade Mandriva Linuxu za běhu
Poznámky ke GNU/Linux
WINE - spouštíme programy pro Windous pod Linuxem
Operační systém GNU/Linux
Odběr novinek
Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.
+