오라클 클라우드에서 block volume과 docker 를 사용하는데, docker 서비스가 block volume 마운트보다 먼저 실행되어서 특정 시비스 실행이 안되는 문제가 있었다. 오늘은 그 문제를 해결하는 과정을 포스트 하겠다.
출처: https://newbedev.com/set-systemd-service-to-execute-after-fstab-mount
- 마운트할 볼륨을 /etc/fstab 에 작성한다.
- 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.target
Code language: HTML, XML (xml)
path-to-mount.mount 를 After 와 Requires 에 추가한다.
path-to-mount
는 fstab 에 있는 경로이다.