====== Multipathing (MPIO) ====== **Multipathing** (často označovaný jako **MPIO** – Multi-Path Input/Output) je technika odolnosti proti chybám a zvyšování výkonu, která umožňuje vytvořit více než jednu fyzickou cestu mezi procesorem serveru a úložným zařízením (typicky [[lun|LUNem]] na diskovém poli). V prostředí [[san|SAN]] (Fibre Channel nebo [[iscsi|iSCSI]]) je multipathing nezbytný pro eliminaci tzv. "Single Point of Failure" (jediného bodu selhání). ===== Problém bez Multipathingu ===== Pokud propojíte server s diskovým polem dvěma kabely bez aktivního multipathingu, nastanou dva problémy: 1. **Duplicita:** Operační systém uvidí stejný disk dvakrát (např. jako ''/dev/sdb'' a ''/dev/sdc''). Pokud byste se pokusili zapsat na oba současně, dojde k nevratnému poškození dat. 2. **Nespolehlivost:** Při selhání jedné cesty (např. vytažení kabelu) operační systém ztratí přístup k disku, přestože druhá cesta je stále funkční. ===== Jak Multipathing funguje? ===== Multipathingový software (ovladač v OS) funguje jako logická vrstva, která: * **Agreguje cesty:** Identifikuje, že různé fyzické cesty vedou ke stejnému [[wwn|WWN]] nebo [[iqn|IQN]]. * **Vytváří virtuální zařízení:** Místo několika cest ukáže systému pouze jeden virtuální disk (např. ''/dev/mapper/mpatha''). * **Sleduje zdraví:** Neustále testuje, zda jsou cesty aktivní. ===== Hlavní funkce a výhody ===== ==== 1. Failover (Odolnost proti chybám) ==== Pokud dojde k přerušení jedné cesty (porucha [[hba|HBA]], zlomený optický kabel, pád switche), provoz se okamžitě a automaticky přesměruje na záložní cestu bez přerušení práce aplikací. ==== 2. Load Balancing (Vyvažování zátěže) ==== Multipathing dokáže rozkládat datový provoz mezi všechny dostupné cesty současně, čímž výrazně zvyšuje celkovou propustnost (např. spojení dvou 10Gbps linek do jednoho 20Gbps kanálu). ==== 3. Agregace šířky pásma ==== Využívá se algoritmů jako: * **Round Robin:** Požadavky se střídají mezi všemi cestami. * **Least Queue Depth:** Data jdou cestou, která je aktuálně nejméně vytížená. ===== ALUA (Asymmetric Logical Unit Access) ===== Většina moderních diskových polí má dva řadiče (Controllery). **ALUA** je protokol, který umožňuje poli říct serveru, která cesta je "preferovaná" (optimalizovaná) a která je "záložní" (neoptimalizovaná). * **Active/Optimized:** Cesta přímo k řadiči, který momentálně LUN vlastní. * **Active/Non-optimized:** Cesta k druhému řadiči, který musí data interně předat kolegovi (pomalejší). ===== Implementace v systémech ===== * **Linux:** Používá se balíček **Device Mapper Multipath (DM-Multipath)**. Konfigurační soubor se nachází v ''/etc/multipath.conf''. * **Windows Server:** Funkce **MPIO**, kterou je nutné povolit ve správci serveru. * **VMware ESXi:** Má vlastní nativní multipathingový modul (NMP). ===== Srovnání: Multipathing vs. Bonding/Teaming ===== ^ Vlastnost ^ Síťový Bonding (LACP) ^ Multipathing (MPIO) ^ | **Vrstvy** | Vrstva 2 (Ethernet) | Vrstva 4+ (SCSI/Storage) | | **Konfigurace** | Vyžaduje podporu na switchi. | Switch o něm nemusí vědět (nezávislé cesty). | | **Účel** | Spojení síťových karet pro LAN. | Spojení úložných cest k disku. | --- **Související termíny:** [[san|SAN]], [[iscsi|iSCSI]], [[lun|LUN]], [[hba|HBA]], [[failover|Failover]].