시스템 서비스는 다른 서버의 다른 서비스에 따라 다릅니다.

시스템 서비스는 다른 서버의 다른 서비스에 따라 다릅니다.

우리는 여러 서버에서 실행되는 (공급업체 제공) 분산 애플리케이션을 다루고 있습니다. 이러한 서버는 "동일"하지 않습니다. 즉, 보조 서버를 시작하기 전에 기본 서버가 실행되고 있어야 합니다.

secondary.service이 종속성을 파일에 어떻게 표현할 수 있나요 ? 나는 다음을 원합니다 :

  1. 시작 시 모든 보조 서버의 보조 서비스는 기본 서비스를 기다립니다.메인 서버에서곧 시작됩니다. 나는 이것이 사용자 정의를 통해 달성될 수 있다는 것을 알고 있습니다. 그러나 그것은 보조 서비스 섹션의 (또는) 조항 ExecStartPre에 속하는 것 같습니다 . After유틸리티에는 옵션이 있습니다. 파일 내에서 원격 서비스를 참조하는 유사한 구문이 있습니까?Require[Unit]systemctl--host.service
  2. 기본 서비스가 종료되면 보조 서비스도 모두 종료됩니다.
  3. 기본 서비스가 복원되면 보조 서비스도 모두 시작됩니다.
  4. 처음 두 개는 기본 서비스의 명시적인 알림을 기반으로 하며 주기적으로 상태를 확인하여 기본 서비스가 다운될 때 상황을 파악할 수 있습니다.갑자기.

systemd의 자체 메커니즘을 사용하여 위 작업 중 하나를 수행할 수 있습니까? 아니면 각 보조 서버에 별도의 상태 모니터링 서비스를 구현해야 합니까?

우리는 systemd가 다소 오래된 버전인 219인 RHEL7을 사용하고 있습니다. 또한 중요한 경우 언급된 모든 서비스는 systemd --user"시스템"이 아닌 아래에서 실행됩니다.

관련 정보