fstab 볼륨 마운트 이후 systemd 서비스 실행하기.

오라클 클라우드에서 block volume과 docker 를 사용하는데, docker 서비스가 block volume 마운트보다 먼저 실행되어서 특정 시비스 실행이 안되는 문제가 있었다. 오늘은 그 문제를 해결하는 과정을 포스트 하겠다.

출처: https://newbedev.com/set-systemd-service-to-execute-after-fstab-mount

  1. 마운트할 볼륨을 /etc/fstab 에 작성한다.
  2. fstab 에 있는 볼륨을 마운트한다
$ mount -a

3. 생성된 fstab 관련 systemd 유닛 검색

$ systemctl list-units | grep '/path/to/mount' | awk '{ print $1 }'Code language: PHP (php)

/path/to/mount 수정

4. systemd service 수정

$ vi /etc/systemd/system/my-daemon.service

[Unit]
Description=Launch My Daemon
Requires=vpn-launch.service <meta charset="utf-8">path-to-mount.mount
After=network.target vpn-launch.service path-to-mount.mount

[Service]
ExecStart=/path/to/my-daemon

[Install]
WantedBy=multi-user.targetCode language: HTML, XML (xml)

path-to-mount.mountAfterRequires 에 추가한다.

path-to-mount 는 fstab 에 있는 경로이다.