Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Vraag


  • RoRoo
  • Registratie: mei 2001
  • Laatst online: 09-06 10:20

RoRoo

Certified Prutser

Topicstarter
We hebben al een poosje twee PowerDNS Authoritative servers draaien.

1 is master en de andere is slave via MySQL
Nu viel het me op dat de versie die nu draait eigenlijk niet meer ondersteund wordt. (3.4.11)

en eigenlijk wil ik upgraden naar versie 4.1 (mede voor de API ondersteuning)

Alleen zie ik nergens echt hoe ik netjes kan upgraden. Ik zie alleen upgrade notes
https://doc.powerdns.com/authoritative/upgrading.html waarin staat dat ik van 3.4.2 en hoger moet upgraden naar 4.0 en dan van 4.0 naar 4.1

alleen (en dan zal ik wel blind zijn...) vind ik nergens een guide hoe ik die upgrade uit voer zonder alle zones kwijt te raken. Ik word steeds verwezen naar die notes pagina waar feitelijk voor de upgrade stap niets staat.

Of kan ik beter kijken om 2 nieuwe servers uit te rollen met PowerDNS 4.1.x en daar mijn zones in te restoren (hoe dan ook)

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku

Alle reacties


  • ahu
  • Registratie: april 2006
  • Laatst online: 29-04 23:24
Hoi RoRoo,

Bert van PowerDNS hier. In de URLs die je noemt vind je de schema updates ('alter table...'). Als je die uitvoert wordt je database vanzelf compatible met 4.1. Die statements wissen je database dus niet.

Het is wel een goed idee om vooraf een backup van je database te maken.

Verder als tip, powerdns 4.x is veel strenger over je database. Dus doe eerst een proefmigratie en draai pdnsutil check-all-zones om fouten op te lossen. Dit kan makkelijk met pdnsutil edit-zone.

Mocht het upgraden van het database schema moeilijk gaan, bijvoorbeeld omdat het schema al een keer aangepast was, dan is een hele cleane manier van migreren om je nieuwe powerdns te configureren als slave van de oude. Dan trekt ie alles via zonestransfer naar je verse cleane 4.1 install.

Succes, en als het niet lukt, vind via https://www.powerdns.com/ bijvoorbeeld onze mailing lists of IRC kanaal.

Bert

  • RoRoo
  • Registratie: mei 2001
  • Laatst online: 09-06 10:20

RoRoo

Certified Prutser

Topicstarter
ahu schreef op donderdag 4 oktober 2018 @ 16:16:
Hoi RoRoo,

Bert van PowerDNS hier. In de URLs die je noemt vind je de schema updates ('alter table...'). Als je die uitvoert wordt je database vanzelf compatible met 4.1. Die statements wissen je database dus niet.

Het is wel een goed idee om vooraf een backup van je database te maken.

Verder als tip, powerdns 4.x is veel strenger over je database. Dus doe eerst een proefmigratie en draai pdnsutil check-all-zones om fouten op te lossen. Dit kan makkelijk met pdnsutil edit-zone.

Mocht het upgraden van het database schema moeilijk gaan, bijvoorbeeld omdat het schema al een keer aangepast was, dan is een hele cleane manier van migreren om je nieuwe powerdns te configureren als slave van de oude. Dan trekt ie alles via zonestransfer naar je verse cleane 4.1 install.

Succes, en als het niet lukt, vind via https://www.powerdns.com/ bijvoorbeeld onze mailing lists of IRC kanaal.

Bert
Hi Bert,

Dank voor je reply.

Maar mijn belangrijkste vraag is eigenlijk nog niet beantwoord.

Hoe upgrade ik de install?

Als ik yum update pdns doe, zegt ie dat ik de laatste versie al heb: 3.4.11

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • ahu
  • Registratie: april 2006
  • Laatst online: 29-04 23:24
Hoi RoRoo,

Dat is iets van je distributie, ik weet niet precies wat je draait. Als je iets nieuwers wil draaien dan waar je CentOS mee komt, dan kan ik https://repo.powerdns.com/ aanraden.

Succes!

  • RoRoo
  • Registratie: mei 2001
  • Laatst online: 09-06 10:20

RoRoo

Certified Prutser

Topicstarter
ahu schreef op donderdag 4 oktober 2018 @ 16:24:
Hoi RoRoo,

Dat is iets van je distributie, ik weet niet precies wat je draait. Als je iets nieuwers wil draaien dan waar je CentOS mee komt, dan kan ik https://repo.powerdns.com/ aanraden.

Succes!
Ik draai inderdaad Centos en ik heb deze stappen uitgevoerd van die pagina:
yum install epel-release yum-plugin-priorities &&
curl -o /etc/yum.repos.d/powerdns-auth-master.repo https://repo.powerdns.com/repo-files/centos-auth-master.repo &&
yum install pdns
maar ik kreeg geen nieuwe versie.

Ik denk dat ik maar ga besluiten om een schone install te doen en via zone transfer de data binnen te halen.

Bedankt in ieder geval voor je assistentie!

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku


  • RoRoo
  • Registratie: mei 2001
  • Laatst online: 09-06 10:20

RoRoo

Certified Prutser

Topicstarter
Hi @ahu Toch nog even een snelle vraag direct aan jou.

Ik heb nu een 3e PDNS server ingericht (eindelijk weer even tijd) en deze staat klaar met een lege mysql database.

Ik heb MySQL database replicatie nog niet aangedurft ivm de aanpassingen in de structuur van 3.4 naar 4.1

Daarom wilde ik AXFR gaan proberen.

Config master (3.4.11) heeft de volgende regels:

master=yes
#slave=no
allow-axfr-ips=x.x.x.x/32 <-- publieke WAN IP van nieuwe PDNS
disable-axfr=no

Slave (4.1)
slave=yes

als ik vervolgens de PDNS herstart heb van mijn master dan klapt ie eruit.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Nov  8 15:55:51 ns1 pdns[7141]: Loading '/usr/lib64/pdns/libgmysqlbackend.so'
Nov  8 15:55:51 ns1 pdns[7142]: This is a standalone pdns
Nov  8 15:55:51 ns1 pdns[7142]: Listening on controlsocket in '/var/run/pdns.controlsocket'
Nov  8 15:55:51 ns1 pdns[7142]: UDP server bound to 0.0.0.0:53
Nov  8 15:55:51 ns1 pdns[7142]: TCP server bound to 0.0.0.0:53
Nov  8 15:55:51 ns1 pdns[7142]: PowerDNS Authoritative Server 3.4.11 (jenkins@autotest.powerdns.com) (C) 2001-2016 PowerDNS.COM BV
Nov  8 15:55:51 ns1 pdns[7142]: Using 64-bits mode. Built on 20180201163352 by mockbuild@buildhw-08.phx2.fedoraproject.org, gcc 4.8.5 20150623 (Red Hat 4.8.5-16).
Nov  8 15:55:51 ns1 pdns[7142]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
Nov  8 15:55:51 ns1 pdns[7142]: DNS Proxy launched, local port 27704, remote 8.8.8.8:53
Nov  8 15:55:51 ns1 pdns[7142]: Creating backend connection for TCP
Nov  8 15:55:51 ns1 pdns[7142]: Master/slave communicator launching
Nov  8 15:55:51 ns1 pdns[7142]: About to create 3 backend threads for UDP
Nov  8 15:55:51 ns1 pdns[7142]: No new unfresh slave domains, 0 queued for AXFR already
Nov  8 15:55:51 ns1 pdns[7142]: 239 domains for which we are master need notifications
Nov  8 15:55:51 ns1 pdns[7142]: Queued notification of domain 'xx.nl' to x.x.x.x:53 <-- huidige ns2 IP
Nov  8 15:55:51 ns1 pdns[7142]: Exiting because communicator thread died with error: GSQLBackend unable to refresh domain_id 20: Failed to execute mysql_query, perhaps connection died? Err=1: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
Nov  8 15:55:51 ns1 pdns[7142]: Done launching threads, ready to distribute questions
Nov  8 15:55:52 ns1 pdns_control: Fatal error: Unable to connect to remote '/var/run/pdns.controlsocket': Connection refused
Nov  8 15:55:52 ns1 systemd: pdns.service: control process exited, code=exited status=1
Nov  8 15:55:52 ns1 systemd: Unit pdns.service entered failed state.
Nov  8 15:55:52 ns1 systemd: pdns.service failed.


Haal ik vervolgens de axfr regels en master=yes uit de config, dan werkt alles weer.

Where am I going wrong?? en hoe zorg ik dat ie (eenmalig?) alles geforceerd naar de nieuwe PDNS stuurt?

Fout gevonden. MYSQL config aangepast omdat er kennelijk door iemand een paar zones als NATIVE aangemaakt zijn:
Using MySQL replication
To support NATIVE domains, the binlog_format for the MySQL replication must be set to MIXED or ROW to prevent differences in data between replicated servers
dat dus gedaan. en ineens wilde die gaan repliceren. alleen zie ik op de nieuwe nu de fout
code:
1
2
3
Nov 08 15:39:41 NEW-NS1 pdns_server[4736]: Unable to find backend willing to host xxx.nl for potential supermaster x.x.x.x. Remote nameservers:
Nov 08 15:39:41 NEW-NS1 pdns_server[4736]: ns1.myserver.nl
Nov 08 15:39:41 NEW-NS1 pdns_server[4736]: ns2.myotherserver.nl


edit:
Oplossing doorgevoerd

op mijn nieuwe primary heb ik in de hosts file een toevoeging gedaan: 127.0.0.1 ns2.myotherserver.nl
in de oude primary heb ik in de pdns.conf
also-notify=
gebruikt icm het publieke IP van mijn nieuwe primary.

ineens ging de AXFR transfer lopen *O*

Nu even kijken of het er ook allemaal goed in gekomen is :)

[Voor 14% gewijzigd door RoRoo op 09-11-2018 14:14]

It's not DNS. There's no way it's DNS. It was DNS. --The Sysadmin haiku

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True