The File Systems Evolution

Christian Bandulet Principal Engineer, 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 © 2009 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 providing more semantics and feature-rich capabilities for content processing. 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, , Parallel NFS. All of these files system categories and technologies are complementary. They will be enhanced in parallel with additional value added functionality. New architectures will be developed and some of them will be blended in the future.

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

Check out SNIA Tutorial: Check out SNIA Tutorial: Using Classification to Manage Exploiting Multi-Tier File File Servers Storage Effectively

Check out SNIA Tutorial: Check out SNIA Tutorial: NAS and iSCSI Technology Find and Select the Right File Overview Storage for Your Application

Check out SNIA Tutorial: Check out SNIA Tutorial: Massively Scalable File Storage pNFS, Parallel Storage for Grid and Enterprise Computing

Check out SNIA Tutorial: DFS For Not-So-Dummies

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 4 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 5 File System &

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

System Calls (open(), close(), read(), write(), ioctl(), mmap(), ...) Userspace Kernelspace VFS Management File Systems 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 6 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 7 www.wikipedia.org

ADFS – Acorn's Advanced , successor to DFS BFS – the used on BeOS EFS – Encrypted filesystem, An extension 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 , 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 floppy disk 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 8 www.wikipedia.org (cont'd)

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 Minix file system – Used on Minix systems NTFS – Used on Windows NT, Windows 2000, Windows XP and Windows 2003 systems NSS – . 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 9 www.wikipedia.org (cont'd)

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. 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 10

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 10 www.wikipedia.org (cont'd)

9P The Plan 9 and Inferno distributed file system AFS () AppleShare Arla (file system) CXFS (Clustered XFS) a distributed networked file system designed by Silicon Graphics (SGI) specifically to be used in a SAN Distributed File System (DCE) Distributed File System (Microsoft) Freenet (GFS) (GFS) IBRIX Fusion™ InterMezzo Isilon OneFS™ (Sun Microsystems) The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 11 www.wikipedia.org (cont'd)

NFS OpenAFS (SMB) (aka Common Internet File System (CIFS) or file system) (a storage area network (SAN) filesystem from Apple , 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 ( replace ftpfs, ftp ssh ... access) nntpfs (netnews)

OCFS (Oracle Cluster FileThe System) File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 12 File System Taxonomy

File Systems

Local FS Shared FS Network FS

Distributed Distributed SAN FS Cluster FS FS Parallel FS

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 13 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 14 Local FS

Local FS

Application File System

FS is co-located with application server

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

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 Data Blocks resides. 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 data block 5 6 7 8 9 indirect data block double 10 11 12 13 14 indirect data block 15 16 17 18 19 triple indirect

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

The inode also contains file attributes... 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 data block 5 6 7 8 9 indirect data block double 10 11 12 13 14 indirect data block triple 15 16 17 18 19 indirect File Owner File Type Permissions Last Access File Attributes: . . . Size The File Systems# of Evolution links © 2009 Storage Networking Industry Association. All Rights Reserved. 17 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 18 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 19 Scale-Up

Vertical Scaling

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 20 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 Shared Data: Data A physical device is shared by more than one client. Clients access the same LUN in parallel

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

Separation between logical and physical placement Separate Metadata 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 22 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) Heterogeneous with unlimited number of nodes Unlimited distance between nodes The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 23 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) Homogeneous with limited number of nodes Limited distance between (cluster) nodes The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 24 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 25 Network Files System- 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 protocol between one or more file systems clients and a file system server

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 26 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 ClientRPC/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 © 2009 Storage Networking Industry Association. All Rights Reserved. 27 Network FS in a Distributed World

Consolidating file and storage resources into the data center eases management, administration, cost, and compliance

Global file sharing and collaboration Data 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 ClientRPC/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 © 2009 Storage Networking Industry Association. All Rights Reserved. 28 Network Compression

Application-specific optimization: email, document management, SQL, ... Protocol-specific optimization: HTTP, NFS, CIFS, WebDAV, FTP, TCP/IP, ... Intelligent caching: read-ahead, deferred write, coherency, ... Data Data compression: file-aware differencing, data aggregation, I/O clustering, dictionary-based compression (de-duplication), cross-protocol data SCSI Port 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 29 NFSv4 Single-Server Namespace Server Pseudo FS – aka Shared Name Space

NFS Client NFS Client NFS Client NFS Client

NFS Server / NFSv4 client /a /b /c view: SAN NFSv4 server view: Transparent Files System /a /b /c Transitions

/a /b The NFSv4 spec (RFC 3530) defines how a server maintains a pseudo- filesystem namespace linking the filesystems it shares, so that /c clients can navigate to them from the server root. Portions of the server name space that are not exported are bridged via a "pseudo filesystem". Many clients rely on this "single-server namespace" to be able to access all file systems on the server transparently.

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

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 31 Distributed File System (DFS)

Application / File System Client client /a /b /c 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 32 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 33 Distributed Parallel File System

File Segments distributed across storage nodes – Parallel I/Os

Client Client Client Client

File

Networking Protocol

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

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 34 Redundant Array of Independent Nodes RAIN – aka Network RAID

RAIN – Global Namespace

File 1 File System Server File System Server File System Server File System Server

File 2 File System Server File System Server File System Server File System Server

File 3 File System Server File System Server File System Server File System Server

File System Server File System Server File System Server File System Server

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 35 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 36 Network Attached Storage (NAS)

Storage Islands Separated Namespaces

IP Multiple mount points

How to scale-out?

File Server File Server File Server Horizontal Scaling

... ? Data Data Data

SAN SAN SAN

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

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 38 NAS Aggregation & Global Namespace

In-Band Solution

IP Aka NAS Router

NAS Router

Global Namespace

File Server File Server File Server

Data Data Data

SAN SAN SAN

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 39 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 40 NAS Virtualization - Out-of-Band

Client Client Client Client Global Namespace

Metadata IP 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 41 NAS Virtualization – NFS4.1 pNFS

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

ApplicationApplication Server Server ApplicationApplication Server Server ApplicationApplication Server Server ApplicationApplication Server Server ApplicationApplication Server Server ApplicationApplication Server Server

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

IP Storage Protocols: IP SCSI (FCP, iSCSI, SRP, SAS), NAS Appliance NFSv4.1, OSD NAS Appliance with NFSv4.1 pNFS extensions

Data Data

SAN SAN

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

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

Out-of-Band NAS:

ApplicationApplication Server Server ApplicationApplication Server Server Application Server Server

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

Storage Protocols: IP SCSI (FCP, iSCSI, SRP, SAS), NAS Appliance NFSv4.1, OSD with NFSv4.1 pNFS extensions

Data

Storage Network

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

NFSv4.1 client NFSv4.1 client NFSv4.1 client with pNFS with pNFS w/o pNFS

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

Data Storage Storage Storage Storage Device Device Device Device

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

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 44 NAS Virtualization – NFS4.1 Referrals

NFSv4.1 – Multi-Server Name space

NFS Client / /a /b /c 1 2 NFSv4 client view:

NFS Server A NFS Server B NFS Server C Single FS / Global Namespace SAN SAN SAN fs_location_info attribute enables: /a /b /c referral, replicas, clones, migration NFSv4.1 supports attributes that allow a namespace to extend beyond the boundaries of a single server through fs_location_info attribute. A server can inform a client that data it seeks lives at another location; this is called “referral”, and referrals can be used to construct a Global Namespace The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 45 FedFS – IETF NFSv4 WG

Global Namespace A Global Namespace B Global Namespace C

NFS NFS NFS Client Client Client

NFS NFS NFS NFS NFS NFS NFS NFS NFS Server A Server B Server C Server A Server B Server C Server A Server B Server C

SAN SAN SAN SAN SAN SAN SAN SAN SAN

/a /b /c /d /e /f /g /h /i

Collection A of File Servers Collection B of File Servers Collection C of File Servers

Current approaches are unsuitable to build a common super namespaces across systems with multiple administrative domains and multiple global namespaces

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 46 FedFS – IETF NFSv4 WG

Federated File System - Global Namespace Federation Member A Federation Member B Federation Member C Global Namespace A Global Namspace B Global Namespace C

NSDB* NSDB* NSDB*

2 3

NFS NFS NFS Client Client Client

1 6 4

NFS Server NFS Server NFS Server NFS Server NFS Server NFS Server NFS Server NFS Server NFS Server A B C A B C A B C

SAN SAN SAN SAN SAN SAN SAN SAN SAN

/a /b /c /a /b /c /a /b /c

*Namespace Database The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 47 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 48 Clustered NAS

≠NAS Cluster / NAS Grid

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

IP

NAS Appliance NAS Appliance Cluster

Interconnect Data Data

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

Client Client Client

IP

NFS CIFS

Data Services Local Files System

Classic Filer

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

Two flavors:

Client Client Client NFS CIFS HTTP FTP WebDAV Clustered Data Services

Cluster (Parallel) File System IP

VIP Address All nodes serve all files...

NFS CIFS

Data Services Local Files System

Classic Filer

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

File servers are clients in a shared, distributed, distributed-parallel FS

Client Client Client Client File servers responsible for file lookup and management All file servers serve all files Global Lock Manager (GLM) IP required

File File File File Server Server Server Server Global Namespace

Shared Shared Shared Shared Metadata Distributed Distributed Distributed Distributed Server Parallel Parallel Parallel Parallel (MDS) FS FS FS FS Client Client Client Client

SAN All nodes serve all files... File_A File_B File_C File_D File_E File_F

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 52 NAS Cluster / NAS Grid (4)

Two flavors:

Client Client Client NFS CIFS HTTP FTP WebDAV Clustered Data Services

Cluster (Parallel) File System IP

VIP Address All nodes serve all files...

NFS CIFS NFS CIFS HTTP FTP WebDAV Clustered Data Services Data Services Local Files System

Classic Filer

VIP Address Each file pinned to a single server... The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 53 NAS Cluster / NAS Grid (5)

Network

NAS Cluster / NAS Grid Node_1

Node_2 Node_3

Several NAS systems connected to each other redirecting file I/O requests exporting a single file system The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 54 NAS Cluster/Grid & Storage Cloud

Clients

File Server File Server Clients Clients File Server

Storage Cloud

Clients

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 55 Agenda

File File System Basics Systems File Systems Taxonomy

Network Local FS Local FS Shared FS FS Shared FS / Global FS SAN FS, Cluster FS Distributed Distributed 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 © 2009 Storage Networking Industry Association. All Rights Reserved. 56 Data For Clouds – File Objects

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

Data

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 57 Data For Clouds – File Objects

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 © 2009 Storage Networking Industry Association. All Rights Reserved. 58 Data For Clouds – File Objects

Data OID OID Data

Store Retrieve Object ID

methods e.g.encryption

policies e.g. replication Object Object

Attributes user/application defined

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

Data

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 59 Data For Clouds – File Objects

Data OID OID Data

Store Retrieve Object ID

methods e.g.encryption

policies e.g. replication Object Object

Attributes user/application defined

Data Blocks

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

name OID Object

name OID Object Data name OID Object

name OID Object

name OID Object

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 60 File Systems & Objects for Clouds

Compute Nodes • Availability through file replication Compute Compute Nodes Nodes • Sacrifice performance

Objects_A Object_F Object_C' Object_B' • Locality of data Object_F'' Object_E'' • No RAID protection

Object_B Object_E Object_A' Object_D' • Peer-to-peer Object_D'' Object_C'' • Storage grid

Object_C Object_D Object_E' Object_F' • Mesh topology Object_B'' Object_A'' • Flat namespace • Geographically dispersed Storage Cloud • Heterogeneous • Spontaneous federations Compute Nodes

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

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

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

The File Systems Evolution © 2009 Storage Networking Industry Association. All Rights Reserved. 62 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, Sun Microsystems

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