IT/AWS

[AWS] EC2에 EBS mount 트러블슈팅 (.mount 파일 명명 규칙)

반응형

Intro

앞전에 https://kim-dragon.tistory.com/193 이글로 systemd에 서비스를 등록하여 마운트 하는 방법을 포스팅 하였었는데요. 이에 관한 트러블 슈팅을 해보도록 하겠습니다.

결론 적으로 말씀드리면 /etc/systemd/system 에 생성하는 .mount 파일의 파일 네이밍 규칙은 실제로 마운트할 path에 따라 커스터마이징 해야 한다는 것입니다.

즉, 앞전 글에서 mount-data.mount 라고 했던 부분을 data.mount 라고 변경해야하는 것이죠. 그렇지 않으면 systemctl status mount-data.mount 으로 확인해보면 다음과 같은 에러가 발생합니다.

Where= setting doesn't match unit name. Refusing.

예를들어 /data/node/test 로 마운트를 하고 싶다고 할때 data-node-test.mount 으로 네이밍 규칙을 가져가야 하는 것입니다.

nvme-to-block-mapping.service

[Unit]
Description=Symblic link nvme device name

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c 'sh /usr/local/bin/nvme-to-block-mapping.sh'

[Install]
WantedBy=multi-user.target

format-dev-sdb.service

[Unit]
Description=Formats /dev/sdb volume
After=nvme-to-block-mapping.service
Requires=nvme-to-block-mapping.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c 'blkid /dev/sdb || (wipefs -fa /dev/sdb && mkfs.ext4 /dev/sdb)'

[Install]
WantedBy=multi-user.target

data.mount

[Unit]
Description=Mount /dev/sdb to /data
After=format-dev-sdb.service
Requires=format-dev-sdb.service

[Mount]
What=/dev/nvme1n1
Where=/data
Type=ext4

[Install]
WantedBy=multi-user.target
반응형