systemd를 사용하여 autofs를 시작한 후 서비스가 시작되도록 설정하는 방법

systemd를 사용하여 autofs를 시작한 후 서비스가 시작되도록 설정하는 방법

systemd를 사용하여 RHEL7 시스템에 라이센스 서버를 설정해야 합니다. 라이센스 서버는 부팅 시 시작되어야 하며 네트워크의 공유 디스크에서 라이센스 파일을 로드해야 합니다. 따라서 네트워크가 작동하고 autofs가 NFS 디스크 마운트를 완료할 때까지 기다려야 합니다. 다음 서비스 파일이 있습니다.

[Unit]
Description=Flexnet license server
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=forking
User=licenseuser
Group=devusers
ExecStart=/soft/flexera/glnxa64/lmgrd -c /soft/licenses/license.dat -L /home/licenseuser/license.log

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

[Install]
WantedBy=multi-user.target

autofs가 시작된 후 autofs가 모든 디스크를 마운트하기 전에 서비스가 시작되므로 라이센스 서버를 시작할 수 없습니다.

답변1

다음을 추가해야 합니다.

[Unit]
RequiresMountsFor=<path required>

이렇게 하면 서비스를 시작하기 전에 해당 경로에 액세스할 수 있는지 확인하고 해당 경로가 아직 해당 경로에 없으면 설치됩니다(noauto가 지정되지 않은 경우). 귀하의 시스템이 이 옵션을 지원하는지 맨페이지(man systemd.unit)를 확인하십시오. 내 시스템은 꽤 최첨단이기 때문입니다.

관련 정보