The File Systems Evolution

Presenter: Craig Harmer Senior Technologist, Data Systems

Author: Christian Bandulet Principal Engineer, Oracle

SNIA Legal Notice

The material contained in this tutorial is copyrighted by the SNIA. Member companies and individuals may use this material in presentations and literature under the following conditions: Any slide or slides used must be reproduced without modification The SNIA must be acknowledged as source of any material used in the body of any document containing material from these presentations. This presentation is a project of the SNIA Education Committee. Neither the Author nor the Presenter is an attorney and nothing in this presentation is intended to be nor should be construed as legal advice or opinion. If you need legal advice or legal opinion please contact an attorney. The information presented herein represents the Author's personal opinion and current understanding of the issues involved. The Author, the Presenter, and the SNIA do not assume any responsibility or liability for damages arising out of any reliance on or use of this information. NO WARRANTIES, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK.

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 2 Abstract

The File Systems Evolution File Systems impose structure on the address space of one or more physical or virtual devices. Starting with local file systems, over time additional file systems appeared focusing on specialized requirements such as data sharing, remote file access, distributed file access, parallel files access, HPC, archiving, security etc. Due to the dramatic growth of unstructured data, files as the basic units for data containers are morphing into file objects. This presentation will categorize and explain the basic principles of currently available file systems (e.g. Local FS, Shared FS, SAN FS, Clustered FS, Network FS, Distributed FS, Parallel FS, ...). It will also explain technologies like Scale-Out NAS, NAS Aggregation, NAS Virtualization, NAS Clustering, Global , Parallel NFS. All of these files system categories and technologies are complementary. They are all being enhanced in parallel with additional value added functionality. New architectures will also be developed and some of them will be blended with these architectures in the future.

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 3 Check Out Other Tutorials

Check out SNIA Tutorial: Check out SNIA Tutorial: pNFS & NFSv4.2: A Filesystem Leveraging in for Grid, Virtualization, and Enterprise Storage Database

Check out SNIA Tutorial: Check out SNIA Tutorial: Primary Data Optimization: Practical Secure Storage: A What It Should Be Vendor Agnostic Overview

Check out SNIA Hands-On Lab: Advanced Data Protection and Reduction

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 4 The File Systems Evolution

File systems have evolved over time to scale with storage systems and to fulfill new requirements Starting with local file systems, over time additional file systems appeared focusing on specialized requirements such as data sharing, remote file access, distributed file access, parallel files access, HPC, archiving, etc.

Local Shared SAN Cluster Network Distributed Object Parallel ? FS FS FS FS FS ...... FS FS FS

Time

Note: The picture above does not reflect the exact sequence in which the files system types appeared. Some of them actually appeared in parallel. In particular, It is also not the intention to indicate that a new file system replaces its predecessors. Instead they are targeting complimentary objectives.

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 5 Agenda

File System Basics File Systems Taxonomy Local FS Shared FS / Global FS SAN FS, Cluster FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 6 File System &

User Application and Libraries (ls, mv, rm, cp, ...)

System Calls (open(), close(), read(), write(), ioctl(), mmap(), ...) Userspace

Kernelspace VFS Management File Systems Data Cache* mmap() Memory Segmap Cache Scheduler IPC Mgmt Manager DMA Device Drivers *can be Buffers bypassed: machine dependent code Direct I/O Hardware

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 7 Agenda

File System Basics File System Taxonomy Local FS Shared FS / Global FS SAN FS, Cluster FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 8 A Plethora of File Systems

There’s a file system for every letter in the alphabet and then some! Some you may recognize: AFS, CFS, GFS, JFS, NFS, UFS, ZFS There’s a more extensive list in the Appendix

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 9 File System Taxonomy

File Systems

Local FS Shared FS Network FS

Distributed Distributed SAN FS Cluster FS FS Parallel FS

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 10 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 11 Local FS

Local FS

Application File System

FS is co-located with application

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 12 Traditional File System -

When a file system is created, data structures that contain information about files are created. Each file has an inode and is identified by an inode number (often referred to as an "i-number" or "inode") in the file system where it resides. Data Blocks Inode Host direct 0 data block direct 1 data block direct 2 data block direct 3 data block direct 4 data block direct 5 data block direct 6 data block direct 7 data block direct 8 data block 0 1 2 3 4 direct 9 data block single 5 6 7 8 9 indirect data block double data block 10 11 12 13 14 indirect data block triple 15 16 17 18 19 indirect

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 13 Traditional File System - Inode

The inode also contains file attributes...

Inode Host direct 0 Data Blocks direct 1 direct 2 data block direct 3 data block direct 4 data block direct 5 data block direct 6 data block direct 7 data block direct 8 data block direct 9 data block single indirect data block 0 1 2 3 4 double data block indirect 5 6 7 8 9 data block triple data block indirect 10 11 12 13 14 data block File Owner 15 16 17 18 19 File Type Permissions

Last Access File Attributes: . . . Size # of

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 14 Local FS

Local FS Local FS Local FS Local FS

Application Application Application Application File System File System File System File System

Islands of storage (no data sharing)

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 15 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 16 Scale-Up

Vertical Scaling

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 17 Scale-Out with Shared FS

Horizontal Scaling ...

Storage Network

Shared Device: A physical device is shared by more than one . Each client has exclusive access to a dedicated LUN ≠ Shared Data: Shared A physical device is shared by more than one client. Data Clients access the same LUN in parallel

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 18 Shared FS / Gobal FS Data Access

Separation between logical and physical placement Separate Server (MDS) File access is a three-step transaction...

MDS Client MDS Client MDS Client

Step 1 Step 2 Step 3

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 19 Shared FS / Global FS – SAN FS

System Area Network

Application Server Application Server Application Server Application Server Application Server

Application Application Application e.g. Web Server e.g. Web Server e.g. Web Server

MDS (active) MDS (passive) SAN FS SAN FS SAN FS

Storage Network

Shared Data

MDS is not part of each node (i.e. master/slave - asymmetric) Typically homogenous with number of nodes limited only by size of MDS Distance between nodes limited only by size of SAN The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 20 Shared FS / Global FS – Cluster FS

System Area Network

Application Server Application Server Application Server Application Server Application Server

Application Application Application Application Application e.g. Web Server e.g. Web Server e.g. Web Server e.g. Web Server e.g. Web Server

MDS (active) MDS (active) MDS (active) MDS (active) MDS (active)

Cluster FS Cluster FS Cluster FS Cluster FS Cluster FS

Storage Network

Shared Data MDS is part of each (cluster) node (i.e. peer-to-peer - symmetric) Typically homogeneous with somewhat limited number of nodes Limited distance between (cluster) nodes The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 21 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 22 Network File Systems - aka Proxy FS

Local FS Network FS

Application Application Application Application Application File System File System File System File System File System Client Client Client Client

Network Protocol*

File System Server * e.g. NFS, CIFS, AFP, WebDAV, FTP, HTTP, ...

A is any file system that supports sharing of files over a network protocol between one or more file systems clients and a file system server

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 23 Network FS Stack (e.g. NFS)

Data

SCSI Port

SAN

SCSI HBA Application Application SCSI Driver Application ApplicationNFS/CIFS Volume Mgr ApplicationNFS/CIFS NFS/CIFSClient File System NFS/CIFSClient NFSClient Client NFS Client RPC/XDR RPC/XDR Server RPC/XDR RPC/XDRTCP/IP RPC/XDRTCP/IP TCP/IP RPC/XDR TCP/IPEthernet NIC TCP/IPEthernet NIC NIC TCP/IP Ethernet NIC Ethernet NIC Ethernet NIC

LAN

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 24 Network FS in a Distributed World

Consolidating file and storage resources into the data center eases management, administration, cost, and compliance Data Global file sharing and collaboration Remote office consolidation and optimization SCSI Port Most application and file access protocols perform poorly over the WAN SAN

SCSI HBA Application Application SCSI Driver Application ApplicationNFS/CIFS Volume Mgr ApplicationNFS/CIFS NFS/CIFSClient File System NFS/CIFSClient NFSClient Client NFS Client RPC/XDR RPC/XDR Server RPC/XDR RPC/XDRTCP/IP RPC/XDRTCP/IP TCP/IP RPC/XDR TCP/IPEthernet NIC TCP/IPEthernet NIC Ethernet NIC TCP/IP Ethernet NIC Ethernet NIC Ethernet NIC

WAN

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 25 Network Compression

Application-specific optimization: email, document management, SQL, ... Protocol-specific optimization: HTTP, NFS, CIFS, WebDAV, FTP, TCP/IP, ... Data Transport acceleration: TCP accelerators Intelligent caching: read-ahead, deferred write, coherency, ... Data compression: compression algorithms, file-aware differencing, data SCSI Port aggregation, I/O clustering, chunk based de-duplication, cross-protocol data reduction, ... SAN

SCSI HBA SCSI Driver Application Application Volume Mgr Application ApplicationNFS/CIFS File System ApplicationNFS/CIFS NFS/CIFSClient Client NFS NFS/CIFSClient NFS Server ClientRPC/XDR ClientRPC/XDR RPC/XDR RPC/XDRTCP/IP Compression Engine Compression Engine RPC/XDR RPC/XDRTCP/IP TCP/IP TCP/IPEthernet NIC TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP TCP/IPEthernet NIC Ethernet Ethernet Ethernet Ethernet Ethernet NIC NIC NIC NIC NIC Ethernet NIC Ethernet NIC Ethernet NIC

LAN WAN LAN

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 26 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 27 Distributed File System (DFS)

/ Application /a /b /tag">c File System Client client view: Network Protocol

File System File System File System Server Server Server

/a /b /c

Single FS A distributed file system is a network file system whose files are dispersed across file servers ( ≠ Parallel FS)

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 28 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 29 Distributed Parallel File System

File Segments distributed across storage nodes Allows parallel I/O to individual files (striping)

Client Client Client Client

File

Network Protocol

File File File File Server Server Server Server Aggregation of Storage Servers RAIN + RAID (aka Network RAID) Global

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 30 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 31 NAS Aggregation &

In-Band Solution

IP Network Aka NAS Router

NAS Router

Global Namespace File Server File Server File Server

Data Data Data

SAN SAN SAN

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 32 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 33 NAS Virtualization - Out-of-Band

Client Client Client Client Global Namespace

Metadata IP Network Server (MDS)

File File File File Server Server Server Server

File_A File_G File_B File_D Individual files / file segments distributed files are pinned to single file servers File_F File_H File_C File_E Files can be distributed and/or replicated across file servers – striped files File_K_1 File_K_2 File_K_3 File_K_4 parallel access of files Files can be striped across files servers – parallel access of stripe replicated files File_A’ File_B’’ File_C’ File_B’ units Clients are responsible to lookup the right file server e.g. NFSv4.1 (pNFS), MS DFS The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 34 NAS Virtualization – NFS4.1 pNFS

In-Band NAS: Out-of-Band NAS:

Application Server Application Server Application Server Application Server Application Server Application Server Application Server Application Server Application Server

NFSv4.1 client NFSv4.1 client NFSv4.1 client NFSv4 client NFSv4 client NFSv4 client with pNFS with pNFS with pNFS

IP Storage Protocols: IP Block: FCP, iSCSI, SRP, SAS File: NFSv4.1 NAS Appliance NAS Appliance Object: OSD with NFSv4.1 pNFS extensions

Data Data

SAN SAN

Data- is de- coupled from Control- and Metadata-Path

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 35 NAS Virtualization – NFS4.1 pNFS

Out-of-Band NAS:

Application Server Application Server Application Server

NFSv4.1 client NFSv4.1 client NFSv4.1 client with pNFS with pNFS with pNFS

Storage Protocols: IP Block: FCP, iSCSI, SRP, SAS NAS Appliance File: NFSv4.1 with NFSv4.1 Object: OSD pNFS extensions

Data

Storage Network

NFS NFS OSD OSD ...... Block devices NAS OSD The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 36 NAS Virtualization – NFS4.1 pNFS

NFSv4.1 client NFSv4.1 client NFSv4.1 client with pNFS with pNFS with pNFS

NFS4.1 + pNFS MDS acts as NFS proxy for Storage Protocol clients not Control Protocol pNFS enabled File: NFSv4.1 Block: iSCSI, FCP, SRP, SAS NAS Appliance Object: OSD with NFSv4.1 MDS creates pNFS extensions Global Namespace

NAS NAS NAS NAS NAS Data Appliance Appliance Appliance Appliance Appliance

one-to-one, stripe, mirror, concatenation Global Namespace

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 37 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 38 NAS Cluster / NAS Grid (1)

Client Client Client

IP

NFS CIFS

Data Services

Local Files System

Classic Filer

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 39 NAS Cluster / NAS Grid (2)

Two variants:

NFS CIFS HTTP FTP WebDAV

Clustered Data Services Client Client Client

Cluster (Parallel) File System

IP All nodes serve all files... VIP Address VIP

NFS CIFS

Data Services

Local Files System

Classic Filer

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 40 NAS Cluster / NAS Grid (3)

Two variants:

NFS CIFS HTTP FTP WebDAV

Clustered Data Services Client Client Client

Cluster (Parallel) File System

IP All nodes serve all files... VIP Address VIP

NFS CIFS HTTP FTP WebDAV

NFS CIFS Clustered Data Services

Data Services

Local Files System

Each file pinned to a single server... Classic Filer Address VIP

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 41 NAS Cluster/Grid & Cloud Storage

NAS Cluster is effectively a storage cloud

Clients

File Server Clients File Server

Clients Server File

Storage Cloud

Clients

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 42 File Systems for Clouds

File Systems morphing into distributed object-based content repositories Compute nodes • Availability through file replication (not RAID) • Sacrifice performance File Server • Locality of data • Peer-to-peer Object_A Object_F File Server Compute

Object_C' Object_B'

nodes • Storage grid Object_F'' Object_E''

Object_B Object_E • Mesh topology Object_A' Object_D'

Object_D'' Object_C'' nodes

Compute Compute • Flat namespace Object_C Object_D

File Server File Object_E' Object_F' Object_B'' Object_A'' • Geographically dispersed • Heterogeneous • Spontaneous federations Storage Cloud

Compute nodes

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 43 Agenda

File File System Basics Systems File System Taxonomy Network Local FS Local FS Shared FS FS Shared FS / Global FS Distributed Distributed SAN FS, Cluster FS SAN FS Cluster FS FS Parallel FS Network FS Distributed FS Distributed Parallel FS Scale-Out NAS NAS Aggregation NAS Virtualization NAS Cluster / NAS Grid FS Future Developments

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 44 Storage Market Segmentation

Dynamic Data Fixed Data

Media production, Media-archive, DAM, Broadcast, eCAD, mCAD, Office docs medical imaging, Media-Internet Unstructured

BI, data warehousing, scientific, Transactional systems, ERP, CRM transaction archive Structured

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 45 Storage Market Segmentation

Dynamic Data Fixed Data

Media production, Media-archive, DAM, Broadcast, eCAD, mCAD, Office docs medical imaging, Media-Internet Unstructured Semi Structured*

BI, data warehousing, scientific, Transactional systems, ERP, CRM transaction archive Structured

*Semi-Structured Data contains dynamic meta-data defined by users and/or applications

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 46 Traditional Files

Metadata Owner, permissions, type, last . Data, ...

Data

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 47 Semi Structured Data

Object ID

methods e.g.encryption

policies e.g. replication

Attributes user/application defined

Metadata Owner, permissions, type, last mod. Data, ...

Data

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 48 Q&A / Feedback

Please send any questions or comments on this presentation to SNIA: [email protected]

Many thanks to the following individuals for their contributions to this tutorial. - SNIA Education Committee

Christian Bandulet Craig Harmer

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 49 Appendix

Reference Material

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 50 FS Names from wikipedia.org

ADFS – Acorn's Advanced , successor to DFS BFS – the used on BeOS EFS – Encrypted filesystem, An of NTFS EFS (IRIX) – an older block filing system under IRIX Ext – Extended filesystem, designed for system – Second extended filesystem, designed for Linux systems – Name for the journalled form of ext2 FAT – Used on DOS and Windows, 12, 16 and 32 bit table depths FFS () – Fast File System, used on Amiga systems. This FS has evolved over time. Now counts FFS1, FFS Intl, FFS DCache, FFS2 FFS – Fast File System, used on *BSD systems snapshot archival file system Files-11 – OpenVMS filesystem GCR – Group Code Recording, a data encoding format used by the Apple II and Commodore Business Machines in the 5¼" disk drives for their 8-bit HFS – , used on older Mac OS systems

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 51 FS Names from wikipedia.org(2)

HFS Plus – Updated version of HFS used on newer Mac OS systems HPFS – High Performance Filesystem, used on OS/2 ISO 9660 – Used on CD-ROM and DVD-ROM discs (Rock Ridge and Joliet are extensions to this) JFS – IBM Journaling Filesystem, provided in Linux, OS/2, and AIX LFS – 4.4BSD implementation of a log-structured file system MFS – File System, used on early Mac OS systems file system – Used on Minix systems NTFS – Used on Windows NT, , Windows XP and systems NSS – Storage Services. This is a new 64-bit journaling filesystem using a balanced tree algorithm. Used in NetWare versions 5.0-up and recently ported to Linux. OFS – Old File System, on Amiga. Nice for floppies, but fairly useless on hard drives PFS – and PFS2, PFS3, etc. Technically interesting filesystem available for the Amiga, performs very well under a lot of circumstances. Very simple and elegant

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 52 FS Names from wikipedia.org(3)

ReiserFS – Filesystem that uses journaling – Filesystem that uses journaling, newest version of ReiserFS SFS – Smart File System, journaled file system available for the Amiga platforms UDF – Packet based filesystem for WORM/RW media such as CD-RW and DVD. UFS – Filesystem, used on older BSD systems UFS2 – , used on newer BSD systems UMSDOS – FAT filesystem extended to store permissions and metadata, used for Linux VxFS – , first commercial ; HP-UX, Solaris, Linux, AIX VSAM WAFL – Used on Network Appliance systems XFS – Used on SGI IRIX and Linux systems ZFS – Used on Solaris SAM QFS (Oracle)

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 53 FS Names from wikipedia.org(4)

9P The Plan 9 and Inferno distributed file system AFS () AppleShare Arla (file system) CXFS (Clustered XFS) a distributed networked file system designed by (SGI) specifically to be used in a SAN Distributed File System (DCE) Distributed File System (Microsoft) Freenet (GFS) (GFS) IBRIX Fusion™ InterMezzo Isilon OneFS™ (Oracle) The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 54 FS Names from wikipedia.org(5)

NFS OpenAFS (SMB) (aka Common Internet File System (CIFS) or file system) (a (SAN) filesystem from Apple Computer, Inc.) archfs (archive) (reading and writing of CDs) cfs (caching) (WebDAV) Devfs (ftp access) fuse (, like lufs but better maintained) GPFS an IBM cluster file system JFFS/JFFS2 (filesystems designed specifically for flash devices) LUFS ( replaces ftpfs, ftp ssh ... access) nntpfs (netnews)

OCFS (Oracle Cluster FileThe System) File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 55 The File Object Model (1)

Object Object Attribute 1 OID Sub-Component 1

Object Object Attribute 2 Sub-Component 2

Object Object Attribute 3 Sub-Component 3 Object Object Object Attribute 4 Descriptor Sub-Component 4

many:1 1:many Object Object Attribute n Sub-Component n

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 56 The File Object Model (2)

Data OID OID Data

Store Retrieve

Object ID

methods e.g.encryption

Object Object

policies e.g. replication

Attributes user/application defined

Metadata Owner, permissions, type, last mod. Data, ...

Data

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 57 The File Object Model (3)

Data OID OID Data

Store Retrieve

Object ID

methods e.g.encryption

Object Object

policies e.g. replication

Attributes user/application defined

Metadata Owner, permissions, type, last mod. Data, ... Data Blocks Inode

name OID Object

name OID Object Data name OID Object

name OID Object

name OID Object

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 58 Managing File Objects (1)

File objects can be managed like records in a relational database with user data as Binary Large Objects (BLOBs) Database Schema

Data Policies Methods Object ID Metadata Attributes

Object ID Object ID Object ID Object ID Object ID Object ID Data Policies Methods Object ID Metadata Attributes Methods Methods Methods Methods Methods Methods

Policies Policies Policies Policies Policies Policies Data Policies Methods Object ID Metadata Attributes

Attributes Attributes Attributes Attributes Attributes Attributes

Data Policies Methods Object ID Metadata Metadata Metadata Metadata Metadata Metadata Metadata Attributes

Data Policies Methods Object ID Metadata Data Data Data Data Data Data Attributes

Data Policies Methods Object ID Metadata Attributes

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 59 Managing File Objects (2)

Data Indexes Policies Methods Object ID Metadata Attributes

constraints/relationships Data Policies Methods Object ID Metadata Attributes Object search

Data

Policies Full text search Methods Object ID Metadata Attributes

Join operations Data Policies Methods Object ID Metadata Attributes Virtual views

Data Policies Methods Object ID Metadata Attributes SQL-like requests

Cursors Data Policies Methods Object ID Metadata Attributes

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 60 Application Content Repositories

Combination of application, database, data services and pointers into external file system Application specific

Application A Application B Application C Application D Policies Policies Policies Policies Search Engine Search Engine Search Engine Search Engine Indexes Indexes Indexes Indexes Pointers Pointers Pointers Pointers

Data Blocks File System

name OID Object

name OID Object

name OID Object

name OID Object

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 61 File-Based Content Repositories

Combination of files system, database and data services Application agnostic

Application A Application B Application C Application D

Data Blocks File System

name OID Object Policies Search Engine name OID Object

Indexes name OID Object Pointers name OID Object

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 62 Data Serving Hierarchy 3 Levels of Abstraction

Application may interface with the storage subsystem in anyone of three layers: Application Block – highest

performance and very Object little meta data File – high performance Many to One and some meta data File Object – medium Many to One performance and rich meta data Block Data Server Platform

The File Systems Evolution © 2011 Storage Networking Industry Association. All Rights Reserved. 63