Como monto automaticamente um sistema de arquivos unionfs-fuse?

Como monto automaticamente um sistema de arquivos unionfs-fuse?

Posso executar o comando shell:

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

Isso monta o sistema de arquivos exatamente como eu quero. Agora preciso incorporá-lo ao montador automático para que seja remontado conforme necessário.

O que tentei em /etc/auto.misc:

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

O que automount --debug -f /etc/auto.master diz quando faço 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

O Google revela pouco. As páginas de manual estão bastante vazias na incorporação deste sistema de arquivos.

Talvez eu deva colocá-lo em /etc/fstab e pedir aos usuários que remontem?

Responder1

Eu sei que é tarde demais para responder, mas adicionar o seguinte ao /etc/fstab no Ubuntu funciona,

/dir/A=RW:/dir/B=RO /dir/my-union fuse.unionfs-fuse allow_other,cow,use_ino  0   0

Responder2

montagem automática de unionfs com autofs

TLDR: crie a seguinte entrada /etc/auto.misce inclua-a em seu etc/auto.master(conforme descrito abaixo).

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

Bônus: Criando uma montagem automática unionfs sobre montagens automáticas nfs (para ilustrar como configurar o autofs corretamente)

Ao usar o NFSv4, habilite o IMAPD em/etc/default/nfs-common

NEED_IDMAPD=yes

Se você deseja que o autofs sempre crie diretórios para suas montagens, habilite o Browse_mode em/etc/autofs.conf

browse_mode = yes

Agora para a parte principal: adicione /etc/auto.masteras seguintes linhas

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

autofs montará todos os sistemas de arquivos especificados em /etc/auto.nfsunder /nfs/<mount>e todos os sistemas de arquivos especificados em /etc/auto.miscunder /mnt/<mount>.

No meu /etc/auto.nfseu tenho as seguintes entradas (exemplo):

# 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

E no meu /etc/auto.miscadicionei a seguinte entrada para 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

Certifique-se de que todos os arquivos tenham permissão de 644(ajuste chown 644 /etc/auto.{nfs,misc}se necessário)

Então você pode habilitar o autofs e reiniciar o serviço.

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

Agora você deve ser capaz de fazer umls /mnt/data

informação relacionada