abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 4
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 27
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: PgSQL streaming replication, změna master serveru bez změn na slave

    24.2.2014 13:10 trekker.dk | skóre: 72
    PgSQL streaming replication, změna master serveru bez změn na slave
    Přečteno: 619×
    Zdravím.

    Řekněme, že mám 3 (a více) serverů s PostgreSQL, jeden z nich je master, ostatní jsou repliky a stahují si data pomocí streaming replication. Master server má IP (například) 10.0.0.1, první slave server má 10.0.0.2, druhý má 10.0.0.3 atd. Master PostgreSQL má v nastavení listen_address = 10.0.0.1, slave servery tam mají každý svoji IP adresu.

    Protože těch slave serverů bude hodně, mají v recovery.conf nastaveno primary_conninfo = 'host=10.10.10.10 ...'. Tato adresa je manuálně přiřazena master serveru jako sekundární IP. Není v listen_address, proto má master v NAT tabulce toto pravidlo:
    iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.10.10.10 --dport 5432 -j DNAT --to-destination 10.0.0.1
    Slave stroje mají odpovídající pravidlo s vlastní cílovou IP adresou.

    Cílem je, když master spadne nebo je potřeba ho na delší dobu odstavit, aby bylo možné jednoduše některý slave přepnout do režimu master a stroji, na kterém to běží, přidat tu adresu 10.10.10.10. Ostatní slave stroje by se pak připojily na nový master a braly si data z něj.

    Tohle mám vyzkoušené a funguje to. Zajímalo by mě ale, jestli ten postup nemá nějaký zádrhel, kvůli kterému by mohlo dojít ke ztrátě dat nebo tichému poškození DB. Jenom pro úplnost - stav, kdy slave zjistí, že něco v nepořádku a odmítne v replikaci pokračovat, mi nevadí - to zjistím z logu. Chci se vyhnout situaci, kdy se bude slave po změně master serveru tvářit, že je všechno v pořádku, a na chyby v datech se přijde, až když se je pokusím použít.
    Quando omni flunkus moritati

    Odpovědi

    24.2.2014 19:45 NN
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Ma toto reseni nejake vyhody oproti reseni HA s multiple standby servery podle dokumentace?
    25.2.2014 12:50 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Že nemusím řešit přenášení logů, protože to Postgres řeší sám a (téměř) v reálném čase? Krom toho je to dělané podle dokumentace o bod níž
    Quando omni flunkus moritati
    25.2.2014 13:12 NN
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Dobre, nicmene jsem to pochopil tak, ze mam reseni se serii standby serveru, na ktere to prepadava automaticky, bez carovani s jednou IP adresou a bez presmerovani. NEdalo by se to zkombinovat?
    25.2.2014 14:30 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    V sérii, jak je popsáno v bodu 25.2.6 té dokumentace? Ne, tak to není, ve standardní situaci je jeden master a všechny slave stroje se připojují na něj. (A klienti, kteří nepotřebují přístup pro zápis, se zase připojují na ty slave stroje.)

    V případě výpadku toho master serveru chci udělat to, že vyberu jeden slave stroj a změním ho na master. Ostatní slave stroje v tu chvíli už budou vědět, že ztratily spojení*, a budou se ho pokoušet navázat znova. Pak novému master stroji dám tu sdílenou IP adresu (+ DNAT pravidlo, které ji přeloží na adresu, na které ten Postgres naslouchá), slave stroje navážou spojení a pokračují v replikaci.

    Tohle uspořádání má za cíl zajistit, aby se výpadek master serveru dotknul co nejmenšího počtu klientů. Když vypadne master server, s DB nemohou pracovat jenom ti klienti, kteří jej používali přímo. Povýšení slave na master lze udělat bez výpadku. DNAT pravidlo v netfilteru Postgresu umožní naslouchat na nové IP adrese, i když není v listen_address, tzn. odpadá restart databáze. A odpadá nutnost měnit v konfiguraci všech slave strojů IP adresu master serveru.

    Moje otázka je, jestli slave stroje nějak poznají, že jim (například) chybí nějaká data. Obecně jestli rozpoznají, že nemůžou replikovat z nového master stroje, protože by tím došlo ke ztrátě dat

    * a i kdyby ne, od nového masteru dostanou TCP-RST
    Quando omni flunkus moritati
    25.2.2014 17:40 NN
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    25.2.2014 22:13 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Zajímavá možná, ale...
    PostgreSQL itself supplies no tools to do this, but numerous third-party utilities such as "Linux heartbeat" are compatible with PostgreSQL replication.

    Zajímalo by mě, jak je ten článek starý, protože Heartbeat už nějakou dobu slouží pouze pro správu klientů clusteru, ne služeb v něm. Ale OK, to je možná jenom zjednodušení. Každopádně na webu o Heartbeatu zmiňují Corosync a když jsem hledal naposledy, ten žádnou podporu pro PostgreSQL neměl. Našel jsem vlákno v nějaké mailové konferenci, kde se někdo pokoušel takového agenta vytvořit, ale narazil na to, že replikace PgSQL se nedá naroubovat na stavy služby tak, jak je zná Corosync (zastavená -> spustit -> běží -> povýšit -> master). Je to logické, DB je možné změnit ze slave na master za běhu, ale zpátky už ne (pokud to vůbec jde)

    Tahle diskuze každopádně odbočuje od tématu.
    Quando omni flunkus moritati
    25.2.2014 22:47 NN
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Nemuzu si pomoct, ale zadne mutliple stanby reseni jsem proste nenasel a veta na konci nazacuje, ze nic konkretniho k dispozici neni a kazdy si to resi po svem. Jedina zminka je reseni streming replication failover pomoci trigger file. Jelikoz postres neprovozuji, nemuz jit do podrobnosti, howgh.
    28.2.2014 00:15 smoco
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave

    Ahoj

    ked ho prepnes do modu master nemusi mat najaktualnejsie data, to moze byt jediny problem. Pokial by si pouzil synchronu replikaciu tak aj data budu aktualne. Ked sa replike nebude nieco pacit urcite to uvidis v logoch ale odporucam nejaky monitoring si zriadit ja napriklad pouzivam toto http://bucardo.org/check_postgres/check_postgres.pl.html pre nagios (inak uplna spokojnost jeden master asi 10 replik po celom svete a krasne monitoruje len zo zaciatku musis vhodnu deltu najst).

    Ale ine som chcel - da sa spravit HA cluster Master/Slave zalozeny na corosyncu/peacemakerovy a agentovy tak aby ti v pripade vypadku prepol slave na master. K tomu si v zadefinujes aj prepinanie ip medzi nodmi a je to. Mame to nasadene u zakaznika a funguje to asi skvele (uz sa neozval 5 mesiacov). Je to na debiane 7, verzia postgresu 9.2, viem ze kolega musel nejake veci v tom agentovy upravit lebo to nebolo kompatibilne s debianom(myslim ale ze s rhel a pod nebude problem - rpoblem bol v starej verzii corosyncu). Tu je nejaky link inak odporucam do googlu dat "corosync postgres replication" a prejst tie linky

    http://clusterlabs.org/wiki/PgSQL_Replicated_Cluster
    28.2.2014 10:25 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Jo, tohle jsem předtím nenašel, vypadá to pěkně. Dík za tipy.
    Quando omni flunkus moritati
    26.2.2014 07:50 stanik89 | skóre: 4 | Ostrava
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    a co třeba pro toto použít pgpool? nezkoušel jsi ? pgpool.net
    26.2.2014 11:29 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    Co jsem prošel tu wiki, tak ta věc řeší problémy, které nemám.
    Quando omni flunkus moritati
    28.2.2014 09:37 stanik89 | skóre: 4 | Ostrava
    Rozbalit Rozbalit vše Re: PgSQL streaming replication, změna master serveru bez změn na slave
    jasně, ale dalo by se to na tom postavit - byl to nápad na zamyšlení.

    na pgpoolu by byla ip 10.10.10.10 a "pod ní" by byly ostatní srv. Kde se dají nastavit i priority srv tak aby byl dodržen tvuj model master / slave

    Lepší řešení by mohlo být multi-master kde se na všechny srv v jeden čas zapiše požadavek který byl zaslán na 10.10.10.10. V tu chvíli pokud ti spadne kterýkoliv srv automaticky ho nahradí další = kdykoliv mužes kterýkoliv srv odstavit provést upgrade apod.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.