서버 중 하나의 시스템 로그에 다음과 같은 오류 메시지가 계속 나타납니다.
# tail /var/log/syslog
Oct 29 13:48:40 myserver dbus[19617]: [system] Failed to activate service 'org.freedesktop.login1': timed out
Oct 29 13:48:40 myserver dbus[19617]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
Oct 29 13:49:05 myserver dbus[19617]: [system] Failed to activate service 'org.freedesktop.login1': timed out
Oct 29 13:49:05 myserver dbus[19617]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
ProFTPd 데몬의 FTP 로그인과 관련된 것으로 보입니다.
# tail /var/log/proftpd/proftpd.log
2015-10-29 13:48:40,433 myserver proftpd[17872] myserver.example.com (remote.example.com[192.168.22.33]): USER switch: Login successful.
2015-10-29 13:48:40,460 myserver proftpd[17872] myserver.example.com (remote.example.com[192.168.22.33]): FTP session closed.
2015-10-29 13:48:40,664 myserver proftpd[17881] myserver.example.com (remote.example.com[192.168.22.33]): FTP session opened.
2015-10-29 13:49:05,687 myserver proftpd[17881] myserver.example.com (remote.example.com[192.168.22.33]): USER switch: Login successful.
2015-10-29 13:49:05,705 myserver proftpd[17881] myserver.example.com (remote.example.com[192.168.22.33]): FTP session closed.
2015-10-29 13:49:05,908 myserver proftpd[17915] myserver.example.com (remote.example.com[192.168.22.33]): FTP session opened.
그러나 FTP 로그인 자체는 사용자에게 아무런 문제를 일으키지 않는 것 같습니다. ProFTPd를 실행하는 다른 서버도 몇 개 있지만 지금까지 이러한 오류가 발생한 적이 없습니다.
그러나 이는 Debian 7에서 Debian 8로의 최근 업그레이드와 관련이 있을 수 있습니다.
이 메시지가 나에게 무엇을 말하려고 하는지, 심지어 그 원인이 무엇인지 아시나요?
dbus 및 proftpd 데몬, 심지어 서버까지 다시 시작하고 DBUS 소켓 /var/run/dbus/system_bus_socket이 있는지 확인했지만 지금까지 메시지가 계속 나타납니다.
편집: 의견에서 요청한 대로 Journalctl의 출력은 다음과 같습니다.
root@myserver:/home/chammers# systemctl status -l dbus-org.freedesktop.login1.service
● systemd-logind.service - Login Service
Loaded: loaded (/lib/systemd/system/systemd-logind.service; static)
Active: active (running) since Tue 2015-10-27 13:23:32 CET; 1 weeks 0 days ago
Docs: man:systemd-logind.service(8)
man:logind.conf(5)
http://www.freedesktop.org/wiki/Software/systemd/logind
http://www.freedesktop.org/wiki/Software/systemd/multiseat
Main PID: 467 (systemd-logind)
Status: "Processing requests..."
CGroup: /system.slice/systemd-logind.service
└─467 /lib/systemd/systemd-logind
Oct 28 10:15:25 myserver systemd-logind[467]: New session c3308 of user switch.
Oct 28 10:15:25 myserver systemd-logind[467]: Removed session c3308.
Oct 28 10:15:25 myserver systemd-logind[467]: New session c3309 of user switch.
Oct 28 10:15:25 myserver systemd-logind[467]: Removed session c3309.
Oct 28 10:15:25 myserver systemd-logind[467]: New session c3310 of user switch.
Oct 28 10:15:25 myserver systemd-logind[467]: Removed session c3310.
Oct 28 10:15:25 myserver systemd-logind[467]: New session c3311 of user switch.
Oct 28 10:15:25 myserver systemd-logind[467]: Removed session c3311.
Oct 28 10:19:52 myserver systemd-logind[467]: New session 909 of user chammers.
Oct 28 10:27:11 myserver systemd-logind[467]: Failed to abandon session scope: Transport endpoint is not connected
그리고 더 많은 Journalctl 출력:
Nov 03 16:21:19 myserver dbus[19617]: [system] Failed to activate service 'org.freedesktop.login1': timed out
Nov 03 16:21:19 myserver proftpd[23417]: pam_systemd(proftpd:session): Failed to create session: Activation of org.freedesktop.login1 timed out
Nov 03 16:21:19 myserver proftpd[23418]: pam_systemd(proftpd:session): Failed to create session: Activation of org.freedesktop.login1 timed out
Nov 03 16:21:19 myserver proftpd[23417]: pam_unix(proftpd:session): session closed for user switch
Nov 03 16:21:19 myserver proftpd[23418]: pam_unix(proftpd:session): session closed for user switch
Nov 03 16:21:19 myserver proftpd[23420]: pam_unix(proftpd:session): session opened for user switch by (uid=0)
Nov 03 16:21:19 myserver dbus[19617]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
Nov 03 16:21:19 myserver proftpd[23421]: pam_unix(proftpd:session): session opened for user switch by (uid=0)
답변1
로그인 다시 시작:
# systemctl restart systemd-logind
dbus를 다시 시작하면 연결이 다시 끊어집니다.
답변2
다시 시작하는 것이 나에게 도움이 되는 유일한 해결책이었습니다. 나는 런어웨이 dbus 프로세스를 종료했고 다른 모든 것은 실패했습니다.
httpd를 다시 로드하려고 하면 이런 일이 발생합니다.
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of org.freedesktop.PolicyKit1 timed out (g-dbus-error-quark, 20)
Failed to reload httpd.service: Connection timed out
Centos7에 문제가 있습니다.
답변3
단순히 systemd-logind 서비스를 다시 시작하는 것만으로는 충분하지 않으며 주요 문제의 해결이 지연될 뿐입니다.
이는 서비스에 의해 생성되고 제대로 정리되지 않은 "/run/systemd/system/" 아래에 너무 많은 파일이 쌓여서 발생하는 것 같습니다. 특히 로그인이 많은 호스트에서 그렇습니다. 결국 얼마 후에는 hostnamectl이 아무 것도 보고하지 않거나 timedatectl이 서버에 쿼리할 수 없다고 보고하는 등 이상한 동작이 나타나기 시작합니다. 연결 시간 초과 및 기타 이상한 현상이 발생합니다. 처음에 증상을 보고했습니다.
한 가지 해결 방법은 모든 "session-*.scope" 파일을 삭제하고 systemd를 다시 시작하는 것입니다. 이 경우 호스트를 재부팅할 필요가 없습니다. 이는 systemd 및 dbus의 버그와 관련이 있을 수 있으며 다음 업데이트에서 수정될 수 있기를 바랍니다.
답변4
Proxmox에서 LXC 컨테이너를 설정하는 동안 이 문제가 발생했습니다. LXC 컨테이너를 구성할 때 중첩된 컨테이너를 허용하는 확인란을 선택하지 않아서 문제가 발생했습니다. 내가 이해한 바에 따르면 systemd-logind는 해당 기능을 새 시스템에 전달하지 않았기 때문에 실패하는 컨테이너에 사용자를 넣습니다.