Portál AbcLinuxu, 9. května 2024 06:14


Dotaz: Simple failover cluster - MAC adress duplicity

20.10.2018 10:34 pavele
Simple failover cluster - MAC adress duplicity
Přečteno: 444×
Odpovědět | Admin
Leta mi funguje dvounódový Simple failover cluster založený na ucarp.

Virtuální IP adresa má stejnou MAC jako IP adresa hostitele, což se mi nezdá dobré.

Řešení znám několik:

- upravit skript vytvářející virtuální IP adresu, aby k ní také vytvořil unikátní MAC

- pomocí arptables "zakrýt" IP adresu hostitele - např. při ssh VirtualIP se požadavek přesměruje z viditelné VirtalIP na "skrytou" IP hostitele

- nedělat nic, vše funguje. Podle některých zdrojů na internetu to nevadí. :-)

Program ucarp je původně vytvořen pro OpenBSD, kde se při vytvoření VirtualIP vytvoří unikátní MAC adresa.

Jak to řešíte vy?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 20.10.2018 11:42 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkoumal jsem v práci několik možností a nakonec jsem šel cestou Keepalived, který využívá VRRP.
Tzn. mám vyhrazenou jednu vlan pro komunikaci VRRP, mám definováno, že se má IP překlopit v případě, že koncová služba není dostupná (v mém případě nginx server).
Funguje to dobře a rychle. Mám takto řešen failover pro nginx proxy server.
Tzn. jedu active/pasive. Nicméně lze tím řešit i load balancer a jet active-active (=mít dvě IP, u jedné mít větší prioritu na node1, u druhé větší prioritu pro node2 a v rámci DNS řešit rozhazování provozu, v takovém případě je ale pořeba mít vyřešený sticky session). Já load balancer nepotřebuji, takže jedu active-pasive (mám to kvůli lepším možnostem údržby serverů a v případě pádu jedné lokality nemusím nikde nic ručně přepínat a druhá strana naběhne sama).
Další možností je toto řešit na úrovni corosync a pacemaker, ale to mí přijde pro tento účel naprosto zbytečné.
Když nad tím přemýšlím, tak si říkám, že když už to mám sepsané ve firemní wiki, mohl bych to trochu obalit a vydat jako článek (nginx a keepalived).
Zdar Max
Měl jsem sen ... :(
Max avatar 20.10.2018 11:49 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Jop, jinak ta virtuální IP, co se migruje mezi nody, se nastavuje jako druhá IP na primární interface konkrétního node. Tzn., že MAC je stejná jako primární IP toho node, což je podle mně ok.
Každý interface může mít více IP a není to problém, nevidím v tom nic špatného.
Zdar Max
Měl jsem sen ... :(
Max avatar 20.10.2018 11:57 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Jinak ucarp implementuje CARP protokol, Keepalived implementuje VRRP.
Oba se chovají podobně (aspoň, co jsem zběžně zkouknul). Rozdíl v tom asi tedy nebude moc velký, dočetl jsem se jen, že CARP není standardizován (od IANA, je to popsáno na wiki), kdežto VRRP je.
Zdar Max
Měl jsem sen ... :(
20.10.2018 13:29 pavele
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Díky za odpovědi.

Vyhradil jsem pro komunikaci s ucarp samostatnou síťovou kartu a tak jsou PC připojeny mezi sebou přímo přes kabel, bez switche - občas se stalo, že byl výpadek na switchi a PC na sebe neviděli, i když žádný z nich neměl výpadek.

O Keepalived jsem uvažoval, ale nakonec mi ucarp přišel jednodušší na nastavení.
Max avatar 20.10.2018 16:13 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Keepalived nastavení je fakt easy, má to jen pár řádků a to jest celé. Každopádně podle mně je jedno, zda používáš UCARP (=z BSD světa), nebo Keepalived. Obojí má dle všeho stejné fce a chová se podobně, né-li stejně a toto chování je podle mně naprosto ok.
Co mi ale přijde jako prasárna jsou řešení alá stejná IP i stejná MAC na dvou různých serverech najednou (např. NLB v režimu unicast od MS).
Zdar Max
Měl jsem sen ... :(
20.10.2018 14:05 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Odpovědět | | Sbalit | Link | Blokovat | Admin
Virtuální IP adresa má stejnou MAC jako IP adresa hostitele, což se mi nezdá dobré.

Proč?

20.10.2018 21:12 pavele
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Kvůli switchi, který spáruje IP adresu s MAC, takže musí měnit MAC tabulku při každé změně IP = zvýšení provozu. Ucarp v OpenBsd vytváří unikátní MAC adresu automaticky, v linuxové verzi ne.

20.10.2018 22:05 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Proč by L2 switch pároval IP a MAC adresu? Switch si udržuje FDB tabulku - MAC x Fyzický port.
21.10.2018 00:28 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Přesně tak. Sice je pravda, že v enterprise speaku se občas "switch" říká ledasčemu včetně čistokrevných routerů, ale i tak je to nesmysl. Jakékoli zařízení, které ta korespondence zajímá, prostě musí počítat s možností, že několika různým IP adresám odpovídá stejná MAC adresa.
21.10.2018 09:47 V.
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Noo switch hlavně zajímá vazba port - MAC adresa. Vazba MAC adresa - IP adresa zajímá tu funkci krabice, která mluví do "L3".
Výrobci prodávají různé rozšiřující karty pro krabice, takže pak switch může routovat nebo router switchovat.
21.10.2018 09:52 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Nie je to chovanie v dnešnej dobe kadejakých bondingov už trochu obsolete?
22.10.2018 09:11 Pepan
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Bonding je na switchi port...
22.10.2018 13:02 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Akurát že pri bondingoch jedna MAC lezie cez viacej portov, a na to som narážal.
22.10.2018 13:12 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Simple failover cluster - MAC adress duplicity
Ne nutně. Ale switchů, které s tím mají problém, už naštěstí tak moc není.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.