web-dev-qa-db-fra.com

Comment monter automatiquement un système de fichiers unionfs-Fuse?

Je peux exécuter la commande Shell:

unionfs-Fuse /changedata=RW:/immutedata=RO -o cow /data

Cela monte le système de fichiers exactement comme je le veux. Maintenant, je dois l’intégrer à l’automounter pour qu’il soit remonté à la demande.

Ce que j'ai essayé dans /etc/auto.misc:

/data -fstype=Fuse,cow /changedata=RW:/immutedata=RO

Ce que automount --debug -f /etc/auto.master dit quand je fais ls/data:

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 révèle peu. Les pages de manuel sont plutôt vides lors de l'incorporation de ce système de fichiers.

Peut-être que je devrais juste le mettre dans/etc/fstab et demander aux utilisateurs de remonter?

3
Árni St. Sigurðsson

montage automatique de unionfs avec autofs

TLDR: créez l'entrée suivante dans /etc/auto.misc et incluez-la dans votre etc/auto.master (comme indiqué ci-dessous).

data    -fstype=Fuse,cow,allow_other :unionfs\#/changedata=RW\:/immutedata=RO

Bonus: Création d'un unionfs automount au-dessus de nfs automounts (pour illustrer comment configurer correctement autofs)

Lorsque vous utilisez NFSv4, activez IMAPD dans /etc/default/nfs-common

NEED_IDMAPD=yes

Si vous voulez que autofs crée toujours des répertoires pour vos montages, activez browse_mode dans /etc/autofs.conf

browse_mode = yes

Passons maintenant à la partie principale: dans votre /etc/auto.master ajoutez les lignes suivantes

# automount all nfs volumes under /nfs and misc filesystems under /mnt
/nfs   /etc/auto.nfs
/mnt   /etc/auto.misc

autofs montera tous les systèmes de fichiers spécifiés dans /etc/auto.nfs sous /nfs/<mount> et tous les systèmes de fichiers spécifiés dans /etc/auto.misc sous /mnt/<mount>.

Dans mon /etc/auto.nfs j'ai les entrées suivantes (exemple):

# 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

Et dans mon /etc/auto.misc j'ai ajouté l'entrée suivante pour 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

Assurez-vous que tous les fichiers ont l'autorisation de 644 (ajustez avec chown 644 /etc/auto.{nfs,misc} si nécessaire)

Ensuite, vous pouvez activer autofs et redémarrer le service.

# reload autofs to enable all shares
systemctl enable autofs
systemctl restart autofs

Vous devriez maintenant pouvoir faire un ls /mnt/data

2
rwenz3l

Je sais qu'il est trop tard pour répondre, mais l'ajout de ce qui suit à/etc/fstab dans Ubuntu fonctionne,

/dir/A=RW:/dir/B=RO /dir/my-union Fuse.unionfs-Fuse allow_other,cow,use_ino  0   0
1
Loki Arya