단일 볼륨 CIFS 마운트가 있고 바인드 마운트 2 하위 디렉터리가 있습니다. 시작 시 systemd는 "정렬 주기"에 대해 불평하고 바인딩 중 하나를 설치하지 못하지만 다른 하나는 제대로 작동합니다. 를 실행하면 mount -a
누락된 바인딩이 설치됩니다. 새 가상 머신에서 이 동작을 재현할 수 있었습니다.
/etc/fstab
//server.example.com /mnt/media cifs [snip] 0 0
/mnt/media/secure /var/www/media/secure none bind 0 0
/mnt/media/public /var/www/media/public none bind 0 0
바인드 마운트는 변경되지 않았으며 이는 실제 이름입니다. 그러나 순서를 변경하면 바인드 마운트 fstab
만 실패하기 때문에 정렬 순서로 인해 이것이 중요할 수 있다고 생각합니다 . 항상 작동합니다.public
secure
로그 내의 로그
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on var-www-media-public.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on mnt-media.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on network-online.target/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on networking.service/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Found dependency on local-fs.target/start
Mar 19 14:06:45 ubuntu systemd[1]: local-fs.target: Breaking ordering cycle by deleting job var-www-media-public.mount/start
Mar 19 14:06:45 ubuntu systemd[1]: var-www-media-public.mount: Job var-www-media-public.mount/start deleted to break ordering cycle starting with local-fs.target/start
x-systemd.requires=/mnt/media
바인드 마운트를 지정하려고 시도했지만 아무것도 변경되지 않았습니다. 이 문제를 해결하려면 다음에 어디로 가야할지 모르겠습니다.
답변1
바인드 마운트 중 하나가 작동하는 이유를 잘 모르겠습니다. 두 가지가 동시에 실패할 수 있는 이유와 해결 방법은 다음과 같습니다.
귀하의 networking.service
주문은 로컬 파일 시스템 뒤에 있습니다. 바인드 마운트는 로컬 파일 시스템으로 처리됩니다. 그러나 바인드 마운트는 네트워크 마운트 이후에도 순서가 지정됩니다. systemd는 바인드 마운트에 대한 이러한 논리적 종속성을 자동으로 추가합니다.
이 경우 systemd
바인드 마운트가 실제로 네트워크 마운트가 되도록 지시해야 합니다. 이 경우 의도적인 선택이 있습니다. _netdev
번들 설치에 설치 옵션을 추가하기만 하면 됩니다 . 자세한 내용은 이 옵션에 정의되어 있습니다 man systemd.mount
.