Sziasztok,
Abban szeretnék segítséget kérni hogy lenne egy webszerver költöztetés amit nem lehet egyszerre megoldani (200+ tárhely, plusz vannak akiknek a régi szerveren kell futniuk egy ideig kompatibilitási problémák miatt), tehát új névszerverek is játszanának a történetben (már csak azért is mert egy-két domainnél problémás a névszerver csere) és a dolog bonyolultsága miatt nem tudom hogy jól terveztem-e, írom ez elképzelésem:
A szerverek ns rekordjai glue rekorddal vannak onlinenic-nél az alábbiak szerint:
Régi szerver:
ns1.regiszerver.hu 1.1.1.1
ns2.regiszerver.hu 2.2.2.2
Új szerver:
ns1.ujszerver.hu 3.3.3.3
ns2.ujszerver.hu 4.4.4.4
Az összes domain névszervere:
ns1.regiszerver.hu
ns2.regiszerver.hu
- Akik mennek az új szerverre azoknál pár nappal a költöztetés előtt levenném a DNS-ükben a ns1.regiszerver.hu és ns2.regiszerver.hu valamint az A rekordok TLL értékék (itt sokan azt mondják hogy nem érdemes 20-30 percnél kisebbre állítani mert hogy más szerverek nem veszik figyelembe)
- Megtörténik a fájlok átmásolása
- Itt lenne az a rész normál esetben hogy átírásra kerülnek a domain névszerverei, mivel ez néhánynál nem lehet, azoknál a RÉGI szerveren a domainhez tartozó ns1 (1.1.1.1 > 3.3.3.3) és ns2 (2.2.2.2 > 4.4.4.4) illetve A (1.1.1.1 > 3.3.3.3) rekordot átírom az új szerverére (kérdés hogy a Let's encrypt tanúsítványok kiborulnak-e ettől?)
- Amikor megvan minden tárhely átmásolása (1-2 hónap) akkor a ns1.regiszerver.hu és ns2.regiszerver.hu IP-je átírásra kerül az új szerverére (3.3.3.3 és 4.4.4.4), és pár nap múlva lekapcsolásra kerül a régi szerver
Mi az amit rosszul gondolok?
Előre is köszönöm!
- 292 megtekintés
Hozzászólások
Miért nem tartod meg a névszerverek nevét/tartományát? Akkor nem kellene a kezelt tartományokban semmit csinálnod, csak a régi névszerverek tartományában (és magukon a régi névszervereken) kellene a glue rekordot és az NS-ek A rekordját módosítani. Ezt meg egymás után is lehet (átrakod az NS2-t az új helyre, címre, rekord változtatás, majd ha átfutott és jól működik, akkor költözhet át az NS1 is ugyan így).
Az ügyfél tartományoknál nem elég a nálad üzemelő névszerveren módosítani a rekordokat NS név csere esetén, hanem a regisztrátornak is utána kell menni az NS rekordok cseréjével. Ezért érdemes a névszerver nevét megtartani.
Na persze ha muszáj szabadulni a névtől, akkor ez nem jó megoldás, de egy sima költöztetésnél a név maradhatna. Aztán persze lehet egyszerűbb lenne a régi néven költöztetni mindent az új helyre (a fenti bekezdésem alapján), aztán ha minden működik, akkor mellé tenni új néven új névszervereket, és elkezdeni egyesével átrakni a tartományokat (mert ahhoz ugye mindegyikhez a regisztrátorok, így az ügyfelek közreműködése is kelleni fog, sokáig fog tartani - főleg az ügyfelek érdektelensége miatt).
- A hozzászóláshoz be kell jelentkezni
csak a régi névszerverek tartományában (és magukon a régi névszervereken) kellene a glue rekordot és az NS-ek A rekordját módosítani
Mondjuk erre nem is gondoltam (persze nem jó mert a régi névszervernek mindenképpen módosulni kell mivel az egy régi teszt nevű csak az előző kolléga úgy hagyta :S viszont egy másik problémám most oldottad meg egy másik szervernél, köszi :D )
Ezért érdemes a névszerver nevét megtartani.
Ezt így gondoltam ezért írnám csak át az IP cimeiket az újra az utolsó lépésnél amikor már a régi szerver lekapcsolásra kész
- A hozzászóláshoz be kell jelentkezni
Ha a névszerveren nevet váltasz (ergo másik tartománybeli névszervereket használsz a jövőben; a felsorolásból nekem ez jön le), akkor az IP csere nem tudom hol és hogyan valósul meg, és miért szükséges/hasznos.
Az ügyfél tartományban annyi van most, hogy
@ IN NS ns1.regiszerver.hu.
@ IN NS ns1.regiszerver.hu.
Az ügyfél tartományban sehol sem szerepel ezen névszerverek IP címe, sőt, a regisztrátornál is csupán ennyi van, ott sem szerepel ezen névszerverek címe. Pont ez a DNS lényege, hogy egy authoratív helyről jöjjön a névhez tartozó cím, így könnyű legyen a név mögötti címet változtatni. Így ezen szerverek IP címének a frissítése kizárólag a regiszerver.hu tartományban történik meg. Ha ezt kidobod, akkor az össszes zóna ami ezeke hivatkozik, azonnal működésképtelen lesz.
Ha a regiszerver.hu
tartomány megszűnik, mert helyette lesz az ujszerver.hu
tartomány a benne lévő ns1
és ns2
kiszolgálókkal, akkor az ügyfél tartomány NS rekordjai nem létező NS-ekre mutatnak majd. A régi zónában a névszerverek IP cseréje után a TTL lejártával nem frissül a névszerverek _neve_ sehol, a regisztrátornál meg csak a regiszerver.hu
tartományban tartozik IP cím az ns1.regiszerver.hu
és ns2.regiszerver.hu
kiszolgálókhoz (és persze ezen zónát kiszolgáló authoratív szervereken, de ugye azt tervezed átírni, a regisztrátornak meg szólni kell, Ő is írja át ugyan azt).
Viszont ha az ügyféltartományt úgy módosítod az új szerverre költözve, hogy abban a következő lesz:
@ IN NS ns1.ujszerver.hu.
@ IN NS ns2.ujszerver.hu.
Akkor nem lesz jó, mert az NS rekordok nem fognak egyezni a regisztrátor által bejegyzett NS rekordokkal, és a sima rekurzív névfeloldás a regisztrátor által bejegyzett rekordok szerint "kezdődik" (TLD szinten), majd ha az jó helyre mutat, akkor az ott jelzett authoratív szerveren folytatódik. Namost a regisztrátornál az ns1.regiszerver.hu
és ns2.regiszerver.hu
nevek szerepelnek az NS rekordokban továbbra is, amik így nem létező tartomány nem létező gépére fognak mutatni. Ezt csak a regisztrátor tudja változtatni, erre írtam, hogy ehhez meg kell az ügyfél közreműködése minden egyes ügyfél tartománynál, amin általában megakad a dolog.
Ezért írtam, hogy praktikus megtartani a jelenlegi névszerverek tartományát és nevét. A költözés lezongorázása után pedig nagy levegő, elszánás, stb. után el lehet kezdeni párhuzamosan felépíteni az új tartományt az új névszerverekkel, és átköltöztetni a zónákat egyesével, lezongorázva a szükséges változtatásokat tartományonként a regisztrátornál.
- A hozzászóláshoz be kell jelentkezni
Bocsánat, én ennél: "IP cimeiket az újra", a glue record "A" recordjára értettem, mert persze ha a névszervereket csesztetném az elég kontraproduktív lenne ahogy fent részletezted.
Szóval hogy ne legyek félreérthető a régi névszervereknek maradniuk kell, csak az A rekordjuk módosulnának az újra (1.1.1.1 > 3.3.3.3 és 2.2.2.2 > 4.4.4.4) ez is csak a legvégén amikor már minden átment és lekapcsolható a régi szerver, na és ezután jönne az a rész amit írtál hogy átírni a névszervereket a regisztrátoroknál.
- A hozzászóláshoz be kell jelentkezni
Az úgy teljesen jó. Ha marad az ns1.regiszerver.hu és ns2.regiszerver.hu név, akkor csak a regiszerver.hu zónában és a regisztrátornál a glue record-ban kell IP címet cserélni.
Erre javasoltam azt, hogy menjen egyszerre a két helyen mindkét ns szerver (a régi és az új címeken egyaránt), és elsőre az egyiknek kell a címét lecserélni mindenhol (régi és új szerverek mindegyikén, regisztrátor glue record), majd ha az átfutott mindenhol (akár egy hét az alábbiak alapján), utána a másiknak az IP változását átvezetni ugyan így. Ha mindkettő mindenhol az új NS címekre mutat, akkor már bátran lekapcsolhatod a régi helyen a két NS szervert.
- A hozzászóláshoz be kell jelentkezni
Az egy hét az a biztonságos DNS elterjedés miatt van? Csak mert ahogy néztem az legdurvább TTL is 48 órára van állítva.
- A hozzászóláshoz be kell jelentkezni
Szerintem a cím megtévesztő: igazából nem azzal van a gondod, hogy a webszervert akarod költöztetni, hanem azzal, hogy a webszerverhez regisztrált minden egyes domain-t saját DNS-sel szolgáltatsz, ha jól sejtem, arról a gépről, amelyik a webszervert is adja és így nem elég a weboldalakat átvinni, hanem a DNS szolgáltatást is át kell vinni mindenenestől.
Egyfelől meggondolnám, hogy regisztráljak egy domain-t csak a DNS-nek valami általános néven, majd az összes többi zona névszerverének ezt adnám meg - így az előbbi problémát viszonylag könnyen lehetne orvosolni. (A DNS migrálást nem úsznád meg - de egy NS migrálása elég lenne...)
Másfelől a két feladatot egymástól függetlenül oldanám meg: attól, hogy az adott domaint már az új gépen futó webszrever szolgálja ki, attól még a DNS-e futhat a régin. Ennek megfelelően én a következő lépésekre bontanám a dolgot:
- weboldal migráció
- CNAME/A rekord TTL lecsökkent a minimumra (1-5 perc), legalább az eredeti TTL szerinti érvényességi idővel korábban (hogy legyen ideje a magas TTL-nek kifutni)
- régi szerver leáll
- A rekord módosul az új IP-re
- web tartalom átmigrálása
- új gépen webszerver indul, viszi a szolgáltatást
- DNS migráció
- az NS-hez tartozó A rekord TTL-t hasonló módon lecsökkenteném,
- új DNS kialakít az új helyen
- zóna átemel,
- új helyen az NS-hez tartozó A rekord IP címe lejavít
- regisztrátorral a módosítást leboxolja
- átregisztrálás után régi gépen az átvitt zona szolgáltatása leáll
Megjegyzések:
- a sorrend nem feltétlenül ez
- a webszerver leáll sem feltétlenül jelenti azt, hogy az összes weboldal szolgáltatása leáll, inkább hogy konfig módosul, hogy a migrálódó oldalt nem szolgáltatja, restart a konfig érvényre juttatásához és annyi
- a secondary DNS konfigba is bele kell nyúlin, hogy honnan húzza az eredeti zónát
- A hozzászóláshoz be kell jelentkezni
Szerintem a cím megtévesztő
Igen, most hogy így felhívtad a figyelmem szépítettem rajta :)
Egyfelől...
De ez nem ugyanaz mint amit írtam hogy lenne a ns1.ujszerver.hu (3.3.3.3) és ns2.ujszerver.hu (4.4.4.4), lényegében ha átállítom a régieket (1.1.1.1 > 3.3.3.3 és 2.2.2.2 > 4.4.4.4) nem ugyanez az eredmény lesz?
Másfelől...
1-5 perc az okés? Az urbán legenda hogy vannak olyan szerverek amik nem veszik figyelembe az ilyen kis idővel rendelkező TTL-eket?
(na itt lett volna még egy csomó kérdésem erre látom hogy a megjegyzésekben pont ezeket teszed helyre :D )
- A hozzászóláshoz be kell jelentkezni
De ez nem ugyanaz mint amit írtam hogy lenne a ns1.ujszerver.hu (3.3.3.3) és ns2.ujszerver.hu (4.4.4.4), lényegében ha átállítom a régieket (1.1.1.1 > 3.3.3.3 és 2.2.2.2 > 4.4.4.4) nem ugyanez az eredmény lesz?
Nem, mert a DNS-ben a névszerverekre _névvel_ hivatkozunk mindenhol, és ehhez a névhez csak az authoratív zónában (saját honos zónája) van IP cím rendelve.
1-5 perc az okés? Az urbán legenda hogy vannak olyan szerverek amik nem veszik figyelembe az ilyen kis idővel rendelkező TTL-eket?
Szolgáltatói névszerverek (amiket az előfizetők túlnyomó része használ...) van, hogy napos vagy hetes min-cache-TTL értékkel üzemelnek... Volt pont itt másik topicban, hogy a Digi névszerverein egy hét alatt futott át a 300 másodperces TTL-ű rekord módosítása...
- A hozzászóláshoz be kell jelentkezni
_névvel_ hivatkozunk mindenhol
Komoly fogalmazási hibáim vannak úgy veszem észre :) Szóval itt is a glue record A recordjára gondoltam
- A hozzászóláshoz be kell jelentkezni
Első kanyarban azt lenne célszerű pontosítani, hogy az ns1.ujszerver.hu és az ns1.regiszerver.hu valójában mindkét esetben ns1.endomainem1.hu, ns1.endomainem2.hu, ...
Tehát a névvel csak arra akarsz utalni, hogy másik DNS szerver, de egyébként ugyanazt a zónát szolgáltatja, ha jól gondolom. Nyilván ha ez az eset áll fenn és a zónát jól migráltad, akkor tök mindegy, hogy még a régi DNS oldja fel a nevet ugyanarra az IP-re, amelyikre az új feloldaná. Ezért mondtam, hogy a webszerver és a DNS szolgáltatás migrálása külön választható.
Hogy ki mennyit állít be default TTL-nek és igazából mi mikor fog frissülni, az egy külön tészta. Vegyük a következő teoretikus esetet. Legyen a vala.mi.csoda.org A rekordja a 127.0.0.1 és a TTL legyen egy óra. Át akarunk állni egy valós IP-re, mondjuk az 1.2.3.4-re. Kérdés: mikor lesz biztosan az új cím a kliensnél? Tegyük fel, hogy a DNS-ek figyelembe veszik a rekordhoz tartozó TTL értéket. Nos a gubanc ott van, hogy a szolgáltató hajlamos DNS cache-t használni. Tehát amikor DNS1 lekérdezi az authoritative névszervertől a rekordot, akkor azt egy órán át még nyugodtan szolgáltathatja. Ha 5 perccel később módosul az A rekord, akkor DNS1 még 55 percig a régi IP címet szolgáltatja. Ne legyen szerencséd, a céges hálóban is van DNS és az is cachel. A változás után 50 perccel ez - szerencsétlen módon - a DNS1-től kéri le a vala,mi,csoda.org IP-jét, ahol viszont a TTL még nem telt le. Kérdés: a DNS2 meddig fogja szolgáltatni a régi IP címet? Gyakorlatilag addig, amíg nála le nem jár. Ez persze kivédhető, ha a DNS1 módosítja a TTL értéket az eltelt idővel, azaz 5 percet mond rá, mert addig érvényes már csak nála - de ezt sajnos nem tudom, hogy így van-e... Ha nincs így, akkor minden egyes útban lévő cacheing DNS tovább nyújtja a változás észlelési időt, ha így van, akkro is a minimum a TTL duplája, amivel számolni kell.
Ugyanakkor egy dyndns szolgáltató is alacsony TTL értékkel dolgozik - pont azért, mert a rekord bármikor változhat és jó eséllyel változik is. De előre nem tudható, hogy mikor.
A probléma tehát az, hogy az összes DNS TTL lejárati idejét nem fogjuk tudni kivárni - ezzel a problémával sajnos együtt kell éli.
Igazából a probléma ugyan valós - de van orvosság is rá. Hasonló problémával korábban már futottam össze én is. A megoldás a következő volt:
- A rekord átír
- webtartalom átmigrál
- a webtartalmat már az új webszerver szolgáltatja
- a régi webszerver is szolgáltatja az oldalt, de a helyi kiszolgálás helyett proxy módban gurul, így a kérést tovább passzolja az oldalt ténylegesen kiszolgáló webszervernek, a választ meg visszaadja, mintha ő szolgáltatná az adatokat.
- Ha az alkalmazás igényli, akkor ilyen esetekben hasznos lehet a headert bővíteni proxyed for és hasonló extra sorokkal..
Igazából viszont az eredeti kérdésem is nyitva van: miért generálsz minden domainhez önálló DNS-t és DNS szerver bejegyzést? Egy DNS több zónát is szolgáltathat.
Példa:
- a komplett othello.eu oldalt az ns[1|2].desdemona.org szolgálja ki,
- aki böngészget , az mindig az othello.eu-t fogaj emlegetni,
- az, hogy a háttérben a névfeloldás kapcsán mi történik, azt nem fogja látni, tehát előtte rejtve maradnak az alábbi kérdések:
- rootDNS-ektől: kik szolgáltatják a hu TLD-t?
- az előbbi lista valamely DNS-től azt firtatjáu, hogy ki illetékes az othello.eu zóna tekintetében
- a válasz az hogy az ns1.desdemona.org és ns2.desdemona.org
- most valamely desdemona-s NS kapja meg a kérdést, hogy mit tud mondani az othello.eu illetve www.othello.eu kapcsán: A rekord, AAAA rekord, CNAME, valami...
- ebben a listában az egyszerűség kedvéért nem szerepel az, hogy minden egyes NS lekérdezés után megy egy A rekord lekérdezés is, hogy meglegyen az NS A rekordja. Itt az A rekord a "szülőDNS-be" felvett glue rekord lesz!
- de ez mind-mind a háttérben történik, tehát a kliens előtt ülő nagyon nem fogja látni, hogy a végén melyik DNS is oldotta fel az általa kért nevet.
Tehát ha közös a DNS, akkor így valójában csak egyetlen DNS szervert kell elmigrálnod és a többi megy vele. (Illetve ha te adod valahol máshol a másodlagosat és azt is arrább tolod, akkor azt is. De az élvezetek fokozhatóak: egy zónát minimum 2 DNS-sel kell szolgáltatni, de maximum nem adott, lehet több másodlagos DNS-ed is. :-D)
- A hozzászóláshoz be kell jelentkezni