# OneFS distributed file system

The OneFS File System is a parallel distributed networked file system designed by Isilon Systems and is the basis for the Isilon Scale-out Storage Platform. The OneFS file system is controlled and managed by the OneFS Operating System, a FreeBSD variant.

## On-disk Structure

All data structures in the OneFS file system maintain their own protection information. This means in the same filesystem, one file may be protected at +1 (basic parity protection) while another may be protected at +4 (resilient to four failures) while yet another file may be protected at 2x (mirroring); this feature is referred to as FlexProtect. FlexProtect is also responsible for automatically rebuilding the data in the event of a failure. The protection levels available are based on the number of nodes in the cluster and follow the Reed Solomon Algorithm. Blocks for an individual file are spread across the nodes. This allows entire nodes to fail without losing access to any data. File metadata, directories, snapshot structures, quotas structures, and a logical inode mapping structure are all based on mirrored B+ trees. Block addresses are generalized 64-bit pointers that reference (node, drive, blknum) tuples. The native block size is 8192 bytes; inodes are 512 bytes on disk (for disks with 512 byte sectors) or 8KB (for disks with 4KB sectors).
One distinctive characteristic of OneFS is that metadata is spread throughout the nodes in a homogeneous fashion. There are no dedicated metadata servers. The only piece of metadata that is replicated on every node is the address list of root btree blocks of the inode mapping structure. Everything else can be found from that starting point, following the generalized 64-bit pointers.

## Clustering

The collection of computer hosts that comprise a OneFS System is referred to as a "cluster". A computer host that is a member of a OneFS cluster is referred to as a "node" (plural "nodes").
The nodes that comprise a OneFS System must be connected by a high performance, low-latency back-end network for optimal performance. OneFS 1.0-3.0 used Gigabit Ethernet as that back-end network. Starting with OneFS 3.5, Isilon offered InfiniBand models. From about 2007 until mid-2018, all nodes sold utilized an InfiniBand back-end. Starting with OneFS 8.1.0 and Gen6 models, Isilon again offers Ethernet back-end network (10, 25, 40, or 100 Gigabit).
Data, metadata, locking, transaction, group management, allocation, and event traffic are communicated using an RPC mechanism traveling over the back-end network of the OneFS cluster. All data and metadata transfers are zero-copy. All modification operations to on-disk structures are transactional and journaled.

## Protocols

OneFS supports accessing stored files using common computer network protocols including NFS, CIFS/SMB, FTP, HTTP, and HDFS. It can utilize non-local authentication such as Active Directory, LDAP, and NIS. It is capable of interfacing with external backup devices and applications that use NDMP protocol.

## OneFS Operating System

The OneFS File System is a proprietary file system that can only be managed and controlled by the FreeBSD-derived OneFS Operating System.
zsh is the default login shell of the OneFS Operating System. OneFS presents a specialized command set to administer the OneFS File System. Most specialized shell programs start with letters isi. Notable exceptions are the Isilon extensions to the FreeBSD ls and chmod programs.

## Versions

* 1.0 "Bell," 2.0 "Jalapeno," 3.0 "Serrano," 3.5 "Tabasco"
* 4.0 "Poblano," 4.1 "Anaheim," 4.5 "Thai," 4.6 "Ancho"
* 4.7 "Chiltepin"
** 4.7.1 to .11
* 5.0 "Jamaican"
** 5.0.0 to .8
* 5.5 "Scotch Bonnet" (based on FreeBSD 6.1)
** 5.5.1 to .2
** 5.5.3 - OS updates with rolling reboots of individual nodes.
** 5.5.4 - Adds iSCSI
** 5.5.5 to .7
* 6.0 "Habanero" - Up to 10.4 PB in a single file system
** 6.0.1 to .4
* 6.5 "Chopu" (based on FreeBSD 7.3)
** 6.5.1 to .5
* 7.0 "Mavericks" - released November 2012; (based on FreeBSD 7.4-STABLE)
** 7.0.1 to .2
* 7.1 "Waikiki" - released October 2013
** 7.1.1 "Jaws" - released July 2014
* 7.2 "Moby" - released November 2014
** 7.2.0, 7.2.1 "Orca"
* 8.0 "Riptide" (based on FreeBSD 10) - released February 2016 - iSCSI deprecated
** 8.0.1 "Halfpipe" - released October 2016
* 8.1 "Freight Trains" - released June 2017
** 8.1.1 "Niijima" - released January 2018
** 8.1.2 "Kanagawa" - Released August 2018
** 8.1.3 "Seismic" - Released January 2019
* 8.2.0 "Pipeline" (based on FreeBSD 11) - Released May 2019
** 8.2.1 "Acela" - Released September 2019
** 8.2.2 "Beachcomber" - Released January 2020
* 9.0.0 "Cascades" - Released June 2020
** 9.1.0 "Deccan" - Released October 2020
** 9.2.0 "Empire" - Released April 2021
** 9.2.1 "Flying Scotsman" - Released May 2021
** 9.3 "Gotham" - Released October 2021
** 9.4 "Hexie" - Released April 2022
** 9.5 "Islander" - Released January 2023
** 9.6 "Jet Rocket" - Released May 2023
** 9.7 "Key West" - Released December 2023
** 9.8 - Released April 2024
** 9.9 - Released August 2024
** 9.10 - Released December 2024