Ich kann den Shell-Befehl ausführen:
unionfs-fuse /changedata=RW:/immutedata=RO -o cow /data
Dadurch wird das Dateisystem genau so gemountet, wie ich es möchte. Jetzt muss ich es in den Automounter integrieren, damit es bei Bedarf erneut gemountet wird.
Was ich in /etc/auto.misc versucht habe:
/data -fstype=fuse,cow /changedata=RW:/immutedata=RO
Was automount --debug -f /etc/auto.master sagt, wenn ich ls /data mache:
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
Google verrät wenig. Die Manpages sind hinsichtlich der Einbindung dieses Dateisystems eher leer.
Vielleicht sollte ich es einfach in /etc/fstab einfügen und die Benutzer bitten, es erneut einzubinden?
Antwort1
Ich weiß, dass es für eine Antwort zu spät ist, aber das Hinzufügen des Folgenden zu /etc/fstab in Ubuntu funktioniert:
/dir/A=RW:/dir/B=RO /dir/my-union fuse.unionfs-fuse allow_other,cow,use_ino 0 0
Antwort2
Automatisches Einhängen von UnionFS mit AutoFS
Kurz zusammengefasst: Erstellen Sie den folgenden Eintrag in /etc/auto.misc
und fügen Sie ihn in Ihr ein etc/auto.master
(wie unten beschrieben).
data -fstype=fuse,cow,allow_other :unionfs\#/changedata=RW\:/immutedata=RO
Bonus: Erstellen eines UnionFS-Automounts über NFS-Automounts (um zu veranschaulichen, wie AutoFS richtig konfiguriert wird)
Wenn Sie NFSv4 verwenden, aktivieren Sie IMAPD in/etc/default/nfs-common
NEED_IDMAPD=yes
Wenn Sie möchten, dass autofs immer Verzeichnisse für Ihre Mounts erstellt, aktivieren Sie browse_mode in/etc/autofs.conf
browse_mode = yes
Kommen wir nun zum Kernteil: Fügen Sie in Ihrem /etc/auto.master
die folgenden Zeilen hinzu
# automount all nfs volumes under /nfs and misc filesystems under /mnt
/nfs /etc/auto.nfs
/mnt /etc/auto.misc
autofs mountet alle unter angegebenen Dateisysteme /etc/auto.nfs
und alle unter /nfs/<mount>
angegebenen Dateisysteme ./etc/auto.misc
/mnt/<mount>
In meinem /etc/auto.nfs
habe ich folgende (Beispiel-)Einträge:
# 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
Und in meinem /etc/auto.misc
habe ich den folgenden Eintrag für unionfs hinzugefügt
# 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
Stellen Sie sicher, dass alle Dateien die Berechtigung haben 644
(passen Sie sie chown 644 /etc/auto.{nfs,misc}
bei Bedarf an).
Anschließend können Sie Autofs aktivieren und den Dienst neu starten.
# reload autofs to enable all shares
systemctl enable autofs
systemctl restart autofs
Sie sollten nun in der Lage sein,ls /mnt/data