중복 바인드 마운트가 소스 디렉토리에 대한 항목을 생성하는 이유는 무엇입니까?

중복 바인드 마운트가 소스 디렉토리에 대한 항목을 생성하는 이유는 무엇입니까?

중복 바인드 마운트로 인해 에 여러 항목이 생성되는 이유는 무엇입니까 /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기본 네임스페이스 등에서 계속해서 정상적으로 작동할 수 있습니다.

관련 정보