github.com/swiftstack/ProxyFS@v0.0.0-20210203235616-4017c267d62f/docs/source/architecture/access.rst (about) 1 Access Modules & Interfaces 2 =========================== 3 4 In this section we will discuss the various access methods for ProxyFS. 5 6 7 .. image:: /_static/ProxyFS-components.png 8 :width: 575pt 9 10 Local filesystem access – FUSE 11 ------------------------------ 12 13 ProxyFS includes a FUSE module to provide a local filesystem capable of 14 being mounted on the system upon which a ProxyFS process is running. 15 16 NFS Access – nfsd 17 ----------------- 18 19 The local FUSE mount point can be configured in conjunction with an nfsd 20 to export the filesystem volume via NFS. 21 22 ProxyFS API – JSON RPC interface 23 -------------------------------- 24 25 In addition to providing a FUSE module for local filesystem, ProxyFS 26 includes a direct interface for other system components to more directly 27 interact with a volume. This interface is utilized directly for SMB 28 access via ProxyFS’s Samba VFS module. The Swift Proxy server processes 29 also leverage this API for direct access to the filesystem metadata tree 30 for object API (AWS S3 and Swift) access. 31 32 SMB Access – ProxyFS Samba VFS 33 ------------------------------ 34 35 ProxyFS provides a Samba VFS module written in C that integrates 36 directly with the Samba server processes. This module is provided in a 37 separate repository called 38 `proxyfs-vfs <https://github.com/swiftstack/proxyfs-vfs>`__. A ProxyFS 39 JSON RPC client is provided in a separate repository called 40 `proxyfs-jrpc-client <https://github.com/swiftstack/proxyfs-jrpc-client>`__. 41 42 The ProxyFS Samba VFS module utilizes the ProxyFS JSON RPC interface for 43 direct access into ProxyFS for a given volume. 44 45 Swift ProxyFS Middleware 46 ------------------------ 47 48 The Swift Proxy server is an interface to the object back end. The Proxy 49 server is responsible for the public-facing API requests for AWS S3 and 50 OpenStack Swift APIs. Much of the API functionality is provided through 51 Swift extensible middleware capabilities. 52 53 ProxyFS provides object API access through a set of middleware which 54 interfaces with the APIs provided by the ProxyFS JSON RPC interface. 55 56 This interaction is similar the ProxyFS Samba VFS module, however only 57 filesystem metadata is exchanged – *not* file data.