파일 시스템 파일/디렉터리 액세스 계층을 구현하는 방법을 찾고 있습니다.
따라서 다음과 같은 구조를 가질 수 있습니다.
/mountPointMerged/
/mountPointLayer1/a/b/c.txt
/mountPointLayer2/a/b/c.txt
/mountPointLayer3/a/b/c.txt
파일에 접근할 때 /mountPointMerged/a/b/c.txt
두 번째 계층이 설치되어 있으면 세 번째 계층이 설치되지 않은 경우에만 파일을 읽고 쓸 수 있으며, 두 번째와 세 번째 계층이 모두 제거되면 첫 번째 계층에 액세스하게 됩니다.
요점은 합병이 이루어져야 한다는 것입니다. 따라서 다음 파일을 이러한 레이어에 구체적으로 추가하세요.
/mountPointLayer1/a/b/d.txt
/mountPointLayer2/a/b/e.txt
/mountPointLayer3/a/b/f.txt
다음과 같은 결과를 제공합니다:
ls /mountPointMerged/a/b/
c.txt
d.txt
e.txt
f.txt
여기에 생성된 새 파일은 모두 /mountPointMerged/
최상위 설치 계층에 기록됩니다. 하지만 다른 레이어는 /mountPointLayer2/a/b/c.txt
직접적으로 접근하는 대신 ex.:를 통해 접근할 수 있습니다 /mountPointMerged/
.
어떻게 든 할 수 있습니까?
답변1
내가 찾은 가장 유연하고 간단한 옵션은 AUFS입니다. 예를 들면 다음과 같습니다.
mount -t aufs -o "br=CustomFolderToWriteAt:CustomTopOverriderFolder:CustomInBetweenOverriderFolders:CustomLowestPriorityFolder" none CustomMergedMountPointFolder
CustomFolderToWriteAt에는 CustomMergedMountPointFolder에 기록될 모든 수정 사항이 포함됩니다. touch
파일인 경우에도 거기에 이 클래스의 전체 복사본이 생성됩니다.
CustomInBetweenOverriderFolders는 여기에 ":"로 구분되어 여러 개가 있을 수 있습니다.
다른 사용자 정의 폴더에 대한 변경 사항은 병합된 CustomMergedMountPointFolder에 즉시 적용됩니다.