Как мне автоматически смонтировать файловую систему unionfs-fuse?

Я могу запустить команду оболочки:

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

Это монтирует файловую систему именно так, как я хочу. Теперь мне нужно включить его в автомонтаж, чтобы он перемонтировался по требованию.

То, что я пробовал в /etc/auto.misc:

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

Что автомонтирует --debug -f /etc/auto.master, когда я делаю 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 показывает мало. Страницы руководства довольно пусты при включении этой файловой системы.

Может быть, я должен просто положить его в / etc / fstab и попросить пользователей перемонтировать?

3
задан 11 February 2014 в 21:14

2 ответа

автосмонтирование unionfs с autofs

TLDR : создайте следующую запись в /etc/auto.misc и включите ее в свой etc/auto.master (как описано ниже).

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

Бонус : создание автомонтирования unionfs поверх автомонтирования nfs (чтобы показать, как правильно настроить autofs)

При использовании NFSv4 включите IMAPD в /etc/default/nfs-common

NEED_IDMAPD=yes

Если вы хотите, чтобы autofs всегда создавал каталоги для ваших монтировок, включите browse_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

autofs монтирует все файловые системы, указанные в /etc/auto.nfs в /nfs/<mount>, и все файловые системы, указанные в /etc/auto.misc в /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

.
0
ответ дан 11 February 2014 в 21:14

Я знаю, что уже слишком поздно отвечать, но добавив следующее в / etc / fstab в работах Ubuntu,

/dir/A=RW:/dir/B=RO /dir/my-union fuse.unionfs-fuse allow_other,cow,use_ino  0   0
0
ответ дан 11 February 2014 в 21:14

Другие вопросы по тегам:

Похожие вопросы: