추가 읽기

추가 읽기

AWS EC2 인스턴스에서 인스턴스를 호스팅 bitcoind하고 다음 서비스 파일을 사용하여 이를 사용자로 제공하고 있습니다.

[Unit]
Description=Bitcoind

[Service]
Type=simple
ExecStart=/usr/local/bin/bitcoind
Restart=always

[Install]
WantedBy=default.target

일반적으로 모든 것이 괜찮습니다. bitcoind때때로 재부팅이 꽤 많이 발생하는 것으로 나타났습니다 . 그러나 systemctl이는 적어도 재부팅할 수 있다는 관점에서는 또 다른 이야기입니다.

여기에는 정상적인 부분과 문제가 있는 부분을 보여주는 로그가 포함되어 있습니다.

Mar 02 10:39:46 ip- systemd[2751]: Started Bitcoind.
Mar 02 10:40:07 ip- systemd[2751]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 02 10:40:07 ip- systemd[2751]: Stopped Bitcoind.
Mar 02 10:40:07 ip- systemd[2751]: Started Bitcoind.
Mar 02 21:06:26 ip- systemd[2751]: Stopping Bitcoind...
Mar 02 21:06:28 ip- systemd[2751]: Stopped Bitcoind.
Mar 03 03:37:45 ip- systemd[28091]: Started Bitcoind.
Mar 03 03:59:15 ip- systemd[28091]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 03 03:59:15 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 03:59:15 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:09 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:16 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:22 ip- systemd[28091]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 03 04:01:22 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 04:01:22 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:14:35 ip- systemd[28091]: Stopping Bitcoind...
Mar 03 04:14:35 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 04:15:44 ip- systemd[13180]: Started Bitcoind.

서비스가 중지되었지만 systemctl다시 시작되지 않는 경우가 있습니다. 인스턴스에 SSH로 접속할 때만 재부팅되고 "모든 것이 다시 작동하게 만드는" 것처럼 보입니다.

로그를 보면 이런 일이 발생합니다.

Mar 02 21:06:26 ip- systemd[2751]: Stopping Bitcoind...
Mar 02 21:06:28 ip- systemd[2751]: Stopped Bitcoind.
Mar 03 03:37:45 ip- systemd[28091]: Started Bitcoind.

분명히 systemctlstop 을 발견했지만 bitcoind인스턴스에 ssh를 연결할 때까지만 다시 시작됩니다.

이 문제를 추가로 해결하는 방법에 대한 조언이 있습니까? 도움을 주셔서 감사드리며 최대한 많은 정보를 제공하도록 노력하겠습니다.

답변1

나는 그것을 사용자 서비스로 가지고 있습니다. [...] 인스턴스에 SSH로 접속할 때만 다시 시작됩니다. [...]

systemd의 각 사용자 인스턴스는 하나 이상의 활성 로그인 세션이 있을 때만 실행됩니다. 로그에서 볼 수 있듯이 3개의 서로 다른 프로세스 ID를 가진 3개의 인스턴스가 있습니다. 마지막 로그인 세션이 중단되면 systemd-logindsystemd의 각 사용자 인스턴스를 중지하고 다음 로그인 세션이 시작될 때 새 인스턴스를 시작하십시오. 물론 호스팅 서비스는 서비스 관리자 없이는 실행되지 않습니다.

enable-linger이 명령의 하위 명령을 사용하여 이 설정을 변경할 수 있습니다 loginctl.

추가 읽기

관련 정보