为什么 systemd-resolved 频繁重启?

为什么 systemd-resolved 频繁重启?

将 EC2 实例升级到 Ubuntu 18.04 后,在 PHP 脚本中解析数据库服务器的 DNS 时,我开始偶尔遇到错误,如下所示:

Uncaught Exception: PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

这些在 syslog 中与 systemd-resolved 的重新启动相关。我打开了调试日志记录,但我仍然不明白为什么该服务每天会重新启动几次。以下是有关重新启动的系统日志条目:

Dec 6 11:31:20 ip-172-31-X-X systemd-resolved[15188]: Processing incoming packet on transaction 51967. (rcode=SUCCESS)
Dec 6 11:31:20 ip-172-31-X-X systemd-resolved[15188]: Processing query...
Dec 6 11:31:20 ip-172-31-X-X systemd-resolved[15188]: Cache miss for sqs.us-west-2.amazonaws.com IN A, Cache miss for sqs.us-west-2.amazonaws.com IN A @version:1 @timestamp:December 6th 2018, 05:31:20.000
Dec 6 11:31:20 ip-172-31-X-X systemd-resolved[15188]: Removing cache entry for gmail-imap.l.google.com IN AAAA (expired 19s ago)
Dec 6 11:31:22 ip-172-31-X-X systemd-resolved[15188]: Removing scope on link *, protocol dns, family *
Dec 6 11:31:22 ip-172-31-X-X dhclient[768]: DHCPREQUEST of 172.31.X.X on eth0 to 172.31.32.X port 67 (xid=0x66c614b9)
Dec 6 11:31:22 ip-172-31-X-X dhclient[768]: DHCPACK of 172.31.X.X from 172.31.32.X
Dec 6 11:31:22 ip-172-31-X-X systemd-resolved[15188]: Bus n/a: changing state RUNNING → CLOSED
Dec 6 11:31:22 ip-172-31-X-X systemd[1]: Stopping Network Name Resolution...
Dec 6 11:31:23 ip-172-31-X-X dhclient[768]: bound to 172.31.X.X -- renewal in 1565 seconds.
Dec 6 11:31:23 ip-172-31-X-X systemd-resolved[15465]: Got message type=signal sender=org.freedesktop.DBus destination=:1.2496 path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameAcquired cookie=3 reply_cookie=0 signature=s error-name=n/a error-message=n/a
Dec 6 11:31:23 ip-172-31-X-X systemd-resolved[15465]: Found new link 2/eth0
Dec 6 11:31:23 ip-172-31-X-X systemd-resolved[15465]: New scope on link *, protocol dns, family *

我的/etc/resolv.conf似乎是默认的 AWS,并且是一个符号链接,/run/systemd/resolve/resolv.conf其中包含:

nameserver 172.31.0.X
search us-west-2.compute.internal

有人知道为什么我会出现这些看似随机的重新启动以及我可以采取哪些措施来解决这些问题?

答案1

对我来说,根本原因是它从你的日志中systemd-resolved重新启动dhclient,我打赌你也是如此

看看这个错误报告https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1805183

应用补丁后https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1805183/comments/8php-fpm(和 getaddrinfo)再也没有抱怨过。

答案2

如果您遇到此问题,并且不想应用链接的补丁,则可以使用替代解决方案来解决临时 DNS 错误。

在 Ubuntu 中禁用 systemd-resolved。有一个解释在这里,在我们的 Ubuntu 姐妹网站上

我不会在这里复制解释。关于禁用 systemd-resolved 已经有一个警告。如果我将解释复制到这个答案中,那么这个答案可能会错过其他重要的更新。

相关内容