NFS-Ganesha

Software Screenshot:
NFS-Ganesha
Software Details:
Version: 2.2.0 updated
Upload Date: 10 May 15
Developer: Philippe DENIEL
Distribution Type: Freeware
Downloads: 9

Rating: nan/5 (Total Votes: 0)

NFS-Ganesha is a completely free, easy to install, easy to configure, multiplatform and open source command-line software project, a daemon that implementes a Network File System (NFS) server on any GNU/Linux or BSD operating systems.

Runs in User Space, supports pNFS and 9P

While the software runs completely in User Space, it supports version 3, 4.0 and 4.1 of Parallel NFS (pNFS), as well as the 9P protocol from the Plan9 operating system. All these protocols are supported concurrently by NFS-Ganesha.

Designed with two goals in mind

The software has been designed with two goals in mind, to provide NFS exports to several namespaces and filesystems, and to provides very large data caches and metadata. It supports the NFS v3, NFS 4.0, NFS 4.1 (including pNFS) protocols.

The software is engineered in such a way that it can use dedicated backend modules called FSAL (File System Abstraction Layer). Among the available FSAL modules, we can mention FSAL/POSIX, FSAL/SNMP, FSAL/PROXY, and FSAL/FUSELIKE.

Getting started with NFS-Ganesha

To install the NFS-Ganesha software on your GNU/Linux operating system, you must first download the latest release from either Softoware or the project’ official website (see the homepage link at the end of the article), save the archive somewhere on your PC (preferably your Home directory) and use an archive manager to extract its contents.

Open a Terminal app, go to the location where you have extracted the archive file (e.g. cd /home/softoware/nfs-ganesha-2.1.0-0.1.1-Source - replace ‘softoware’ with your username), and run the ‘cmake .’ command on the root folder to configure the program.

Then, run the ‘make’ command to compile it and generate the executable, which can be installed system wide by running the ‘make install’ command as root or the ‘sudo make install’ command as a privileged user.

What is new in this release:

  • Exports are now dynamic. They can be added or removed via DBus commands. The manage_exports python script has been updated to support the feature.
  • The Pseudo filesystem has been re-written as a FSAL. This enables dynamic exports. Submounted filesystems also work base on this change.
  • The configuration file processing has been rewritten to improve error checking and logging. All parameters are consistently checked for range. The validation of the whole configuration blocks are also checked.
  • GIDs can now be managed to use external authentication sources. This fixes the protocol limitation of AUTH_SYS which restricted the number of alternate gids to 16.
  • RPM packaging has been restructured and updated. The DBus tools are now packaged.

What is new in version 2.1.0:

  • Exports are now dynamic. They can be added or removed via DBus commands. The manage_exports python script has been updated to support the feature.
  • The Pseudo filesystem has been re-written as a FSAL. This enables dynamic exports. Submounted filesystems also work base on this change.
  • The configuration file processing has been rewritten to improve error checking and logging. All parameters are consistently checked for range. The validation of the whole configuration blocks are also checked.
  • GIDs can now be managed to use external authentication sources. This fixes the protocol limitation of AUTH_SYS which restricted the number of alternate gids to 16.
  • RPM packaging has been restructured and updated. The DBus tools are now packaged.

What is new in version 2.0.0:

  • NFSv4.1 support has been greatly improved and now fully supports pNFS I/O operations. This feature makes the power and capacity of clustered and distributed file systems available to clients.
  • NLM state and lock management is unified with NFSv4 state and lock management.
  • Plan 9 (9P) support is much improved. This is the 9P.2000L level protocol.
  • File system backends are now loadable modules. This means that any number of backends and exports via those backends can be configured.
  • There has been extensive work done to the core of the server. Multi-threaded scaleability and memory usage is much improved. The protocol correctness and export access controls are much better.
  • System administration is now managed via a DBus server interface. This replaces the SNMP and statistics facilities of earlier versions.
  • NFSv2 support has been dropped. Version 2 of the protocol has long outlived its usefulness and cannot support the handle sizes required for modern distributed filesystems. Support for the older unmount operations have been retained for backward compatibility with some clients.
  • The SNMP management MIB has been removed. It is replaced by the DBus management interface. SNMP support could be provided by an SNMP to DBus proxy.
  • Some of the older FSAL implementations have been dropped due to the lack of community interest. These include the FUSE and POSIX FSALs.

What is new in version 1.0.4:

  • init.d scripts are now closer to LSB requirements
  • Bug fix: race condition when inserting the same new entry several time and concurrently in metadata cache
  • Bug fix : it was impossible to set "/" as an export's entry's pseudopath
  • Bug fix : badly pack fsal_handle in FSAL_PROXY could create 2 entries in cache_inode for a single file.
  • Bug fix : memory violation in FSAL_PROXY for fattr4's type based on nfs4time

What is new in version 1.0.3:

  • A regression in FSAL_PROXY was fixed (size of NFSv4 handles)
  • HashTable support hash functions that compute hashval and rbtval in one pass
  • Cache_inode uses a "dual value compute function" in its hashtable
  • Reverse clientid mapper uses a "dual value compute function" in its hashtable
  • pNFS/LAYOUT4_NFSV4_1_FILES : several bug fixed (see git log)
  • DupReq indexation has been reviewed: now (src_ipaddr,port,xid,additional cksum) tuple is used as key
  • workers's selection has been reviewed to reduce CPU comsumption in the case a very large number of workers is used.
  • security fixed : when 'root' is mapped as nobody, its 'altgroups' is cleared
  • Configuration can now reduce the version of NFS advertsised to rpcbind (to avoid NFSv2 for example).
  • XML output has been added to non-regression tests for easier integration in HudsonCI
  • A few changes in NLM implementation
  • FSAL_HPSS has been ported to HPSSv7.3.2
  • Better management of NFSv4.x attribute FATTR4_CHANGE

What is new in version 1.0.2:

  • This version includes several fixes for bugs found during the last Fall Bake-A-Thon.
  • The FSAL_ZFS now supports access to ZFS snapshots (the ".zfs" directory for those who are familiar with ZFS).
  • Memory management has been reviewed in depth.

What is new in version 0.99.63:

  • This release integrates the support of NLMv4 protocol (lock management for NFSv3) and several bug fixes. pNFS implementation will be done in next release (with LAYOUT4_FILES support).

What is new in version 0.99.62:

  • This release includes many bug fixes but no major feature upgrade (this will come with the next version with new pNFS stuff in it). The way the packages is managed has changed too

What is new in version 0.99.61:

  • A patch from Eric Sesterhenn about memleaks has been integrated.
  • Bug Fix : now check value of csa_flags for OP4_CREATE_SESSION
  • Bug Fix : OP4_LOOKUPP should return NFS4ERR_SYMLINK instead of NFS4ERR_NOTDIR when cfh is related to a symbolic link.
  • Bug Fix : error NFS4ERR_NOT_ONLY_OP managed for OP4_EXCHANGE_ID
  • Bug Fix : OP4_LOOKUPP should return NFS4ERR_NOENT when called from the rootfh
  • Bug Fix : management of NFS4ERR_NOT_ONLY_OP introduced a bug when compiling without NFSv4.1 support. This is now fixed.
  • Changed bad #define in Log/log_functions.c (former situation could lead to possible buffer overflow)
  • A patch by Erik Levinson about the use of libnfsidmap with gssrpc has been integrated
  • Bug Fix : it was impossible to compile with both support for gssrpc and support for NFSv4.1 (mismatch in nfsv41.h and xdr_nfsv41.c)

What is new in version 0.99.60:

  • The uid/gid mapping functions did a bad use of their related idmapper_cache functions (the cache was not used in several cases)
  • Bug Fix : with kernel newer than 2.6.29, Connectathon's test6 failed on NFSv4 and NFSv4.1. This is now fixed : eod is returned only when the array of requested entries is empty (no more entry to be read in the directory).
  • Lock supports goes successfully through BULL's locktest when used on top of NFSv4.1 (problems remains with NFSv4.0)
  • Bug Fix: NFSv4 rsize/wsize had always value 1024 that killed performances.
  • Bug Fix : in nfsv4, the same open_owner opening a previously opened fileid did not get the same stateid.
  • Bug Fix : most of the time, files opened/created via NFSv4 were never closed

Similar Software

SVFS
SVFS

20 Feb 15

ReiserFSprogs
ReiserFSprogs

19 Jun 16

Sharity
Sharity

3 Jun 15

FDMS3-FS
FDMS3-FS

2 Jun 15

Comments to NFS-Ganesha

Comments not found
Add Comment
Turn on images!