rsyslog
systemd는 시스템이 재부팅될 때(예: 를 실행하여 ) reboot
실행 중인 데몬을 중지하기 위해 다른 시간 초과 설정을 사용합니까 ? 아니면 방금 다시 시작할 때(예: )를 사용합니까 systemctl restart rsyslog
?
내가 확인했다시스템 서비스페이지를 찾았는데 찾지 못했습니다. 대신 TimeoutStopSec
및 옵션 만 찾았습니다 TimeoutStartSec
. 옵션 을 설정했는데 TimeoutStopSec
시스템화된 것 같아요가능한예상태를 안전하게 저장하고 깔끔하게 종료하기 전에 데몬을 종료합니다..
편집 1:
@sourcejedi가 제안한 대로(감사합니다) 이는 rsyslog를 실행하는 데스크톱 설치가 아니라 rsyslog의 Ubuntu 16.04 서버 설치라는 점을 강조해야 합니다. rsyslog는 클라이언트 노드에서 메시지를 수신하고 메시지 종료를 요청할 때 메모리에 여전히 많은 양을 보유할 수 있습니다. 체계화되었습니다.
이 옵션의 값을 TimeoutStopSec
90초에서 240초로 늘려 일부 손상된 디스크 대기열 문제를 해결하려고 노력했지만 여전히 관련 로그 파일에서 이 메시지가 여러 번 관찰되었습니다.
rsyslogd: 큐 'strm 0x26b4800', 파일 '/var/spool/rsyslog/q_ForwardToNode2.00000003' 비추가 쓰기를 위해 열려 있지만 이미 983505바이트가 포함되어 있습니다. [v8.29.0은 http://www.rsyslog.com/e/0을 시도했습니다. ]
아이디어는 시스템이 내용을 디스크에 저장하는 동안 참을성이 없어 rsyslog를 종료할 수 있다는 것입니다.
rsyslog를 시작하기 전에 systemd가 활성 네트워크 연결을 기다리도록 하여 또 다른 문제를 해결하려고 했습니다. Drop-Ins
이 항목에 유용한 컨텍스트를 추가하는 경우 참조를 위해 아래에 사용하는 두 systemd의 내용을 포함했습니다 .
cat /etc/systemd/system/rsyslog.service.d/*.conf | grep -Ev '#|^$'
Github #1656을 해결해보세요
[단위] 문서=https://internal/wiki/url/here 이후 = network.target 원하는=network.target
Github #1704를 풀어보세요
[단위] 문서=https://internal/wiki/url/here [제공하다] 시간 초과 중지 초 = 240
읽어주셔서 감사합니다.
답변1
다시 시작 명령을 실행하면 systemd가 TimeoutStopSec 값을 무시하게 됩니까?
아니요, 그건 끔찍할 것입니다. 그렇지 않습니다.
편집: v233 이상의 일부 시스템 버전 JobTimeoutSec=30min
은 reboot.target
.
편집: "시스템이 디스크에 항목을 저장하는 동안 참을성이 없어져 rsyslog를 종료할 수 있다는 아이디어입니다."와 관련하여 해당 메시지는 rsyslog의 버그인 것 같습니다.
큐 버그 수정: 잘못된 파일 쓰기 오류 메시지 #1759 #1759
대기열이 디스크 파일에서 다시 시작되면 거의 항상 "비추가 쓰기를 위해 파일이 열렸지만 이미 xxx 바이트가 포함되어 있습니다"라는 메시지가 표시됩니다. 이 메시지는 오류이며 실제 오류 조건을 나타내지는 않습니다. 잘못된 조건자 확인입니다.
Debian 9의 서비스 파일을 보면 syslog.socket
(systemd에서 제공) 가 있지만 및DefaultDependencies=no
. 후자의 줄은 주석 처리되어 있습니다 . 마지막 두 개가 없다면Before=shutdown.target
Conflicts=shutdown.target
Don't allow logging until the very end
그리고rsyslog.service 예, syslog 데몬은 DefaultDependencies=no
( )에 의해 즉시 다시 활성화되고 종료될 수 있습니다. SIGTERM과 SIGKILL 사이에 내장된 기본 시간 제한을 사용하세요. 제 생각에는 90초입니다.systemd-shutdown.service
systemd-shutdown
systemd-shutdown