![중복 바인드 마운트가 소스 디렉토리에 대한 항목을 생성하는 이유는 무엇입니까?](https://linux55.com/image/143724/%EC%A4%91%EB%B3%B5%20%EB%B0%94%EC%9D%B8%EB%93%9C%20%EB%A7%88%EC%9A%B4%ED%8A%B8%EA%B0%80%20%EC%86%8C%EC%8A%A4%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EB%8C%80%ED%95%9C%20%ED%95%AD%EB%AA%A9%EC%9D%84%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
중복 바인드 마운트로 인해 에 여러 항목이 생성되는 이유는 무엇입니까 /proc/mounts
?
# md -p /mnt/test-mount/{source,target}
# mount --bind /mnt/test-mount/{source,target}
# grep test-mount /proc/mounts
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
# mount --bind /mnt/test-mount/{source,target}
# grep test-mount /proc/mounts
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
/dev/sda3 /mnt/test-mount/target ext4 rw,relatime 0 0
/dev/sda3 /mnt/test-mount/source ext4 rw,relatime 0 0
첫 번째 바인드 마운트 후에는 소스 볼륨을 마운트 지점에 매핑하는 항목이 있습니다. 두 번째 호출 후에는 추가 마운트 지점 항목과 소스 접두사 항목이 있습니다.
비슷하게,발견하다보고서 소스는 자체적으로 번들로 마운트됩니다.
# findmnt |grep test-mount
├─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
또 다른 반복 후에 나는 결국삼소스 항목, 4개의 대상 항목:
# mount --bind /mnt/test-mount/{source,target
# findmnt |grep test-mount
├─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
│ └─/mnt/test-mount/target /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
└─/mnt/test-mount/source /dev/sda3[/mnt/test-mount/source] ext4 rw,relatime
진전은1, 3, 7, 15..., 즉.n = 1 + 2^(n-1), 각 설치 작업마다 추가 항목 수가 두 배로 늘어납니다.
그 이유는 무엇입니까?
답변1
스프레드를 설치합니다.
이는 "MS_UNBINDABLE 예제"에서 설명한 "마운트 포인트 폭발 문제"의 특정 사례입니다.마운트 네임스페이스(7)
systemd는 기본적으로 마운트 전파를 효과적으로 활성화합니다. 예를 들어, 다음 /home
과 같이 차단된 하위 네임스페이스에서 서비스를 실행할 수 있습니다 .시스템 실행 프로그램옵션 ProtectHome=yes
. 설치 허용:제거하고하위 네임스페이스로 전파되면 eject
기본 네임스페이스 등에서 계속해서 정상적으로 작동할 수 있습니다.