Portál AbcLinuxu, 4. prosince 2025 07:47
A pak ještě jeden zádrhel. Pokud máte jeden server dvěma fousy do nějaké LANky, na obou rozhraních dvě různé IPv4 adresy ze stejného subnetu, tak to není odolné proti některým druhům výpadků. Stručně řečeno, default route bude ukazovat klidně do rozhraní, které zrovna uhnilo. Windows tuším aspoň reagují na ztrátu místního Eth linku, Linux ani to ne. V tom případě Vás budou zajímat témata jako různé varianty bondingu/teamingu ve vrstvě L2, nebo zmíněný soft-bridge na serveru. Taky se to dá řešit zřízením dvou L3 subnetů na téže L2 síti - ale pak musíte mít zajištěnu redundanci v rámci aplikace...
Pokud je to pro Vás takto příliš obecně popsáno, buďte taky konkrétnější - pošlete obrázek, popište služby, které chcete redundancí ošetřit. STP je jenom jeden z mnoha nástrojů pro "redundanci" - řeší vybrané specifické problémy. Jsou i jiné nástroje - pro jiné účely, s jinými záludnostmi
to zdvojené připojení do internetu jste moc nerozvedl. Dá se to zapojit několika způsoby, s různou mírou složitosti a redundance... to budete mít ke dvěma providerům? Nebo k jednomu providerovi dvěma linkami? Tu dvojitou konektivitu budete routovat nebo switchovat? atd.
Každopádně bych řekl, že pokud v té LANce má být STP, tak by ty dva switche měly být navzájem propojené nějakým lokálním páteřním spojem. A těm timeoutům se nevyhnete. Počítejte se standardním STP - v levných switchích zatím RSTP není moc k vidění a v Linuxu podkud vím taky zatím nebyl softwarově implemntován.
Popravdě řečeno, já se stavbou takových redundantních sítí neživím. Před pár lety v předchozím zaměstnání jsem prodělal pár školení, ale nakonec mě živí něco jiného a jsem popravdě docela rád, že ty redundantní šílenosti nemusím řešit. Řekněme že z principu není einfach zařídit, aby se dva stroje tvářily jako jeden - ať už se jedná o server s nějakými službami, nebo třeba router ven do internetu. Redundance na úrovni Ethernetu je ještě relativně hračka.
S tím soft-bridgingem je to takový teoretický nápad. Nejsem si jist, jaký to má reálně vliv na průchodnost. V podstatě si uvnitř serveru vytvoříte virtuální switch, do kterého jsou zapíchnuté dva metalické kabely z té Vaší fyzické dvojhvězdy, a jako třetí fous do toho virtuálního switche kouká virtuální IP interfejs z hostitelského Linuxu (síťové rozhraní si pojmenujete jak chcete, třeba br0). Zkuste googlit okolo příkazu brctl . Viz též
http://www.faqs.org/docs/Linux-HOWTO/BRIDGE-STP-HOWTO.html
Věřím tomu, že v Linuxu na rozdíl od Windows ten bridge bude fungovat, jak má. Ve Windows na úrovni W2k3/XP mám zkušenost, že jejich nativní soft-bridge nefunguje pro toto použití správně. Konkrétně virtuální interfejs v OS si vezme MAC adresu z jednoho fyzického portu, a když pak nějaký link uhnije, což i korektně detekuje STP, tak to nějakým způsobem přestává fungovat (už si nepamatuju podrobnosti). Kdyžtak si to ověřte po svém... On ten Windowsí bridge je totiž primárně určen pro připojení nějakého druhého počítače "sdílenou" linkou do internetu, takže ten bridge je v jistém ohledu "asymetrický", za určitých okolností má tendenci překládat MAC adresu apod. Hlavně se z něj nedá vyrazit solidní debug, co vlastně přesně dělá, a nedá se nijak managovat.
Nějaký failover se dá taky zařídit přes zmíněný "teaming" (Intel/Windows) resp. "bonding" (Linux). Je toho několik druhů/režimů, některé vyžadují spolupráci switche (ten switch to musí umět).
http://www.cyberciti.biz/howto/question/static/linux-ethernet-bonding-driver-howto.php
http://www.intel.com/support/network/sb/cs-009747.htm
Pokud jde o to, aby na dvou strojích fungoval navzájem failover IP a MAC adresy, na to jsou protokoly Cisco HSRP a otevřený VRRP. Dají se s tím postavit například redundantní routery pro připojení ven do internetu.
http://www.cisco.com/en/US/docs/internetworking/case/studies/cs009.html
http://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol
Pokud jde o servery, tak tímhle ještě nemáte zajištěno, aby služby poskytoval pokud možno jenom ten, který je zrovna aktivní. K tomu je smečka dalších protokolů / mechanismů / démonů, a to pěkně divoká, různé služby je třeba specificky ošetřit apod. Zkuste googlit třeba heartbeat a DRBD, ale je toho víc.
Některé služby umí automatický failover na zálohu - třeba DNS nebo SMTP. Mechanismus fungování s tím počítá a služba může běžet beztrestně na více serverech najednou.
Jiné služby se dají rozložit mezi více serverů tím, že před ně postavíte "content switch" (vlastně firewall se zdivočelým NATem a kontrolou dostupnosti cílových serverů). Typicky HTTP.
A do toho nedávno přišla "virtualizace" = víc instancí OS na jediném fyzickém počítači...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.