쉘 명령을 실행할 수 있습니다.
unionfs-fuse /changedata=RW:/immutedata=RO -o cow /data
이것은 내가 원하는 방식으로 정확하게 파일 시스템을 마운트합니다. 이제 필요할 때 다시 마운트할 수 있도록 자동 마운트에 통합해야 합니다.
/etc/auto.misc에서 내가 시도한 것:
/data -fstype=fuse,cow /changedata=RW:/immutedata=RO
ls /data를 수행할 때 automount --debug -f /etc/auto.master가 말하는 내용:
handle_packet: type = 5
handle_packet_missing_direct: token 19, name /data, request pid 6063
attempting to mount entry /data
lookup_mount: lookup(file): looking up /data
lookup_mount: lookup(file): /data -> -fstype=fuse,cow /changedata=RW:/immutedata=RO
parse_mount: parse(sun): expanded entry: -fstype=fuse,cow /changedata=RW:/immutedata=RO
parse_mount: parse(sun): gathered options: fstype=fuse,cow
parse_mount: parse(sun): dequote("/changedata=RW:/immutedata=RO") -> /changedata=RW:/immutedata=RO
parse_mapent: parse(sun): gathered options: fstype=fuse,cow
parse(sun): invalid location
dev_ioctl_send_fail: token = 19
failed to mount /data
구글은 거의 공개하지 않습니다. 이 파일 시스템을 통합하면 매뉴얼 페이지가 비어 있습니다.
어쩌면 /etc/fstab에 넣고 사용자에게 다시 마운트하도록 요청해야 할까요?
답변1
답변하기에는 너무 늦었다는 것을 알고 있지만 Ubuntu의 /etc/fstab에 다음을 추가하면 작동합니다.
/dir/A=RW:/dir/B=RO /dir/my-union fuse.unionfs-fuse allow_other,cow,use_ino 0 0
답변2
autofs를 사용하여 Unionfs 자동 마운트
TLDR: 아래에 설명된 대로 다음 항목을 생성 /etc/auto.misc
하고 포함합니다 etc/auto.master
.
data -fstype=fuse,cow,allow_other :unionfs\#/changedata=RW\:/immutedata=RO
보너스: nfs 자동 마운트 위에 Unionfs 자동 마운트 생성(autofs를 올바르게 구성하는 방법을 설명하기 위해)
NFSv4를 사용하는 경우 IMAPD를 활성화합니다./etc/default/nfs-common
NEED_IDMAPD=yes
autofs가 항상 마운트용 디렉터리를 생성하도록 하려면 다음에서 browser_mode를 활성화하십시오./etc/autofs.conf
browse_mode = yes
이제 핵심 부분으로 이동하십시오. /etc/auto.master
다음 줄을 추가 하십시오.
# automount all nfs volumes under /nfs and misc filesystems under /mnt
/nfs /etc/auto.nfs
/mnt /etc/auto.misc
/etc/auto.nfs
autofs는 under 에 지정된 모든 파일 시스템 /nfs/<mount>
과 /etc/auto.misc
under 에 지정된 모든 파일 시스템을 마운트합니다 /mnt/<mount>
.
내에는 /etc/auto.nfs
다음과 같은 (예제) 항목이 있습니다.
# FileServer: nfs data configuration
data01 -fstype=nfs4,ro,soft,intr,rsize=8192,wsize=8192,nosuid,tcp,allow_other 192.168.3.100:/mnt/data01
data02 -fstype=nfs4,ro,soft,intr,rsize=8192,wsize=8192,nosuid,tcp,allow_other 192.168.3.100:/mnt/data02
data03 -fstype=nfs4,ro,soft,intr,rsize=8192,wsize=8192,nosuid,tcp,allow_other 192.168.3.100:/mnt/data03
data04 -fstype=nfs4,ro,soft,intr,rsize=8192,wsize=8192,nosuid,tcp,allow_other 192.168.3.100:/mnt/data04
data05 -fstype=nfs4,ro,soft,intr,rsize=8192,wsize=8192,nosuid,tcp,allow_other 192.168.3.100:/mnt/data05
그리고 나는 /etc/auto.misc
Unionfs에 대해 다음 항목을 추가했습니다.
# unionfs mount of all /nfs/data* mounts into /mnt/data
data -fstype=fuse,allow_other,use_ino,ro,noatime :unionfs\#/nfs/data01=RO\:/nfs/data02=RO\:/nfs/data03=RO\:/nfs/data04=RO\:/nfs/data05=RO
모든 파일에 권한이 있는지 확인하십시오 644
(필요한 경우 조정 chown 644 /etc/auto.{nfs,misc}
).
그런 다음 autofs를 활성화하고 서비스를 다시 시작할 수 있습니다.
# reload autofs to enable all shares
systemctl enable autofs
systemctl restart autofs
이제 다음을 수행할 수 있습니다.ls /mnt/data