원격 폴더를 마운트하는 가장 좋은 방법 RasberryPi가 있으며 컴퓨터 B의 컴퓨터 A에서

데비안 wheezy를 실행하는 두 개의 RasberryPi가 있으며 컴퓨터 B의 컴퓨터 A에서 폴더를 마운트하고 싶습니다.

가장 효율적인 방법은 무엇입니까?

SMB를 통해 할 수는 있지만 Windows 용이므로 Linux를 공유하는 더 좋은 방법이 있어야한다고 생각합니다.



답변

많은 것을 사용할 수 있으며 그 중에서 인기있는 옵션은 다음과 같습니다.

  • NFS
  • 삼바 / CIFS
  • SSHFS

설치가 쉬워서 순서대로 배치해야한다고 생각합니다 (상단 : 가장 쉬운 방법)

SSHFS

FUSE를 통해 ssh를 통해 원격 파일 시스템을 마운트 할 수 있습니다. 크리스토퍼 (Cristopher)가 이미 잘 설명했듯이, 나는 어떻게 다루지 않을 것이다. 파일을 자동으로 마운트하려면 약간의 작업이 더 필요합니다 .

삼바

Windows 및 Unix 시스템을 사용하여 원격 폴더에 액세스 할 수 있습니다. 그것이 당신에게 큰 문제가 아니라면 아마 혜택을 얻지 못할 것입니다. 그러나 초기화시 자동 마운트가 쉽습니다 ( 옵션 열을 /etc/fstab포함하여 username=<your-samba-username>,password=<your-samba-password>에 적절한 값을 입력하십시오) .

NFS

그것은 IP를 통해 (사용자 이름이없는 것 = 더 빠르고, 적대적이지 않은 LAN 내부에서만 사용 ) 또는 Kerberos 티켓을 통해 인증 할 수있게합니다 (두 개의 라스베리에는 너무 고통 스럽지만 회사 환경에는 유용합니다).

커널 모드를 지원하므로 sshfs보다 빠르게 실행됩니다. 또한 암호화가 수행되지 않기 때문에 처리량이 향상되며 작은 Raspberry ARM의 경우 차이가 발생할 수 있습니다.

게다가 단순히 네트워크를 신뢰하도록 설정하는 것이 그리 어렵지 않습니다. 당신은에서 자동 마운트 지원이 /etc/fstab너무, 당신은 (예 : 사용자 이름 또는 암호와 같은) 민감한 데이터를 넣을 필요가 없습니다, 당신이 당신의 사용자 이름이 syncrhronized이 (같은 경우 /etc/passwd/etc/group파일) 당신은 일반적인 POSIX 권한 도구 세트를 사용 (수 chown, chgrpchmod).


답변

SSHFS는 훌륭합니다. FUSE 로 로컬 디렉토리에 원격 디렉토리를 마운트 할 수 있습니다 . 아래 #명령은 명령이으로 실행 되었음을 나타내며 일반 사용자로서의 실행 root$나타냅니다. FUSE 소프트웨어가 필요하기 때문에 먼저 사용 가능하고 실행 중인지 확인하십시오.

아래 의 lsmodgrep명령 중 하나는 소프트웨어가로드되어 사용할 준비가되었는지 확인할 수 있습니다. 두 명령 중 하나의 결과 fuse는 사용 가능함을 나타냅니다 .

# lsmod | grep fuse
$ grep -i fuse /lib/modules/$(uname -r)/modules.builtin

두 명령 중 어느 결과도 나오지 않으면 다시 부팅하지 않고 커널 모듈을로드하고 modprobe다시 확인하십시오.

# modprobe fuse
# lsmod fuse

모듈로드에 실패하면로 소프트웨어를 설치하십시오 apt-get.

# apt-get install fuse

설치 후 다시 확인하십시오.

# modprobe fuse
# lsmod fuse

계속하기 전에 FUSE를 설치하고 실행해야합니다.


의 권한을 확인하십시오 /dev/fuse. 권한은 일반 사용자 계정에 읽기 및 쓰기 권한을 제공해야합니다. 일반 사용자 계정에 이미 읽기 및 쓰기 권한이 있다고 판단되면이 부분을 건너 뛰십시오 /dev/fuse.

# ls -l /dev/fuse

출력은 다음 중 하나 일 수 있습니다.

crw-rw-rw- 1 root root (all users can read/write)
crw------- 1 root fuse (only root can read/write)
crw-rw---- 1 root fuse (root and members of fuse group can read/write)

2013 년, 나의 데비안 /dev/fuse0600권한 owner root, group owner로 생성했습니다 fuse. 나는 수 있도록 필요한 퓨즈 그룹이 장치를 사용하여 다음과 같이 그룹 내 일반 사용자 계정을 추가 할 수 있습니다.

# usermod -aG fuse $your_regular_user_account
# chmod 0660 /dev/fuse

새 그룹 멤버십이 필요한 경우 로그 아웃했다가 다시 로그인하여 그룹의 멤버가 되십시오.


다음 ssh과 같이 양쪽에 설치하십시오 .

# apt-get install ssh

이 답변은 데비안 용으로 작성되었지만 최소한 우분투 18.x openssh-client에서는 fuse, 그리고 몇몇 다른 패키지는 우분투 sshfs패키지 의 일부입니다 . sshfs소프트웨어는 클라이언트 측에서 필요하지만 원하는 경우는 양쪽에 설치 될 수 있습니다. 패키지 종속성 중 하나는입니다 fuse. 그러나 설치 프로그램은 이미 설치된 소프트웨어를 건너 뜁니다.

# Ubuntu 18.x:
# apt-get install sshfs

사용 가능 fuse하고 ssh사용 가능하며 디바이스 사용 권한이 있으면 /dev/fuse원격 파일 시스템의 마운트 지점을 작성하십시오. 원격 파일 시스템을 다음과 같이 로컬로 마운트하십시오.

# mkdir /mnt/$directory_name
# chown $your_user:$group /mnt/$directory_name/
$ sshfs $remote_username@$remote_server_name: /mnt/$directory_name/

home 이외의 디렉토리를 마운트하려면 콜론 뒤에 지정하십시오.

$ sshfs $remote_username@$remote_server_name:/remote/directory /mnt/$directory_name

마운트를 해제하려면을 사용하십시오 fusermount.

fusermount -u /mnt/$directory_name

Windows 시스템이 있으면 win-sshfs 와 함께 SSHFS를 사용할 수 있습니다 . 이 소프트웨어는 SSHFS로 “드라이브를 매핑”하므로 원격 디렉토리를 포함하는 Windows 드라이브 문자를 가질 수 있습니다.


답변

리눅스에서는 NFS를 선택할 것입니다 (또한 배포판에 적용 가능한 정보가있는 archwiki 기사 를 확인하십시오 ). 삼바보다 고급 기능이 있습니다. 파일을 잠글 필요가있는 경우 (즉, 동시 액세스) nfs는 상태 비 저장이므로 잠긴 상태도 확인해야합니다. 그러나 smb보다 구성하기가 어렵습니다. 삼바와 nfs를 모두 사용하여 어느 것이 귀하의 요구에 맞는지 확인하는 것이 좋습니다.


답변

과거에 SFTP net drive와 ExpanDrive를 모두 사용했으며 sshfs가 두 가지 모두 성능이 뛰어납니다.


답변