Manjaro Linuxを使用して両方のコンピュータのドライブを共有し、両方のコンピュータで1つのディレクトリとして処理したいと思います。
私はmergefsとsshfsを使っていて、Bのドライブの1つをAと共有し、それをマージした後、マージされたフォルダをBと共有すると機能します。これでBのドライブもマージしてみましたが、まだ失敗しました。
可能であれば、他のコンピュータの接続が失われても、コンピュータが機能し続けるようにしたいと思います。 NFSは、接続が切断されると他のコンピュータを停止させるので、最終的にsshfsを使用するようになりました。
以前私が経験した唯一のエラーは、いくつかのアプリケーションで、input/output error
またはpermission denied
。適切な権限がないために発生しているようです。私もこのエラーを避け、特定のタスクを頻繁に実行する必要がないようにしたいと思いますchmod -R 777 /mnt/merged
。わからないこのソリューションmergefsで使用されます。
これは私が試したが成功しなかったものです。
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
[email protected]:/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
[email protected]:/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
これが私が使用するものです。ドライブを前後に共有するため、マージされたフォルダへのアクセスが遅くなります。
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
[email protected]:/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
[email protected]:/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
答え1
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
[email protected]:/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
[email protected]:/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
両方のコンピュータでこれを行いました。
- 権限の変更
❯ sudo chown $USER:$USER /mnt/storage &
❯ chmod -R ugo+rw /mnt/storage &
setgid
以下のファイル/フォルダが同じグループを使用して作成されるようにこのビットを設定します。
❯ chmod g+s /mnt/storage &
- グループおよびその他のグループのデフォルト ACL 設定
# 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 &