OneFS distributed file system
Developer(s) | Isilon Systems |
---|---|
Full name | OneFS |
Introduced | 2003 with OneFS 1.0 -- based on FreeBSD |
Structures | |
Directory contents | B+ trees |
File allocation | B+ trees |
Limits | |
Max volume size | 66PB+ (144+ nodes at 470TB+ each);[1] 65535 nodes theoretical limit |
Max file size | 4TB |
Max no. of files | Cluster size dependent |
Max filename length | 255 bytes |
Max directory depth | 509 (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. |
Features | |
Dates recorded | Create time, rename time, mtime, ctime, atime |
Date range | 1970 to 2038 |
Date resolution | Nanosecond |
Forks | Yes (extended attributes and Alternate Data Streams) |
File system permissions | Yes (POSIX permissions and NTFS ACLs) |
Transparent compression | Yes |
Transparent encryption | Integrated with Self-encrypting Drives for encrypted-at-rest data |
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 for use in its Isilon IQ storage appliances. OneFS is a FreeBSD variant and utilizes zsh as its shell. OneFS has its own specialized command set,[2] all of which (with the exceptions of the Isilon extensions to the Unix "ls" and "chmod" commands)[3] start with "isi", which is used to administer the system.
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; for example, block 0 may be on Node 3, block 1 on Node 1, and the related parity block on Node 5. 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
Nodes running OneFS must be connected together with 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 Gigabit or 40 Gigabit).[5]
Data, metadata, locking, transaction, group management, allocation, and event traffic go over the back-end RPC system. All data and metadata transfers are zero-copy. All modification operations to on-disk structures are transactional and journaled.
Protocols
OneFS is equipped with options for accessing storage via NFS, CIFS/SMB, FTP, HTTP, and HDFS. It can utilize non-local authentication such as Active Directory, LDAP, and NIS. It is also capable of interfacing with backup devices using NDMP.
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)[6][7]
- 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]
- 6.5.1 to .5
- 7.0 "Mavericks" - released November 2012;[8] (based on FreeBSD 7.4-STABLE)[6]
- 7.0.1 to .2
- 7.1 "Waikiki" - released October 2013[9]
- 7.1.1 "Jaws" - released July 2014[10]
- 7.2 "Moby" - released November 2014 [11]
- 7.2.0, 7.2.1
- 8.0 "Riptide" (based on FreeBSD 10) - released February 2016[12] - iSCSI deprecated
See also
References
- ^ a b "Isilon OneFS and IsilonSD Edge: Technical Specifications Guide", June, 2018, accessed January 25, 2019.
- ^ "OneFS Command Line Reference"
- ^ "EMC Isilon Multiprotocol Data Access with a Unified Security Model"
- ^ "Data Protection and Backup"
- ^ "Isilon Gen6 Performance" (PDF).
- ^ a b c Determined by the __FreeBSD_version definition in /usr/include/sys/param.h. See FreeBSD Porter's Handbook for more information.
- ^ The FreeBSD Documentation Project. "__FreeBSD_version values". FreeBSD Porter's Handbook. Retrieved 2011-12-01.
- ^ Patel, Mona (2012-11-16). "EMC Isilon OneFS 7.0: Converging Big Data and The Enterprise". EMC Big Data Blog. Retrieved 2013-01-18.
- ^ Grocott, Sam (2013-10-30). "Isilon OneFS 7.1 Big Data Scale Out Storage Is Finally Here!". EMC Pulse Blog. Retrieved 2013-10-30.
- ^ Hughes, Carolyn (2014-07-08). ""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 2014-09-02.
- ^ "EMC Community Network, OneFS 7.2.x Release"
- ^ Galant, Risa (2016-02-01). "Announcing OneFS 8.0.0".
- ^ Noy, David (2016-10-25). "Announcing Isilon OneFS 8.0.1".
- ^ Jolley, Todd (2017-06-21). "Dell EMC Announces the Release of Isilon Generation 6 Platform and OneFS 8.1".
- ^ Stevenson, Russ (2018-01-29). "OneFS 8.1.1.0 and Cloudera CDH 5.13+ Support for Cloudera Navigator".
- ^ "Isilon OneFS Version 8.1.1 Release Notes" (PDF). 2018-01-01.