FuseFS 파일 시스템을 사용하면 어떤 이점과 단점이 있습니까?


19

나는 퓨즈를 통해 일부 파일 시스템이 존재한다는 것을 알고 있으며이 접근법의 장단점이 궁금합니다.

답변:


17

실제 디스크상의 파일 시스템이나 파일 시스템을 의미한다면 긍정적이지 않습니다. 필자는 정상적인 파일 시스템이 FUSE를 사용하는 것을 본 적이 없다. FUSE의 주요 이점은 파일 시스템처럼 보이는 응용 프로그램 (또는 사용자)에게 무언가를 제공 할 수 있지만 사용자가 디렉토리에 파일을 나열하거나 새 파일을 작성하는 등의 작업을 시도 할 때 실제로 응용 프로그램 내에서 함수를 호출한다는 것입니다. 파일. Plan9 는 파일 시스템을 통해 모든 것을 액세스 할 수있게하는 것으로 잘 알려져 있으며, /proc의사 파일 시스템은 그로부터 나옵니다. FUSE는 애플리케이션이 해당 패턴을 쉽게 따를 수있는 방법입니다.

예를 들어 다음은 SE 사이트 데이터에 액세스 할 수있는 (매우 기능이없는) FUSE 파일 시스템의 스크린 샷입니다.

작동중인 FUSE 파일 시스템의 스크린 샷

당연히 그러한 파일은 실제로 존재하지 않습니다. ls디렉토리 FUSE의 파일 목록을 요청 했을 때 사용자 프로그램 (me)에 대한 정보를로드하기 위해이 사이트에 API 요청을 한 내 프로그램에서 함수를 호출했습니다. cat에서 읽으려고 display_name하고 website_url아무것도하지 않고 메모리에서 캐시 된 데이터를 반환 더 많은 기능을 호출 실제로 디스크에 존재하는


3
FAT , NTFS , iso9660 , ext2 등 의 FUSE 구현이 있습니다 .
Gilles 'SO- 악마 중지

2
LessFS, GlusterFS, MooseFS와 같이 퓨즈에서 구현 된 강력한 파일 시스템을 찾을 수 있습니다. POSIX가 아닌 Google의 GFS도 사용자 공간에서 실행됩니다.
Tobu

그 앱은 어디에서 찾았습니까?!?!
Nathan Osman

4
@George 나는 SO API를 망칠 때 썼다. / users를 제외한 모든 경로를 사용하지 않으므로 기본적으로 해당 스크린 샷에 구현 된 모든 기능이 표시됩니다. 그것은 얼마나 힘든지 알기 위해서였습니다
Michael Mrozek

5
@George 나는 그것을 github
Michael Mrozek

19

유닉스 파일 시스템은 전통적으로 커널에서 구현됩니다. FUSE를 사용하면 파일 시스템을 사용자 프로그램으로 구현할 수 있습니다.

커널 내부 파일 시스템은 프로그램 및 데이터의 기본 파일 시스템에 더 적합합니다.

  • 부트 미디어에서 사용할 수 있습니다 (FUSE 파일 시스템을 구현하는 프로그램을 다른 곳에서로드해야 함).
  • 프로세스가 충돌하거나 실수로 사망하여 사라지지 않기 때문에 더 강력합니다.
  • 다소 빠릅니다.

FUSE 파일 시스템은 다음과 같은 장점이 있습니다.

  • 일반 사용자가로드 및 마운트 할 수 있으므로 사용자가 직접 마운트하려는 파일 시스템 (네트워크 액세스, 아카이브 파일 통과, 이동식 매체 등)에 편리합니다.
  • FUSE 파일 시스템 드라이버가 충돌하면 커널에 패닉이 발생하지 않습니다. 파일 시스템에 액세스하는 응용 프로그램에서 I / O 오류보다 나쁜 것은 없습니다.
  • 그것들은 매우 빠르게 프로그래밍 될 수 있습니다; 거기 FUSE 바인딩 유용한 FUSE 파일 시스템 드라이버 코드의 몇 백 라인에 기록 될 수있는 많은 스크립팅 언어는.
  • 관리자 개입없이 설치할 수 있고 지원되는 OS 간에 쉽게 이식 할 수 있기 때문에 매우 빠르게 배포 할 수 있습니다 .
  • 커널과 정적으로 연결되는 것과 관련된 라이센스 문제는 없습니다 (이는 zfs 에 영향을 미칩니다 ).

7

FUSE는 실제로 파일 시스템이 아니라 커널 시스템 대신 프로세스로 파일 시스템을 구현할 수있는 코드입니다.

FUSE의 가장 유용한 이점 중 하나는 GPL 코드가 GPL 이외의 코드와 "혼합"될 수 있도록하는 것입니다. 예를 들어 OpenSolaris 및 * BSD http://www.tuxera.com/community/ntfs-3g-download/ 와 같은 많은 OS 에서 Gnu / Linux 및 ZFS http://zfs-fuse.net/ 또는 NTFS-3G

주요 단점은 기본 (커널) 드라이버와 비교했을 때 성능에 미치는 영향입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.