A Community of Open Source ZFS Developers

Total Page:16

File Type:pdf, Size:1020Kb

A Community of Open Source ZFS Developers OpenZFS: a Community of Open Source ZFS Developers Matthew Ahrens Delphix San Francisco, CA [email protected] Abstract—OpenZFS is a collaboration among open and ever-increasing fsck times. These scalability source ZFS developers on the FreeBSD, illumos, Linux, issues were mitigated only by increasingly complex and Mac OSX platforms. OpenZFS helps these developers administrative procedures. work together to create a consistent, reliable, performant There were incremental and isolated improve- implementation of ZFS. Several new features and perfor- mance enhancements have been developed for OpenZFS ments to these problems in various systems. Copy- and are available in all open-source ZFS distributions. on-write filesystems (e.g. NetApp’s WAFL) elimi- nated the need for fsck. High-end storage systems I. INTRODUCTION (e.g. EMC) used special disks with 520-byte sectors In the past decade, ZFS has grown from a project to store checksums of data. Extent-based filesystems managed by a single organization to a distributed, (e.g. NTFS, XFS) worked better than fixed-block- collaborative effort among many communities and size systems when used for non-homogenous work- companies. This paper will explain the motivation loads. But there was no serious attempt to tackle all behind creating the OpenZFS project, the problems of the above issues in a general-purpose filesystem. we aim to address with it, and the projects under- In 2001, Matt Ahrens and Jeff Bonwick started taken to accomplish these goals. the ZFS project at Sun Microsystems with one main goal: to end the suffering of system admin- II. HISTORY OF ZFS DEVELOPMENT istrators who were struggling to manage complex A. Early Days and fallible storage systems. To do so, we needed In the early 2000’s, the state of the art in filesys- to re-evaluate obsolete assumptions and design an tems was not pretty. There was no defense from integrated storage system from scratch. Over the silent data corruption introduced by bit rot, disk next 4 years, they and a team of a dozen engineers and controller firmware bugs, flaky cables, etc. It implemented the fundamentals of ZFS, including was akin to running a server without ECC memory. pooled storage, copy-on-write, RAID-Z, snapshots, Storage was difficult to manage, requiring different and send/receive. A simple administrative model tools to manage files, blocks, labels, NFS, mount- based on hierarchical property inheritance made points, SMB shares, etc. It wasn’t portable between it easy for system administrators to express their different operating systems (e.g. Linux vs Solaris) intent, and made high-end storage features like or processor architectures (e.g. x86 vs SPARC vs checksums, snapshots, RAID, and transparent com- ARM). Storage systems were slow and unscalable. pression accessible to non-experts. They limited the number of files per filesystem, the size of volumes, etc. When available at all, B. Open Source snapshots were limited in number and performance. As part of the OpenSolaris project, in 2005 Sun Backups were slow, and remote-replication soft- released the ZFS source code as open source soft- ware was extremely specialized and difficult to use. ware, under the CDDL license. This enabled the Filesystem performance was hampered by coarse- ports of ZFS to FreeBSD, Linux, and Mac OSX, grained locking, fixed block sizes, naive prefetch, and helped create a thriving community of ZFS users. Sun continued to enhance ZFS, bringing it to Linux increased, fragmentation between the plat- enterprise quality and making it part of the Solaris forms became a real risk. operating system and the foundation of the Sun Storage 7000 series (later renamed the Oracle ZFS III. THE OPENZFS COLLABORATION Storage Appliance). The other platforms continually A. Goals pulled changes from OpenSolaris, benefiting from The OpenZFS project was created to accomplish Sun’s continuing investment in ZFS. Other compa- three goals: nies started creating storage products based Open- 1) Open communication: We want everyone Solaris and FreeBSD, making open-source ZFS an working on ZFS to work together, regardless of integral part of their products. what platform they are working on. By working to- However, the vast majority of ZFS development gether, we can reduce duplicated effort and identify happened behind closed doors at Sun. At this time, common goals. very few core enhancements were made to ZFS 2) Consistent experience: We want users’ expe- by non-Sun contributors. Thus although ZFS was rience with OpenZFS to be high-quality regardless Open Source and multi-platform, it did not have an of what platform they are using. Features should be open development model. As long as Sun contin- available on all platforms, and all implementations ued maintaining and enhancing ZFS, this was not of ZFS should have good performance and be free necessarily an impediment to the continued success of bugs. of products and community projects based on open- 3) Public awareness: We want to make sure source ZFS – they could keep getting enhancements that people know that open-source ZFS is available and bug fixes from Sun. on many platforms (e.g. illumos, FreeBSD, Linux, OSX), that it is widely used in some of the most C. Turmoil demanding production environments, and that it continues to be enhanced. In 2010, Oracle acquired Sun Microsystems, stopped contributing source code changes to ZFS, B. Activities and began dismantling the OpenSolaris community. We have undertaken several activities to accom- This raised big concerns about the future of open- plish these goals: source ZFS – without its primary contributor, would 1) Website: The http://open-zfs.org website it stagnate? Would companies creating products (don’t forget the dash!) publicizes OpenZFS based on ZFS flounder without Sun’s engineering activities such as events, talks, and publications. resources behind them? To address this issue for It acts as the authoritative reference for technical both ZFS and OpenSolaris as a whole, the Illumos work, documenting both usage and how ZFS project was created. Illumos took the source code is implemented (e.g. the on-disk format). The from OpenSolaris (including ZFS) and formed a website is also used as a brainstorming and new community around it. Where OpenSolaris de- coordination area for work in progress. To facilitate velopment was controlled by one company, illumos collaboration, the website is a Wiki which can be creates common ground for many companies to con- edited by any registered user. tribute on equal footing. ZFS found a new home in 2) Mailing list: The OpenZFS developer mail- Illumos, with several companies basing their prod- ing list[1] serves as common ground for develop- ucts on it and contributing code changes. FreeBSD ers working on all platforms to discuss work in and Linux treated Illumos as their upstream for progress, review code changes, and share knowledge ZFS code. However, there was otherwise not much of how ZFS is implemented. Before its existence, interaction between platform-specific communities. changes made on one platform often came as a There continued to be duplicated efforts between surprise to developers on other platforms, and some- platforms, and surprises when code changes made times introduced platform compatibility issues or on one platform were not easily ported to others. required new functions to be implemented in the As the pace of ZFS development on FreeBSD and Solaris Porting Layer. The OpenZFS mailing list allows these concerns to be raised and addressed then later merge their changes together into one during code review, when they can easily be ad- codebase that understands both features. In the dressed. Note that this mailing list is not a re- version-number model, two companies or projects placement for platform-specific mailing lists, which each working on their own new on-disk features continue to serve their role primarily for end users would both use version N+1 to denote their new and system administrators to discuss how to use feature, but that number would mean different things ZFS, as well for developers to discuss platform- to each company’s software. This would make it specific code changes. very difficult for both companies to contribute their 3) Office hours: Experts in the OpenZFS com- new features into a common codebase. The world munity hold online office hours[2] approximately would forever be divided into ZFS releases that once a month. These question and answer sessions interpreted version N+1 as company A intended, are hosted by a rotating cast of OpenZFS develop- and those that interpreted it as company B intended. ers, using live audio/video/text conferencing tools. To address this problem, we designed and im- The recorded video is also available online. plemented “feature flags” to replace the linear ver- 4) Conferences: Since September 2013, 6 Open- sion number. Rather than having a simple ver- ZFS developers have presented at 8 conferences. sion number, each storage pool has a list of These events serve both to increase awareness of features that it is using. Features are identified OpenZFS, and also to network with other devel- with strings, using a reverse-DNS naming conven- opers, coordinating work in person. Additionally, tion (e.g. com.delphix:background destroy). This we held the first OpenZFS Developer Summit[3] enables on-disk format changes to be developed in- in November 2013 in San Francisco. More than 30 dependently, and later be integrated into a common individuals participated, representing 14 companies codebase. and all the major platforms. The two-day event With the old version numbers, once a pool was consisted of a dozen presentations and a hackathon. upgraded to a particular version, it couldn’t be Ten projects were started at the hackathon, including accessed by software that didn’t understand that the “best in show”: a team of 5 who ported the version number.
Recommended publications
  • Copy on Write Based File Systems Performance Analysis and Implementation
    Copy On Write Based File Systems Performance Analysis And Implementation Sakis Kasampalis Kongens Lyngby 2010 IMM-MSC-2010-63 Technical University of Denmark Department Of Informatics Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45 45882673 [email protected] www.imm.dtu.dk Abstract In this work I am focusing on Copy On Write based file systems. Copy On Write is used on modern file systems for providing (1) metadata and data consistency using transactional semantics, (2) cheap and instant backups using snapshots and clones. This thesis is divided into two main parts. The first part focuses on the design and performance of Copy On Write based file systems. Recent efforts aiming at creating a Copy On Write based file system are ZFS, Btrfs, ext3cow, Hammer, and LLFS. My work focuses only on ZFS and Btrfs, since they support the most advanced features. The main goals of ZFS and Btrfs are to offer a scalable, fault tolerant, and easy to administrate file system. I evaluate the performance and scalability of ZFS and Btrfs. The evaluation includes studying their design and testing their performance and scalability against a set of recommended file system benchmarks. Most computers are already based on multi-core and multiple processor architec- tures. Because of that, the need for using concurrent programming models has increased. Transactions can be very helpful for supporting concurrent program- ming models, which ensure that system updates are consistent. Unfortunately, the majority of operating systems and file systems either do not support trans- actions at all, or they simply do not expose them to the users.
    [Show full text]
  • ZFS (On Linux) Use Your Disks in Best Possible Ways Dobrica Pavlinušić CUC Sys.Track 2013-10-21 What Are We Going to Talk About?
    ZFS (on Linux) use your disks in best possible ways Dobrica Pavlinušić http://blog.rot13.org CUC sys.track 2013-10-21 What are we going to talk about? ● ZFS history ● Disks or SSD and for what? ● Installation ● Create pool, filesystem and/or block device ● ARC, L2ARC, ZIL ● snapshots, send/receive ● scrub, disk reliability (smart) ● tuning zfs ● downsides ZFS history 2001 – Development of ZFS started with two engineers at Sun Microsystems. 2005 – Source code was released as part of OpenSolaris. 2006 – Development of FUSE port for Linux started. 2007 – Apple started porting ZFS to Mac OS X. 2008 – A port to FreeBSD was released as part of FreeBSD 7.0. 2008 – Development of a native Linux port started. 2009 – Apple's ZFS project closed. The MacZFS project continued to develop the code. 2010 – OpenSolaris was discontinued, the last release was forked. Further development of ZFS on Solaris was no longer open source. 2010 – illumos was founded as the truly open source successor to OpenSolaris. Development of ZFS continued in the open. Ports of ZFS to other platforms continued porting upstream changes from illumos. 2012 – Feature flags were introduced to replace legacy on-disk version numbers, enabling easier distributed evolution of the ZFS on-disk format to support new features. 2013 – Alongside the stable version of MacZFS, ZFS-OSX used ZFS on Linux as a basis for the next generation of MacZFS. 2013 – The first stable release of ZFS on Linux. 2013 – Official announcement of the OpenZFS project. Terminology ● COW - copy on write ○ doesn’t
    [Show full text]
  • New/Usr/Src/Cmd/Mdb/Common
    new/usr/src/cmd/mdb/common/modules/genunix/findstack.c 1 new/usr/src/cmd/mdb/common/modules/genunix/findstack.c 2 ********************************************************** 642 return (DCMD_USAGE); 21346 Thu Feb 18 08:40:37 2016 new/usr/src/cmd/mdb/common/modules/genunix/findstack.c 644 if (interesting) { 6583 remove whole-process swapping 645 if (sobj != NULL || excl_sobj != NULL || ********************************************************** 646 tstate_str != NULL || excl_tstate_str != NULL) { ______unchanged_portion_omitted_ 647 mdb_warn( 648 "stacks: -i is incompatible with -[sStT]\n"); 583 /*ARGSUSED*/ 649 return (DCMD_USAGE); 584 int 650 } 585 stacks(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) 651 excl_sobj = "CV"; 586 { 652 excl_tstate_str = "FREE"; 587 size_t idx; 653 } 589 char *seen = NULL; 655 if (caller_str != NULL) { 656 mdb_set_dot(0); 591 const char *caller_str = NULL; 657 if (mdb_eval(caller_str) != 0) { 592 const char *excl_caller_str = NULL; 658 mdb_warn("stacks: evaluation of \"%s\" failed", 593 uintptr_t caller = 0, excl_caller = 0; 659 caller_str); 594 const char *module_str = NULL; 660 return (DCMD_ABORT); 595 const char *excl_module_str = NULL; 661 } 596 stacks_module_t module, excl_module; 662 caller = mdb_get_dot(); 597 const char *sobj = NULL; 663 } 598 const char *excl_sobj = NULL; 599 uintptr_t sobj_ops = 0, excl_sobj_ops = 0; 665 if (excl_caller_str != NULL) { 600 const char *tstate_str = NULL; 666 mdb_set_dot(0); 601 const char *excl_tstate_str = NULL; 667 if (mdb_eval(excl_caller_str) !=
    [Show full text]
  • Ubuntu Kung Fu
    Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
    [Show full text]
  • Serverless Network File Systems
    Serverless Network File Systems Thomas E. Anderson, Michael D. Dahlin, Jeanna M. Neefe, David A. Patterson, Drew S. Roselli, and Randolph Y. Wang Computer Science Division University of California at Berkeley Abstract In this paper, we propose a new paradigm for network file system design, serverless network file systems. While traditional network file systems rely on a central server machine, a serverless system utilizes workstations cooperating as peers to provide all file system services. Any machine in the system can store, cache, or control any block of data. Our approach uses this location independence, in combination with fast local area networks, to provide better performance and scalability than traditional file systems. Further, because any machine in the system can assume the responsibilities of a failed component, our serverless design also provides high availability via redundant data storage. To demonstrate our approach, we have implemented a prototype serverless network file system called xFS. Preliminary performance measurements suggest that our architecture achieves its goal of scalability. For instance, in a 32-node xFS system with 32 active clients, each client receives nearly as much read or write throughput as it would see if it were the only active client. 1. Introduction A serverless network file system distributes storage, cache, and control over cooperating workstations. This approach contrasts with traditional file systems such as Netware [Majo94], NFS [Sand85], Andrew [Howa88], and Sprite [Nels88] where a central server machine stores all data and satisfies all client cache misses. Such a central server is both a performance and reliability bottleneck. A serverless system, on the other hand, distributes control processing and data storage to achieve scalable high performance, migrates the responsibilities of failed components to the remaining machines to provide high availability, and scales gracefully to simplify system management.
    [Show full text]
  • Advanced Services for Oracle Hierarchical Storage Manager
    ORACLE DATA SHEET Advanced Services for Oracle Hierarchical Storage Manager The complex challenge of managing the data lifecycle is simply about putting the right data, on the right storage tier, at the right time. Oracle Hierarchical Storage Manager software enables you to reduce the cost of managing data and storing vast data repositories by providing a powerful, easily managed, cost-effective way to access, retain, and protect data over its entire lifecycle. However, your organization must ensure that your archive software is configured and optimized to meet strategic business needs and regulatory demands. Oracle Advanced Services for Oracle Hierarchical Storage Manager delivers the configuration expertise, focused reviews, and proactive guidance to help optimize the effectiveness of your solution–all delivered by Oracle Advanced Support Engineers. KEY BENEFITS Simplify Storage Management • Preproduction Readiness Services including critical patches and Putting the right information on the appropriate tier can reduce storage costs and updates, using proven methodologies maximize return on investment (ROI) over time. Oracle Hierarchical Storage Manager and recommended practices software actively manages data between storage tiers to let companies exploit the • Production Optimization Services substantial acquisition and operational cost differences between high-end disk drives, including configuration reviews and SATA drives, and tape devices. Oracle Hierarchical Storage Manager software provides performance reviews to analyze existing
    [Show full text]
  • XFS: There and Back ...And There Again? Slide 1 of 38
    XFS: There and Back.... .... and There Again? Dave Chinner <[email protected]> <[email protected]> XFS: There and Back .... and There Again? Slide 1 of 38 Overview • Story Time • Serious Things • These Days • Shiny Things • Interesting Times XFS: There and Back .... and There Again? Slide 2 of 38 Story Time • Way back in the early '90s • Storage exceeding 32 bit capacities • 64 bit CPUs, large scale MP • Hundreds of disks in a single machine • XFS: There..... Slide 3 of 38 "x" is for Undefined xFS had to support: • Fast Crash Recovery • Large File Systems • Large, Sparse Files • Large, Contiguous Files • Large Directories • Large Numbers of Files • - Scalability in the XFS File System, 1995 http://oss.sgi.com/projects/xfs/papers/xfs_usenix/index.html XFS: There..... Slide 4 of 38 The Early Years XFS: There..... Slide 5 of 38 The Early Years • Late 1994: First Release, Irix 5.3 • Mid 1996: Default FS, Irix 6.2 • Already at Version 4 • Attributes • Journalled Quotas • link counts > 64k • feature masks • • XFS: There..... Slide 6 of 38 The Early Years • • Allocation alignment to storage geometry (1997) • Unwritten extents (1998) • Version 2 directories (1999) • mkfs time configurable block size • Scalability to tens of millions of directory entries • • XFS: There..... Slide 7 of 38 What's that Linux Thing? • Feature development mostly stalled • Irix development focussed on CXFS • New team formed for Linux XFS port! • Encumberance review! • Linux was missing lots of bits XFS needed • Lot of work needed • • XFS: There and..... Slide 8 of 38 That Linux Thing? XFS: There and..... Slide 9 of 38 Light that fire! • 2000: SGI releases XFS under GPL • • 2001: First stable XFS release • • 2002: XFS merged into 2.5.36 • • JFS follows similar timeline • XFS: There and....
    [Show full text]
  • Comparing Filesystem Performance: Red Hat Enterprise Linux 6 Vs
    COMPARING FILE SYSTEM I/O PERFORMANCE: RED HAT ENTERPRISE LINUX 6 VS. MICROSOFT WINDOWS SERVER 2012 When choosing an operating system platform for your servers, you should know what I/O performance to expect from the operating system and file systems you select. In the Principled Technologies labs, using the IOzone file system benchmark, we compared the I/O performance of two operating systems and file system pairs, Red Hat Enterprise Linux 6 with ext4 and XFS file systems, and Microsoft Windows Server 2012 with NTFS and ReFS file systems. Our testing compared out-of-the-box configurations for each operating system, as well as tuned configurations optimized for better performance, to demonstrate how a few simple adjustments can elevate I/O performance of a file system. We found that file systems available with Red Hat Enterprise Linux 6 delivered better I/O performance than those shipped with Windows Server 2012, in both out-of- the-box and optimized configurations. With I/O performance playing such a critical role in most business applications, selecting the right file system and operating system combination is critical to help you achieve your hardware’s maximum potential. APRIL 2013 A PRINCIPLED TECHNOLOGIES TEST REPORT Commissioned by Red Hat, Inc. About file system and platform configurations While you can use IOzone to gauge disk performance, we concentrated on the file system performance of two operating systems (OSs): Red Hat Enterprise Linux 6, where we examined the ext4 and XFS file systems, and Microsoft Windows Server 2012 Datacenter Edition, where we examined NTFS and ReFS file systems.
    [Show full text]
  • Solaris 10 End of Life
    Solaris 10 end of life Continue Oracle Solaris 10 has had an amazing OS update, including ground features such as zones (Solaris containers), FSS, Services, Dynamic Tracking (against live production operating systems without impact), and logical domains. These features have been imitated in the market (imitation is the best form of flattery!) like all good things, they have to come to an end. Sun Microsystems was acquired by Oracle and eventually, the largest OS known to the industry, needs to be updated. Oracle has set a retirement date of January 2021. Oracle indicated that Solaris 10 systems would need to raise support costs. Oracle has never provided migratory tools to facilitate migration from Solaris 10 to Solaris 11, so migration to Solaris has been slow. In September 2019, Oracle decided that extended support for Solaris 10 without an additional financial penalty would be delayed until 2024! Well its March 1 is just a reminder that Oracle Solaris 10 is getting the end of life regarding support if you accept extended support from Oracle. Combined with the fact gdpR should take effect on May 25, 2018 you want to make sure that you are either upgraded to Solaris 11.3 or have taken extended support to obtain any patches for security issues. For more information on tanningix releases and support dates of old and new follow this link ×Sestive to abort the Unix Error Operating System originally developed by Sun Microsystems SolarisDeveloperSun Microsystems (acquired by Oracle Corporation in 2009)Written inC, C'OSUnixWorking StateCurrentSource ModelMixedInitial release1992; 28 years ago (1992-06)Last release11.4 / August 28, 2018; 2 years ago (2018-08-28)Marketing targetServer, PlatformsCurrent: SPARC, x86-64 Former: IA-32, PowerPCKernel typeMonolithic with dynamically downloadable modulesDefault user interface GNOME-2-LicenseVariousOfficial websitewww.oracle.com/solaris Solaris is the own operating system Of Unix, originally developed by Sunsystems.
    [Show full text]
  • Installing Oracle Goldengate
    Oracle® Fusion Middleware Installing Oracle GoldenGate 12c (12.3.0.1) E85215-07 November 2018 Oracle Fusion Middleware Installing Oracle GoldenGate, 12c (12.3.0.1) E85215-07 Copyright © 2017, 2018, 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]
  • Silicon Graphics, Inc. Scalable Filesystems XFS & CXFS
    Silicon Graphics, Inc. Scalable Filesystems XFS & CXFS Presented by: Yingping Lu January 31, 2007 Outline • XFS Overview •XFS Architecture • XFS Fundamental Data Structure – Extent list –B+Tree – Inode • XFS Filesystem On-Disk Layout • XFS Directory Structure • CXFS: shared file system ||January 31, 2007 Page 2 XFS: A World-Class File System –Scalable • Full 64 bit support • Dynamic allocation of metadata space • Scalable structures and algorithms –Fast • Fast metadata speeds • High bandwidths • High transaction rates –Reliable • Field proven • Log/Journal ||January 31, 2007 Page 3 Scalable –Full 64 bit support • Large Filesystem – 18,446,744,073,709,551,615 = 264-1 = 18 million TB (exabytes) • Large Files – 9,223,372,036,854,775,807 = 263-1 = 9 million TB (exabytes) – Dynamic allocation of metadata space • Inode size configurable, inode space allocated dynamically • Unlimited number of files (constrained by storage space) – Scalable structures and algorithms (B-Trees) • Performance is not an issue with large numbers of files and directories ||January 31, 2007 Page 4 Fast –Fast metadata speeds • B-Trees everywhere (Nearly all lists of metadata information) – Directory contents – Metadata free lists – Extent lists within file – High bandwidths (Storage: RM6700) • 7.32 GB/s on one filesystem (32p Origin2000, 897 FC disks) • >4 GB/s in one file (same Origin, 704 FC disks) • Large extents (4 KB to 4 GB) • Request parallelism (multiple AGs) • Delayed allocation, Read ahead/Write behind – High transaction rates: 92,423 IOPS (Storage: TP9700)
    [Show full text]
  • Adventures with Illumos
    > Adventures with illumos Peter Tribble Theoretical Astrophysicist Sysadmin (DBA) Technology Tinkerer > Introduction ● Long-time systems administrator ● Many years pointing out bugs in Solaris ● Invited onto beta programs ● Then the OpenSolaris project ● Voted onto OpenSolaris Governing Board ● Along came Oracle... ● illumos emerged from the ashes > key strengths ● ZFS – reliable and easy to manage ● Dtrace – extreme observability ● Zones – lightweight virtualization ● Standards – pretty strict ● Compatibility – decades of heritage ● “Solarishness” > Distributions ● Solaris 11 (OpenSolaris based) ● OpenIndiana – OpenSolaris ● OmniOS – server focus ● SmartOS – Joyent's cloud ● Delphix/Nexenta/+ – storage focus ● Tribblix – one of the small fry ● Quite a few others > Solaris 11 ● IPS packaging ● SPARC and x86 – No 32-bit x86 – No older SPARC (eg Vxxx or SunBlades) ● Unique/key features – Kernel Zones – Encrypted ZFS – VM2 > OpenIndiana ● Direct continuation of OpenSolaris – Warts and all ● IPS packaging ● X86 only (32 and 64 bit) ● General purpose ● JDS desktop ● Generally rather stale > OmniOS ● X86 only ● IPS packaging ● Server focus ● Supported commercial offering ● Stable components can be out of date > XStreamOS ● Modern variant of OpenIndiana ● X86 only ● IPS packaging ● Modern lightweight desktop options ● Extra applications – LibreOffice > SmartOS ● Hypervisor, not general purpose ● 64-bit x86 only ● Basis of Joyent cloud ● No inbuilt packaging, pkgsrc for applications ● Added extra features – KVM guests – Lots of zone features –
    [Show full text]