강좌 & 팁
도커에서 사용되는 파일 시스템 마운트 기법인 aufs 와 유사한 기능을 가진 overlayfs가
커널 3.18-rc2 에서 머지되었었습니다.
사실 도커를 보면서 aufs 가 매우 유용하겠다 싶었는데도 overlayf에 대해서는 잘 모랐죠
얼마전 overlayfs 에 대해서 들었던 차에 이번 4.0 릴리즈에 overlayfs 에 관한 항목이 있어서 소개합니다.
간단하게 소개하면 overlayfs 는 여러개의 블럭파티션을 하나인 것처럼 보여주는 것입니다.
이 이면에 재미있는 것은 두개의 블럭파티션은 read-only, 한개의 블럭 파티션은 writable 하다고 할때
세개의 블럭에 대해서 하나의 디렉토리에 마운트를 하고 쓰기 가능한 블럭을 쓰기 파티션으로 지저정을 하면
두개의 read-only 파티션의 데이타가 마치 쓰기 가능한 것처럼 보이게 된다는 거죠.
물론 해당 파일에 쓰기를 하면 쓰기 가능한 파티션에 데이타가 씌여지면서 이전 데이타는 보이지 않을 겁니다.
이런 내용은 설정에 해당하는 것이지만요.
재밌는 것은 aufs 와 overlayfs 와의 관계입니다.
커널 메인라인에 속하지 않지만 광범위하게 도커에서 씌이고 있는 aufs...
커널 메인라인에 머징되어 사용되기 시작한 overlayfs...
유리한 쪽은 overlayfs 같아 보입니다만 어느 한쪽은 살아 남고 다른 쪽의 기능을 흡수해 갈 것으로 조심스레 예측해 봅니다.
이번 기능 패치는 사실 간합니다
멀티플 마운트를 콜론을 이용해서 마운트 하도록 허용한다는것...
아래는 원문입니다. 별다른 해석이 필요없을 것 같네요
In overlayfs, multiple lower layers can now be given using the the colon (":")
as a separator character between the directory names. For example:
mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged
The specified lower directories will be stacked beginning from the rightmost one and going left.
In the above example lower1 will be the top, lower2 the middle and lower3 the bottom layer.
"upperdir=" and "workdir=" may be omitted, in that case the overlay will be read-only.
설명을 보면 마운트시에 맨 나중에 쓴 디렉토리부터 스택된다고 하니 아마도 가장 먼저 쓴 디렉토리가
가장 위에서 보이는... 다시 말하면 lower3 에 있는 파일시스템의 내용이 lower1 에도 있다면
lower1 에 있는 파일이 보이게 될 겁니다.