OneFS distributed file system

Last updated
OneFS
Developer(s) Isilon Systems
Full nameOneFS
Introduced2003;21 years ago (2003) with OneFS 1.0 -- based on FreeBSD
Structures
Directory contents B+ trees
File allocation B+ trees
Limits
Max volume size66PB+ (144+ nodes at 470TB+ each); [1] 65535 nodes theoretical limit
Max file size16TB
Max no. of filesCluster size dependent
Max filename length255 bytes
Max directory depth509 (suggested, to fit within PATH_MAX of 1023) [1]
Allowed filename
characters
Many (UTF-8, EUC-JP, CP932, CP1252, ISO-8859-*, EUC-KR, CP949). Encoding is per-directory entry, not per-filesystem. So multiple encodings may be used in a single volume. UTF-8 is encouraged as normative. NUL and / are not allowed in individual directory entries in any encoding.
Features
Dates recordedCreate time, rename time, mtime, ctime, atime
Date range1970 to 2038
Date resolutionNanosecond
Forks Yes (extended attributes and Alternate Data Streams)
File system
permissions
Yes (POSIX permissions and NTFS ACLs)
Transparent
compression
Yes [2]
Transparent
encryption
Integrated with Self-encrypting Drives for encryption of "data at rest" [3]
Data deduplication Offline only
Copy-on-write Yes (for snapshots)
Other
Supported
operating systems
OneFS

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. [3] The OneFS file system is controlled and managed by the OneFS Operating System, a FreeBSD variant. [3]

Contents

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. [4] 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). [5]

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. [3] 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. [3]

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. [3]

zsh is the default login shell of the OneFS Operating System. OneFS presents a specialized command set to administer the OneFS File System. [6] Most specialized shell programs start with letters isi. Notable exceptions are the Isilon extensions to the FreeBSD ls and chmod programs. [7]

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) [8] [9]
    • 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) [8]
    • 6.5.1 to .5
  • 7.0 "Mavericks" - released November 2012; [10] (based on FreeBSD 7.4-STABLE) [8]
    • 7.0.1 to .2
  • 7.1 "Waikiki" - released October 2013 [11]
    • 7.1.1 "Jaws" - released July 2014 [12]
  • 7.2 "Moby" - released November 2014 [13]
    • 7.2.0, 7.2.1 "Orca"
  • 8.0 "Riptide" (based on FreeBSD 10) - released February 2016 [14] - iSCSI deprecated
    • 8.0.1 "Halfpipe" - released October 2016 [15]
  • 8.1 "Freight Trains" - released June 2017 [16]
    • 8.1.1 "Niijima" - released January 2018 [17] [18]
    • 8.1.2 "Kanagawa" - Released August 2018 [19]
    • 8.1.3 "Seismic" - Released January 2019
  • 8.2.0 "Pipeline" (based on FreeBSD 11) - Released May 2019 [20]
    • 8.2.1 "Acela" - Released September 2019 [21]
    • 8.2.2 "Beachcomber" - Released January 2020 [22]
  • 9.0.0 "Cascades" - Released June 2020
    • 9.1.0 "Deccan" - Released October 2020 [23]
    • 9.2.0 "Empire" - Released April 2021 [24]
    • 9.2.1 "Flying Scotsman" - Released May 2021 [24]
    • 9.3 "Gotham" - Released October 2021 [24]
    • 9.4 "Hexie" - Released April 2022 [24]
    • 9.5 "Islander" - Released January 2023 [24]
    • 9.6 "Jet Rocket" - Released May 2023 [25]
    • 9.7 "Key West" - Released December 2023 [26]
    • 9.8 - Released April 2024 [24]
    • 9.9 - Released August 2024 [24]
    • 9.10 - Released December 2024 [24]

See also

Related Research Articles

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

Journaled File System (JFS) is a 64-bit journaling file system created by IBM. There are versions for AIX, OS/2, eComStation, ArcaOS and Linux operating systems. The latter is available as free software under the terms of the GNU General Public License (GPL). HP-UX has another, different filesystem named JFS that is actually an OEM version of Veritas Software's VxFS.

The Unix file system (UFS) is a family of file systems supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.

The inode is a data structure in a Unix-style file system that describes a file-system object such as a file or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attributes may include metadata, as well as owner and permission data.

In computing, the Global File System 2 (GFS2) is a shared-disk file system for Linux computer clusters. GFS2 allows all members of a cluster to have direct concurrent access to the same shared block storage, in contrast to distributed file systems which distribute data throughout the cluster. GFS2 can also be used as a local file system on a single computer.

The Write Anywhere File Layout (WAFL) is a proprietary file system that supports large, high-performance RAID arrays, quick restarts without lengthy consistency checks in the event of a crash or power failure, and growing the filesystems size quickly. It was designed by NetApp for use in its storage appliances like NetApp FAS, AFF, Cloud Volumes ONTAP and ONTAP Select.

The VERITAS File System is an extent-based file system. It was originally developed by VERITAS Software. Through an OEM agreement, VxFS is used as the primary filesystem of the HP-UX operating system. With on-line defragmentation and resize support turned on via license, it is known as OnlineJFS. It is also supported on AIX, Linux, Solaris, OpenSolaris, SINIX/Reliant UNIX, UnixWare and SCO OpenServer. VxFS was originally developed for AT&T's Unix System Laboratories. VxFS is packaged as a part of the Veritas Storage Foundation.

Lustre is a type of parallel distributed file system, generally used for large-scale cluster computing. The name Lustre is a portmanteau word derived from Linux and cluster. Lustre file system software is available under the GNU General Public License and provides high performance file systems for computer clusters ranging in size from small workgroup clusters to large-scale, multi-site systems. Since June 2005, Lustre has consistently been used by at least half of the top ten, and more than 60 of the top 100 fastest supercomputers in the world, including the world's No. 1 ranked TOP500 supercomputer in November 2022, Frontier, as well as previous top supercomputers such as Fugaku, Titan and Sequoia.

Journalling Flash File System version 2 or JFFS2 is a log-structured file system for use with flash memory devices. It is the successor to JFFS. JFFS2 has been included into the Linux kernel since September 23, 2001, when it was merged into the Linux kernel mainline as part of the kernel version 2.4.10 release. JFFS2 is also available for a few bootloaders, like Das U-Boot, Open Firmware, the eCos RTOS, the RTEMS RTOS, and the RedBoot. Most prominent usage of the JFFS2 comes from OpenWrt.

The following tables compare general and technical information for a number of file systems.

<span class="mw-page-title-main">Dell EMC Isilon</span> Network-attached storage

Dell EMC Isilon is a scale out network-attached storage platform offered by Dell EMC for high-volume storage, backup and archiving of unstructured data. It provides a cluster-based storage array based on industry standard hardware, and is scalable to 50 petabytes in a single filesystem using its FreeBSD-derived OneFS file system.

A clustered file system (CFS) is a file system which is shared by being simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ a clustered file system. Clustered file systems can provide features like location-independent addressing and redundancy which improve reliability or reduce the complexity of the other parts of the cluster. Parallel file systems are a type of clustered file system that spread data across multiple storage nodes, usually for redundancy or performance.

Btrfs is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager, developed together. It was created by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel.

Ceph is a free and open-source software-defined storage platform that provides object storage, block storage, and file storage built on a common distributed cluster foundation. Ceph provides distributed operation without a single point of failure and scalability to the exabyte level. Since version 12 (Luminous), Ceph does not rely on any other conventional filesystem and directly manages HDDs and SSDs with its own storage backend BlueStore and can expose a POSIX filesystem.

HAMMER is a high-availability 64-bit file system developed by Matthew Dillon for DragonFly BSD using B+ trees. Its major features include infinite NFS-exportable snapshots, master–multislave operation, configurable history retention, fsckless-mount, and checksums to deal with data corruption. HAMMER also supports data block deduplication, meaning that identical data blocks will be stored only once on a file system. A successor, HAMMER2, was announced in 2011 and became the default in Dragonfly 5.2.

<span class="mw-page-title-main">Dell Technologies PowerFlex</span> Software-defined storage product

Dell Technologies PowerFlex, is a commercial software-defined storage product from Dell Technologies that creates a server-based storage area network (SAN) from local server storage using x86 servers. It converts this direct-attached storage into shared block storage that runs over an IP-based network.

References

  1. 1 2 "Isilon OneFS and IsilonSD Edge: Technical Specifications Guide" (PDF). Dell Inc. June 2018.
  2. Adam Armstrong (12 February 2019). "Dell EMC Launches All-Flash Isilon F810". Flying Pig Ventures.
  3. 1 2 3 4 5 6 "Dell EMC Isilon OneFS Operating System - Powering the Isilon Scale-out Storage Platform" (PDF). 9.0. Dell Inc. February 2019.
  4. "Data Protection and Backup" [ dead link ]
  5. "Isilon Gen6 Performance" (PDF). Dell Inc.
  6. "OneFS Command Line Reference".[ dead link ]
  7. Aqib Kazi (November 2018). "Isilon OneFS Authentication, Identity Management, & Authorization - Multiprotocol Data Access with a Unified Security Model" (PDF). Dell EMC.
  8. 1 2 3 Determined by the __FreeBSD_version definition in /usr/include/sys/param.h. See FreeBSD Porter's Handbook for more information.
  9. The FreeBSD Documentation Project. "18". FreeBSD Porter's Handbook . Retrieved 1 December 2011.
  10. Patel, Mona (16 November 2012). "EMC Isilon OneFS 7.0: Converging Big Data and The Enterprise". EMC Big Data Blog. Archived from the original on 12 February 2013. Retrieved 18 January 2013.
  11. Grocott, Sam (30 October 2013). "Isilon OneFS 7.1 Big Data Scale Out Storage Is Finally Here!". EMC Pulse Blog. Retrieved 30 October 2013.
  12. Hughes, Carolyn (8 July 2014). ""Happy launch, @EMCIsilon! 2 fantastic new platforms, flash as cache, new HDFS, and performance galore on OneFS 7.1.1 "Jaws!" Way to go team!"". @carolyn_hugs Twitter. Retrieved 2 September 2014.
  13. "OneFS 7.2.x Release". Dell Inc. 31 October 2014.
  14. Galant, Risa (1 February 2016). "Announcing OneFS 8.0.0".
  15. Noy, David (25 October 2016). "Announcing Isilon OneFS 8.0.1".
  16. Jolley, Todd (21 June 2017). "Dell EMC Announces the Release of Isilon Generation 6 Platform and OneFS 8.1". Dell Inc.
  17. Stevenson, Russ (29 January 2018). "OneFS 8.1.1.0 and Cloudera CDH 5.13+ Support for Cloudera Navigator".
  18. "Isilon OneFS Version 8.1.1 Release Notes" (PDF). Dell Inc. 1 January 2018.
  19. "OneFS 8.1.2 Documentation - Isilon Info Hub". Dell Inc. 3 August 2018.
  20. "OneFS 8.2.0 Release Notes" (PDF). Dell Inc. 3 May 2019.
  21. "OneFS 8.2.1 Release Notes" (PDF). Dell. 6 September 2019.
  22. "OneFS 8.2.2 Release Notes" (PDF). Dell. 16 January 2020.
  23. Mulford, Juan (2020-10-08). "Dell Technologies' PowerScale OneFS 9.1 Released". Storage Review.
  24. 1 2 3 4 5 6 7 8 Trimbee, Nick (January 2023). "Dell PowerScale OneFS: Release Contents". Dell Inc.
  25. "PowerScale OneFS 9.6.x.x. Release Notes". Dell Inc. May 2023.
  26. Trimbee, Nick (2023-12-13). "PowerScale OneFS 9.7".