auf가 127개 이상의 레이어를 사용하도록 만드는 방법은 무엇입니까? 또는 대안

auf가 127개 이상의 레이어를 사용하도록 만드는 방법은 무엇입니까? 또는 대안

테스트를 바탕으로 한 결론은 auf가 레이어 127로 제한된다는 것입니다.

(준비하다)

mkdir write joined {1..400}
for((i=1;i<=400;i++));do echo >$i/$i.txt;done #for checks

단일 설치 시 레이어는 84개로 제한됩니다(번호 + 쓰기 레이어).

폴더 이름은 84 제한을 변경하지 않습니다(따라서 각 폴더 이름은 "layer-72"와 같이 더 커질 수 있으므로 문자열 크기 제한이 아닙니다).

sudo mount -v -t aufs \
  -o "sync,br=write:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:70:71:72:73:74:75:76:77:78:79:80:81:82:83:84" \
  "none" "joined";echo $?

끝에서 ":84"를 제거하지 않으면 위의 작업은 실패합니다.

remount를 사용하면 최대 127개 레이어(번호 매기기 + 쓰기 레이어)까지 도달할 수 있습니다.

sudo mount -v -t aufs -o "sync,br=write" "none" "joined";echo $?
for((i=1;i<=400;i++));do 
  echo "try $i";
  if ! "sudo" "mount" -v "-o" "remount,append:$i" "joined";then
    break; # it stops with error "No space left on device", but is not related to free bytes on storage!
  fi;
  ls -l joined/$i.txt;
done

연구

mount.aufs읽을 수 있는 오류 메시지를 보기 위해 이것을 사용해 보았 으나 mount -v도움이 되지 않았습니다.

mount매개변수를 로 변환하는 방법을 지정하는 문서가 있습니까 mount.aufs?

mount.aufs아직 소스 코드를 찾으려고 노력 중입니다 . 이는 어떤 매개변수를 허용하는지 이해하는 데 도움이 될 수 있습니다.

허용되는 대체 답변

auf를 패치할 수 있습니까(127은 분명히 하드코딩된 제한이므로)? 노력/혼란을 겪을 만한 가치가 있습니까? 아니면 127을 초과하면 설명에 언급된 대로 성능 문제가 발생할 수 있습니까?

다른 폴더 병합으로 127개 이상의 레이어를 제공할 수 있나요? 그렇다면 어느 것입니까? 내가 찾은 목록은 다음과 같습니다: overlayfs Unionfs mhddfs mergefs docker. 위에 제공된 테스트 사례를 기반으로 어떤 명령을 사용해야 합니까? aufs는 매우 명확하고 사용하기 쉽고 이해하기 쉽습니다. 이것이 제가 그것을 선택한 주된 이유입니다.

PS: 제가 지금 사용하고 있는 것은 다음과 같습니다.aufs와 마찬가지로 mergefs가 작동하도록 하려면 어떻게 해야 합니까? 새로운 내용이나 수정된 ​​내용(경로, 모든 것을 포함하여...)을 쓰기 가능한 단일 폴더에 쓰기만 하면 되나요?

관련 정보