Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: locus 10 Listopadu 2011, 23:24:40
-
Zdravím,
mám dva servery na obou je Ubuntu server edition. Oba servery jsou jinde umístěný ale mají stejný obsah. Každý má jinou veřejnou adresu. Ale neustále se trápím s tím jak vyřešit DNS. Aktuálně mám dvě domény registrováné u domena.cz a já bych potřeboval aby ta doména třeba mojedomena.cz ukazoval na primární stroje A a tedy na ip adresu AAA.AAA.AAA.AAA a když dojde k tomu že stroj A je nedostupný tak aby ukazovala mojedomena.cz na stoj B tedy na ip adresu BBB.BBB.BBB.BBB.
Prosím Vás mohli by jste mě nasměrovat? Předem moc děkuji za reakci.
-
V tomhle je u DNS trošku problém. Drtivá většina DNS serverů funguje jako cache a proto je načtený záznam nějakou dobu považován za validní. Jak dlouho lze záznam používat nám říká TTL. Takže i když přehodíš IP při zjištění výpadku téměř hned tak je prostě nutný počkat nějakou dobu než se tahle informace dostane po síti až k uživatelům.
V DNS existuje technika které se říká Round Robin DNS. Zjednodušeně řečeno tvůj DNS server bude poskytovat rovnoměrně pro doménu mojedoma.cz dvě IP adresy. Díky tomu když klekne jeden server bude se furt 50% (teoreticky) požadavků dopraveno k fungujícímu stroji.
-
Ono u RR dost klientů funguje i tak, že pokud proběhne timeout na prvním předaném serveru, šáhne po druhém (třetím, čtvrtém,...) serveru z DNS poolu, takže je zde i určitá fault-tolerance.
PS: Pro RR povětšinou stačí u správce DNS (domena.cz?) nastavit pro dva (tři, čtyři, ...) stejné A záznamy různé IP.
-
Spíš hledám řešení typu že vše půjde na primární server tedy na ip adresu AAA.AAA.AAA.AAA. Jde oto že je to na rychlejší lince a stabilnější. Googlil jsem a našel jsem že někdo něco podobného řešil na VPS a to tak že si udělal jakoby vlastní dva DNS servery. http://www.abclinuxu.cz/poradna/linux/show/332149 (http://www.abclinuxu.cz/poradna/linux/show/332149)
Potřeboval bych aby to primírně šlo vždy na tu primární ip AAA.AAA.AAA.AAA a při nedostupnosti na druhou BBB.BBB.BBB.BBB.
-
Tak pak vytvořit klasicky dva NS servery, přičemž oba by odkazovaly sami na sebe (tj. nikoliv křížem) a jako ns1 dát právě ten AAA...
-
Tedy na těch dvou fyzických serverech nainstalovat na obou dvou BIND.
-
Mohl by jste mě prosím trošku nasměrovat?
-
Ano, na obou nainstalovat bind a používat je jako NS servery
-
BIND jsem nainstaloval na obou strojích. Těd spíš pátrám po konfiguraci.
-
Tak pak vytvorit klasicky dva NS servery, pricemz oba by odkazovaly sami na sebe (tj. nikoliv krízem) a jako ns1 dát práve ten AAA...
Prosim mohl by jste vysvetlit jak toto reseni funguje pri vypadku jednoho ze serveru? DekujiÄÄ
-
Tohle ale přeci není o DNS, to je o HA, přes DNS tohle nevyřešíte. Jak budete do do dns serveru střílet změny o stavu služeb nebo dostupnosti na serveru, jak přinutíte klienty a jejich resolvery aby si flushli dns cache a načetli si funkční IP. Použijte linux virtual ip, corosync, heartbeat. Taky můžet předřadit nějakou proxy, která bude opingávat jednotlivé nody a v případě výpadku upravý své zdroje.
Nějaké info:
http://www.linux-ha.org/doc/users-guide/users-guide.html
http://www.ctrip.ufl.edu/apache2-cluster-in-debian-lenny-howto
http://library.linode.com/linux-ha
-
Tak pak vytvorit klasicky dva NS servery, pricemz oba by odkazovaly sami na sebe (tj. nikoliv krízem) a jako ns1 dát práve ten AAA...
Prosim mohl by jste vysvetlit jak toto reseni funguje pri vypadku jednoho ze serveru? DekujiÄÄ
Koukám, že jsem vymyslel blbost :) Pro TTL by to dopadlo vlastně stejně - idea byla, že v případě nedostupnosti jedno NS serveru se dotáže klient (a tady je chyba, neb klient je až na konci větve) NS serveru druhého.
-
Naprosto excelentní návod na rozjetí HA je tady:
http://www.clusterlabs.org/wiki/Debian_Lenny_HowTo
..včetně ukázek, který server bude upřednostňován atd..moc dobré how to.
Zatím ale ještě nevím, jak do toho zakomponovat veřejné IP adresy, pač od každého providera dostanu jinou a ještě bádám, jak to sjednotit ...kdyby se to někomu podařilo, rád se přiučím..