두 컴퓨터의 드라이브를 병합하여 모두 하나의 디렉터리로 처리하려면 어떻게 해야 합니까?

두 컴퓨터의 드라이브를 병합하여 모두 하나의 디렉터리로 처리하려면 어떻게 해야 합니까?

Manjaro Linux를 사용하여 두 컴퓨터의 드라이브를 공유하고 두 컴퓨터에서 모두 하나의 디렉터리로 처리하고 싶습니다.

나는 mergefs와 sshfs를 사용해 왔고 B의 드라이브 중 하나를 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

두 컴퓨터 모두에서 이 작업을 수행했습니다.

  1. 권한 변경
❯ sudo chown $USER:$USER /mnt/storage &
❯ chmod -R ugo+rw /mnt/storage &
  1. setgid아래 파일/폴더가 동일한 그룹을 사용하여 생성되도록 이 비트를 설정합니다.
❯ chmod g+s /mnt/storage &
  1. 그룹 및 기타 그룹에 대한 기본 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 &

관련 정보