A New Network File System Is Born: Comparison of SMB2, CIFS, and NFS

Total Page:16

File Type:pdf, Size:1020Kb

A New Network File System Is Born: Comparison of SMB2, CIFS, and NFS A New Network File System is Born: Comparison of SMB2, CIFS, and NFS Steven M. French IBM Samba Team [email protected] Abstract sharing programs and data. More than twenty years later, the successors to the ancient NFS and SMB proto- In early 2007, SMB2 became the first widely deployed cols are still the default network file systems on almost network file system protocol since NFS version 4. all operating systems. This presentation will compare it with its predecessors (CIFS and SMB) as well as with common alternatives. Even if HTTP were considered a network file system The strengths and weaknesses of SMB/CIFS (the most protocol, it is relatively recent, dating from the early widely deployed network file system protocol) and NFS 1990s, and its first RFC [RFC 1945] was dated May versions 3 and 4 (the next most popular protocols) and 1996. HTTP would clearly be a poor protocol for a SMB2 will also be described. general purpose network file system on most operat- ing systems including Linux. Since HTTP lacked suf- Now that the CIFS POSIX Protocol extensions are im- ficient support for “distributed authoring” without lock- plemented in the Linux kernel, Samba, and multiple op- ing operations, with little file metadata and lacking di- erating systems, it is a good time to analyze whether rectory operations, “HTTP Extensions for Distributed SMB2 would be better for Linux comprared to CIFS Authoring—WEBDAV” (RFC 2518) was released in POSIX Protocol extensions. In addition, alternatives February 1999. WEBDAV did not, however, displace such as HTTP, WebDav, and cluster file systems will be CIFS or NFS, and few operating systems have a usable reviewed. Implementations of SMB2 are included in not in-kernel implementation of WEBDAV. just Vista and Longhorn, but also Samba client libraries and Wireshark (decoding support). Linux implemen- So after more than twenty years, despite the invention tation progress and alternatives for SMB2 clients and of some important cluster file systems and the explosion servers will also be described along with recommenda- of interest in web servers, we are almost back where we tions for future work in this area. started—comparing NFS [3] Version 4 with the current CIFS extensions and with a new SMB—the SMB2 pro- 1 Introduction tocol. File systems still matter. Network file systems are still critical in many small and large enterprises. File systems represent about 10% (almost 500KLOC) of the The SMB2 protocol, introduced in Microsoft Vista this 2.6.21 Linux Kernel source code, and are among the year, is the default network file system on most new PCs. most actively maintained and optimized components. It differs from its predecessors in interesting ways. The nfs1 and cifs modules are among the larger in-kernel Although a few experimental network file system pro- file systems. tocols were developed earlier, the first to be widely de- ployed started in the mid-1980s: SMB (by IBM, Mi- Network file systems matter—the protocols that they de- crosoft and others), AT&T’s RFS protocol, AFS from pend on are more secure, full featured and much more Carnegie-Mellon University, NFS version 2—Sun [1] 1 and Novell’s NCP. The rapid increase in numbers of per- lowercase “nfs” and “cifs” are used to refer to the implementa- tion of the NFS and CIFS protocol (e.g. for Linux the nfs.ko and sonal computers and engineering workstations quickly cifs.ko kernel modules), while uppercase “NFS” and “CIFS” re- made network file systems an important mechanism for fer to the network protocol. • 131 • 132 • A New Network File System is Born: Comparison of SMB2, CIFS, and NFS complex than their ancestors. Some of the better NAS2 system on the client. Network file system opera- implementations can perform as well as SAN and clus- tions on the wire often match one to one with the ter file systems for key workloads. abstract VFS operations (read, write, open, close, create, rename, delete) required by the operating system. The OS/2 heritage of early SMB/CIFS im- 2 Network File System Characteristics plementations and the Solaris heritage of NFS are visible in a few network file system requests. Network protocols can be considered to be layered. Network file system protocols are the top layer—far • Directory Hierarchy: Most network file systems as- removed from the physical devices such as Ethernet sume a hierarchical namespace for file and direc- adapters that send bits over the wire. In the Open Sys- tory objects and the directories that contain them. tem Interconnection (OSI) model, network file system • Server room vs. intranet vs. Internet: Modern net- protocols would be considered as layer 6 and 7 (“Pre- work file system protocols have security and per- sentation” and “Application”) protocols. Network file formance features that make them usable outside system protocols rely on lower level transport protocols of the server room (while many cluster file sys- (e.g. TCP) for reliable delivery of the network file sys- tems are awkward to deploy securely across mul- tems protocol data units (PDUs), or include intermedi- tiple sites). Despite this, HTTP and primitive FTP ate layers (as NFS has done with SunRPC) to ensure are still the most commonly used choices for file reliable delivery. transfers over the Internet. Extensions to NFS ver- Network file system protocols share some fundamental sion 4 and CIFS (DFS) allow construction of a characteristics that distinguish them from other “appli- global hierarchical namespace facilitating transpar- cation level” protocols. Network file system clients and ent failover and easier configuration. servers (and the closely related Network Attached Stor- • Application optimization: Because the pattern of age, NAS, servers) differ in key ways from cluster file network file system protocol requests often more systems and web browsers/servers: closely matches the requests made by the applica- tion than would be the case for a SAN, and since • Files vs. Blocks or Objects: This distinction is easy the security and process context of most applica- to overlook when comparing network file system tion requests can be easily determined, network file protocols with network block devices, cluster file system servers and NAS servers can do interesting systems and SANs. Network file systems read and optimizations. write files not blocks of storage on a device. A file • Transparency: Network file systems attempt to is more abstract—a container for a sequential series provide local remote transparency so that local ap- of bytes. A file is seekable. A file conventionally plications detect little or no difference between contains useful metadata such as ACLs or other se- running over a network file system and a local file curity information, timestamps and size. Network system. file systems request data by file handle or filename or identifier, while cluster file systems operate on • Heterogeneity: Network file system clients and raw blocks of data. Network file system protocols servers are often implemented on quite different are therefore more abstract, less sensitive to disk operating systems—clients access files without re- format, and can more easily leverage file owner- gard to their on-disk format. In most large enter- ship and security information. prises, client machines running quite different op- erating systems access the same data on the same • Network file system protocol operations match lo- server at the same time. The CIFS (or NFS) net- cal file system entry points: Network file system work file system client that comes by default with protocol operations closely mirror the function lay- their operating system neither knows nor cares ering of the file system layer (VFS) of the operating about the operating system of the server. Samba 2Network Attached Storage (NAS) servers are closely related to server has been ported to dozens of operating sys- network file servers. tems, yet the server operating system is mostly 2007 Linux Symposium, Volume One • 133 transparent to SMB/CIFS clients. Network file sys- earlier SMB implementations (which had been docu- tems are everywhere, yet are not always seen when mented by X/Open). The SMB protocol increasingly running in multi-tier storage environments. They was used for purposes other than file serving, includ- often provide consistent file access under large web ing remote server administration, network printing, net- servers or database servers or media servers. A net- working messaging, locating network resources and se- work file system server such as Samba can easily curity management. For these purposes, support for var- export data on other network file systems, on re- ious network interprocess communication mechanisms movable media (CD or DVD), or on a local file sys- was added to the SMB protocol including: Mailslots, tem (ext3, XFS, JFS)—and with far more flexibil- Named Pipes, and the LANMAN RPC. Eventually more ity than is possible with most cluster file systems. complex IPC mechanisms were built allowing encap- sulating DCE/RPC traffic over SMB (even supporting complex object models such as DCOM). Network file systems differ in fundamental ways from web clients/servers and cluster file systems. In the mid 1990s, the SMBFS file system for Linux was developed. Leach and Naik authored various CIFS IETF 2.1 History of SMB Protocol Drafts in 1997, but soon CIFS Documentation activity moved to SNIA. Soon thereafter CIFS implementations were completed for various operating systems including The SMB protocol was invented by Dr. Barry Feigen- OS/400 and HP/UX. The CIFS VFS for Linux was in- baum of IBM’s Boca Raton laboratory during the early cluded in the Linux 2.6 kernel. After nearly four years, development of personal computer operating system the SNIA CIFS Technical Reference [4] was released software. It was briefly named after his initials (“BAF”) in 2002, and included not just Microsoft extensions to before changing the protocol name to “Server Message CIFS, but also CIFS Unix and Mac Extensions.
Recommended publications
  • Oracle® ZFS Storage Appliance Security Guide, Release OS8.6.X
    ® Oracle ZFS Storage Appliance Security Guide, Release OS8.6.x Part No: E76480-01 September 2016 Oracle ZFS Storage Appliance Security Guide, Release OS8.6.x Part No: E76480-01 Copyright © 2014, 2016, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS. Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • CIFS/NFS) Administrator's Guide
    Hitachi Data Ingestor File System Protocols (CIFS/NFS) Administrator's Guide Product Version Getting Help Contents MK-90HDI035-13 © 2013- 2015 Hitachi, Ltd. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or stored in a database or retrieval system for any purpose without the express written permission of Hitachi, Ltd. Hitachi, Ltd., reserves the right to make changes to this document at any time without notice and assume no responsibility for its use. This document contains the most current information available at the time of publication. When new or revised information becomes available, this entire document will be updated and distributed to all registered users. Some of the features described in this document might not be currently available. Refer to the most recent product announcement for information about feature and product availability, or contact Hitachi Data Systems Corporation at https://portal.hds.com. Notice: Hitachi, Ltd., products and services can be ordered only under the terms and conditions of the applicable Hitachi Data Systems Corporation agreements. he use of Hitachi, Ltd., products is governed by the terms of your agreements with Hitachi Data Systems Corporation. Hitachi is a registered trademark of Hitachi, Ltd., in the United States and other countries. Hitachi Data Systems is a registered trademark and service mark of Hitachi, Ltd., in the United States and other countries. Archivas, Essential NAS Platform, HiCommand, Hi-Track, ShadowImage, Tagmaserve, Tagmasoft, Tagmasolve, Tagmastore, TrueCopy, Universal Star Network, and Universal Storage Platform are registered trademarks of Hitachi Data Systems Corporation.
    [Show full text]
  • Samba-3 by Example
    Samba-3 by Example Practical Exercises in Successful Samba Deployment John H. Terpstra May 27, 2009 ABOUT THE COVER ARTWORK The cover artwork of this book continues the freedom theme of the first edition of \Samba-3 by Example". The history of civilization demonstrates the fragile nature of freedom. It can be lost in a moment, and once lost, the cost of recovering liberty can be incredible. The last edition cover featured Alfred the Great who liberated England from the constant assault of Vikings and Norsemen. Events in England that finally liberated the common people came about in small steps, but the result should not be under-estimated. Today, as always, freedom and liberty are seldom appreciated until they are lost. If we can not quantify what is the value of freedom, we shall be little motivated to protect it. Samba-3 by Example Cover Artwork: The British houses of parliament are a symbol of the Westminster system of government. This form of government permits the people to govern themselves at the lowest level, yet it provides for courts of appeal that are designed to protect freedom and to hold back all forces of tyranny. The clock is a pertinent symbol of the importance of time and place. The information technology industry is being challenged by the imposition of new laws, hostile litigation, and the imposition of significant constraint of practice that threatens to remove the freedom to develop and deploy open source software solutions. Samba is a software solution that epitomizes freedom of choice in network interoperability for Microsoft Windows clients.
    [Show full text]
  • Virtfs—A Virtualization Aware File System Pass-Through
    VirtFS—A virtualization aware File System pass-through Venkateswararao Jujjuri Eric Van Hensbergen Anthony Liguori IBM Linux Technology Center IBM Research Austin IBM Linux Technology Center [email protected] [email protected] [email protected] Badari Pulavarty IBM Linux Technology Center [email protected] Abstract operations into block device operations and then again into host file system operations. This paper describes the design and implementation of In addition to performance improvements over a tradi- a paravirtualized file system interface for Linux in the tional virtual block device, exposing guest file system KVM environment. Today’s solution of sharing host activity to the hypervisor provides greater insight to the files on the guest through generic network file systems hypervisor about the workload the guest is running. This like NFS and CIFS suffer from major performance and allows the hypervisor to make more intelligent decisions feature deficiencies as these protocols are not designed with respect to I/O caching and creates new opportuni- or optimized for virtualization. To address the needs of ties for hypervisor-based services like de-duplification. the virtualization paradigm, in this paper we are intro- ducing a new paravirtualized file system called VirtFS. In Section 2 of this paper, we explore more details about This new file system is currently under development and the motivating factors for paravirtualizing the file sys- is being built using QEMU, KVM, VirtIO technologies tem layer. In Section 3, we introduce the VirtFS design and 9P2000.L protocol. including an overview of the 9P protocol, which VirtFS is based on, along with a set of extensions introduced for greater Linux guest compatibility.
    [Show full text]
  • Chapter 2: Installing Samba on a Unix System
    ,ch02.26865 Page 31 Friday, November 19, 1999 3:28 PM Chapter 2 2 Installing Samba on a Unix System Now that you know what Samba can do for you and your users, it’s time to get your own network set up. Let’s start with the installation of Samba itself on a Unix system. When dancing the samba, one learns by taking small steps. It’s just the same when installing Samba; we need to teach it step by step. This chapter will help you to start off on the right foot. For illustrative purposes, we will be installing the 2.0.4 version of the Samba server on a Linux* system running version 2.0.31 of the kernel. However, the installation steps are the same for all of the platforms that Samba supports. A typical installa- tion will take about an hour to complete, including downloading the source files and compiling them, setting up the configuration files, and testing the server. Here is an overview of the steps: 1. Download the source or binary files. 2. Read the installation documentation. 3. Configure a makefile. 4. Compile the server code. 5. Install the server files. 6. Create a Samba configuration file. 7. Test the configuration file. 8. Start the Samba daemons. 9. Test the Samba daemons. * If you haven’t heard of Linux yet, then you’re in for a treat. Linux is a freely distributed Unix-like oper- ating system that runs on the Intel x86, Motorola PowerPC, and Sun Sparc platforms. The operating sys- tem is relatively easy to configure, extremely robust, and is gaining in popularity.
    [Show full text]
  • Managing Network File Systems in Oracle® Solaris 11.4
    Managing Network File Systems in ® Oracle Solaris 11.4 Part No: E61004 August 2021 Managing Network File Systems in Oracle Solaris 11.4 Part No: E61004 Copyright © 2002, 2021, Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • Chapter 15: File System Internals
    Chapter 15: File System Internals Operating System Concepts – 10th dition Silberschatz, Galvin and Gagne ©2018 Chapter 15: File System Internals File Systems File-System Mounting Partitions and Mounting File Sharing Virtual File Systems Remote File Systems Consistency Semantics NFS Operating System Concepts – 10th dition 1!"2 Silberschatz, Galvin and Gagne ©2018 Objectives Delve into the details of file systems and their implementation Explore "ooting and file sharing Describe remote file systems, using NFS as an example Operating System Concepts – 10th dition 1!"# Silberschatz, Galvin and Gagne ©2018 File System $eneral-purpose computers can have multiple storage devices Devices can "e sliced into partitions, %hich hold volumes Volumes can span multiple partitions Each volume usually formatted into a file system # of file systems varies, typically dozens available to choose from Typical storage device organization) Operating System Concepts – 10th dition 1!"$ Silberschatz, Galvin and Gagne ©2018 Example Mount Points and File Systems - Solaris Operating System Concepts – 10th dition 1!"! Silberschatz, Galvin and Gagne ©2018 Partitions and Mounting Partition can be a volume containing a file system +* cooked-) or ra& – just a sequence of "loc,s %ith no file system Boot bloc, can point to boot volume or "oot loader set of "loc,s that contain enough code to ,now how to load the ,ernel from the file system 3r a boot management program for multi-os booting 'oot partition contains the 3S, other partitions can hold other
    [Show full text]
  • Samba's AD DC: Samba 4.2 and Beyond
    Samba's AD DC: Samba 4.2 and Beyond Presented by Andrew Bartlett of Catalyst // 2014-09 About me ● Andrew Bartlett ● Samba Team member since 2001 ● Working on the AD DC since 2006 ● These views are my own, but I do with to thank: – My employer: Catalyst – My fellow Samba Team members Open Source Technologies Samba's AD DC ● The combination of many years work – File server – Print server – Active Directory Domain controller – (and many other features) ● First Release Dec 2012 ● Now on the road to Samba 4.2 – Due for RC1 on Monday Sep 22 Re-opening the heart of the network ● Samba's AD DC brings open source to the heart of the network again ● Samba has long provided a Domain Controller – But without support for Group Policy and other AD features like Kerberos ● Organizations again have a practical choice other than Microsoft Windows The flexibility to innovate ● Open Source lets you do more ● Just as Samba is in many NAS devices, including NETGEAR's ReadyNAS ● Samba inside Catalyst's print server – No CALs, multi-device access ● Imagine – What if was also an AD DC? – Instant branch office solution – Perhaps managed from the cloud? Breaking vendor lock in ● Samba can migrate to and from Microsoft Windows based AD domains – Without loss of data – Without password resets or domain joins ● Samba 4.0 can upgrade existing Samba 3.x domains to AD – And you can even migrate that to a Microsoft Windows AD if you want to – We won't hold you against your will! Uses Native Microsoft Admin tools ● Microsoft Management Console snap-ins – In general, fully
    [Show full text]
  • File-System Implementation
    CHAPTER File-System 11 Implementation As we saw in Chapter 10, the ®le system provides the mechanism for on-line storage and access to ®le contents, including data and programs. The ®le system resides permanently on secondary storage, which is designed to hold a large amount of data permanently. This chapter is primarily concerned with issues surrounding ®le storage and access on the most common secondary-storage medium, the disk. We explore ways to structure ®le use, to allocate disk space, to recover freed space, to track the locations of data, and to interface other parts of the operating system to secondary storage. Performance issues are considered throughout the chapter. Bibliographical Notes The MS-DOS FAT system is explained in[Norton and Wilton (1988)]. The internals of the BSD UNIX system are covered in full in[McKusick and Neville- Neil (2005)]. Details concerning ®le systems for Linux can be found in[Love (2010)]. The Google ®le system is described in[Ghemawat et al. (2003)]. FUSE can be found at http://fuse.sourceforge.net. Log-structured ®le organizations for enhancing both performance and consistency are discussed in[Rosenblum and Ousterhout (1991)], [Seltzer et al. (1993)], and[Seltzer et al. (1995)]. Algorithms such as balanced trees (and much more) are covered by[Knuth (1998)] and [Cormen et al. (2009)].[Silvers (2000)] discusses implementing the page cache in the NetBSD operating system. The ZFS source code for space maps can be found at http://src.opensolaris.org/source/xref/onnv/onnv- gate/usr/src/uts/common/fs/zfs/space map.c. The network ®le system (NFS) is discussed in[Callaghan (2000)].
    [Show full text]
  • Comparative Analysis of Distributed and Parallel File Systems' Internal Techniques
    Comparative Analysis of Distributed and Parallel File Systems’ Internal Techniques Viacheslav Dubeyko Content 1 TERMINOLOGY AND ABBREVIATIONS ................................................................................ 4 2 INTRODUCTION......................................................................................................................... 5 3 COMPARATIVE ANALYSIS METHODOLOGY ....................................................................... 5 4 FILE SYSTEM FEATURES CLASSIFICATION ........................................................................ 5 4.1 Distributed File Systems ............................................................................................................................ 6 4.1.1 HDFS ..................................................................................................................................................... 6 4.1.2 GFS (Google File System) ....................................................................................................................... 7 4.1.3 InterMezzo ............................................................................................................................................ 9 4.1.4 CodA .................................................................................................................................................... 10 4.1.5 Ceph.................................................................................................................................................... 12 4.1.6 DDFS ..................................................................................................................................................
    [Show full text]
  • Client Side Samba Linux Clients in Microsoft Windows Environments
    Client Side Samba Linux Clients in Microsoft Windows Environments Ralf Haferkamp OpenLDAP Team Lars Müller Samba Team May 8, 2006 Motivation Operating Systems Market Share (Client and Server) 1,80% 2,70% Microsoft Apple Linux 95,50% 2 © Novell Inc, Confidential & Proprietary Mandatory Requirements Overview • Domain join • Single Sign On Authentication • Name Service Switch (NSS) • X11 Display Manager integration (KDM, GDM) 3 © Novell Inc, Confidential & Proprietary Mandatory Requirement Authentication • Seamless PAM Integration – Let PAM winbind behave like other PAM modules – Mapping Microsoft to PAM error messages and codes • Kerberized PAM Winbind – Automatic ticket refresh and renew • Account Policies – Password – Logon hours – Lockout 4 © Novell Inc, Confidential & Proprietary Architecture Overview 5 © Novell Inc, Confidential & Proprietary Supplementary Requirements • Winbind Offline mode • Kerberized Client Applications – web browsers (konqueror, FireFox) – MUA (KMail) • File Access – libsmbclient using apps (konqueror, nautilus) – CIFS system wide? • Printing 6 © Novell Inc, Confidential & Proprietary YaST Integration (1) 7 © Novell Inc, Confidential & Proprietary YaST Integration (2) 8 © Novell Inc, Confidential & Proprietary Samba Winbind AD Integration Demo To do • Acessing CIFS Home Directory • Machine Account Password Changes • Localisation • GUI integration for Services For UNIX (SFU) • Group Policy Support (GPO) • Roaming Profiles • Logon Scripts 10 © Novell Inc, Confidential & Proprietary Available Resources • SUSE Linux Enterprise Desktop 10 • http://openSUSE.org/Samba • Samba.org samba-docs subversion Questions & Answers ? 11 © Novell Inc, Confidential & Proprietary Unpublished Work of Novell, Inc. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments.
    [Show full text]
  • Zfs-Ascalabledistributedfilesystemusingobjectdisks
    zFS-AScalableDistributedFileSystemUsingObjectDisks Ohad Rodeh Avi Teperman [email protected] [email protected] IBM Labs, Haifa University, Mount Carmel, Haifa 31905, Israel. Abstract retrieves the data block from the remote machine. zFS also uses distributed transactions and leases, instead of group- zFS is a research project aimed at building a decentral- communication and clustering software. We intend to test ized file system that distributes all aspects of file and stor- and show the effectiveness of these two features in our pro- age management over a set of cooperating machines inter- totype. connected by a high-speed network. zFS is designed to be zFS has six components: a Front End (FE), a Cooper- a file system that scales from a few networked computers to ative Cache (Cache), a File Manager (FMGR), a Lease several thousand machines and to be built from commodity Manager (LMGR), a Transaction Server (TSVR), and an off-the-shelf components. Object Store (OSD). These components work together to The two most prominent features of zFS are its coop- provide applications/users with a distributed file system. erative cache and distributed transactions. zFS integrates The design of zFS addresses, and is influenced by, issues the memory of all participating machines into one coher- of fault tolerance, security and backup/mirroring. How- ent cache. Thus, instead of going to the disk for a block ever, in this article, we focus on the zFS high-level archi- of data already in one of the machine memories, zFS re- tecture and briefly describe zFS’s fault tolerance character- trieves the data block from the remote machine.
    [Show full text]