I want to share the drives of two computers using Manjaro Linux and see them all as one directory in both computers.
I’ve been using mergerfs and sshfs and it was working when I shared one drive of B with A, merged them there and shared the merged folder back with B. Now I’ve tried merging the drives of B too but I haven’t managed to do it.
If possible I would like the computers to still work while the other is disconnected. NFS made one computer hang when the other was disconnected which is why I ended up using sshfs.
The only error I had before was some applications giving input/output error
or permission denied
. Which I guess it’s because I didn’t have the proper permissions. I would like to avoid that error too, without having to execute something like chmod -R 777 /mnt/merged
often. I don’t know if this solution works with mergerfs.
This is what I’ve tried to do without success
user@A ❯ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=1615d12a-a9fb-41a9-a84b-34c618f16832 /mnt/hdd1 ext4 nosuid,nodev,nofail,x-gvfs-show 0 0
UUID=d605a480-f133-443c-8fe7-5b0a2d1c60c1 /mnt/hdd2 ext4 nosuid,nodev,nofail,x-gvfs-show 0 0
user@192.168.1.45:/mnt/hdd0 /mnt/hdd0 fuse.sshfs IdentityFile=/home/user/.ssh/id_rsa,uid=1000,gid=1000,allow_other,default_permissions,_netdev,follow_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto 0 0
/mnt/hdd* /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,x-gvfs-show 0 0
user@B ❯ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=301e3d8d-6c0a-4f7c-864b-4185a70efbb0 /mnt/hdd1 auto nosuid,nodev,nofail,x-gvfs-show 0 0
UUID=be8b9fd3-7ed2-45ae-881a-25fa06f4de47 /mnt/hdd2 auto nosuid,nodev,nofail,x-gvfs-show 0 0
user@192.168.1.122:/mnt/storage /mnt/hdd0 fuse.sshfs IdentityFile=/home/user/.ssh/id_rsa,uid=1000,gid=1000,allow_other,default_permissions,_netdev,follow_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime 0 0
/mnt/hdd* /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,x-gvfs-show 0 0
This is what I was using, which is working fine.
user@A ❯ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=1615d12a-a9fb-41a9-a84b-34c618f16832 /mnt/hdd1 ext4 nosuid,nodev,nofail,x-gvfs-show 0 0
UUID=d605a480-f133-443c-8fe7-5b0a2d1c60c1 /mnt/hdd2 ext4 nosuid,nodev,nofail,x-gvfs-show 0 0
user@192.168.1.45:/mnt/hdd1 /mnt/hdd0 fuse.sshfs _netdev,follow_symlinks,IdentityFile=/home/user/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto,x-gvfs-show 0 0
/mnt/hdd* /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,x-gvfs-show 0 0
user@B ❯ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=301e3d8d-6c0a-4f7c-864b-4185a70efbb0 /mnt/hdd1 auto nosuid,nodev,nofail,x-gvfs-show 0 0
UUID=be8b9fd3-7ed2-45ae-881a-25fa06f4de47 /mnt/hdd2 auto nosuid,nodev,nofail,x-gvfs-show 0 0
user@192.168.1.122:/mnt/storage /mnt/storage fuse.sshfs _netdev,follow_symlinks,IdentityFile=/home/user/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto,x-gvfs-show 0 0
user@A ❯ cat /etc/fstab
/mnt/hdd* /mnt/merged fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,posix_acl=true 0 0 user@192.168.1.45:/mnt/merged /mnt/shared fuse.sshfs _netdev,user,idmap=user,follow_symlinks,IdentityFile=/home/user/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1001,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,noatime,x-gvfs-show 0 0 /mnt/hdd*:/mnt/shared /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,posix_acl=true,x-gvfs-show 0 0
user@B ❯ cat /etc/fstab
/mnt/hdd* /mnt/merged fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,posix_acl=true 0 0 user@192.168.1.122:/mnt/merged /mnt/shared fuse.sshfs _netdev,user,idmap=user,follow_symlinks,IdentityFile=/home/user/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1001,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,noatime,x-gvfs-show 0 0 /mnt/hdd*:/mnt/shared /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=partial,dropcacheonclose=true,ignorepponrename=true,func.mkdir=epall,posix_acl=true,x-gvfs-show 0 0
I did this in both computers
❯ sudo chown $USER:$USER /mnt/storage & ❯ chmod -R ugo+rw /mnt/storage &
setgid
bit, so that files/folder under <directory> will be created with the same group as <directory>❯ chmod g+s /mnt/storage &
# Gives read,write,exec permissions for currently existing files and folders, recursively. ❯ setfacl -R -m u::rwx,g::rwx,o::rwx /mnt/storage & # Gives rwx permissions by default, recursively. ❯ setfacl -R -d -m u::rwx,g::rwx,o::rwx /mnt/storage &