Misplaced Pages

OpenZFS

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
#958041

52-627: OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system, and is now maintained by the OpenZFS Project. Similar to the original ZFS, the implementation supports features like data compression , data deduplication , copy-on-write clones, snapshots , RAID-Z , and virtual devices that can create filesystems that span multiple disks. One of

104-567: A Web server , database , and calendar server. Starting with OS X Lion , Apple stopped selling a standalone server operating system, instead releasing an add-on Server app marketed as OS X Server (and later macOS Server ), which was sold through the Mac App Store . The Server app lacked many features from Mac OS X Server, and later versions of the app only included functionality related to user and group management, Xsan , and mobile device management through profiles. The Server app

156-660: A Cocoa application called Directory which allows directory viewing as well as enabling of group services. Server 5.7.1, the version aligned with macOS 10.14 and released on September 30, 2018, removed the Wiki Server functionality from Server.app. On April 21, 2022, Apple announced that they have discontinued macOS Server and that the most popular features (Caching Server, File Sharing Server, and Time Machine Server) are already bundled with every copy of macOS High Sierra and later, so customers will still have access to them. Existing macOS Server customers can still download and use

208-766: A binary kernel module was not in violation of the provisions of the GPL license. Other organizations such as the Software Freedom Law Center followed Ubuntu's conclusion, while the FSF and SFC reiterated their opposing views. Ubuntu 16.04 LTS (" Xenial Xerus "), released on April 21, 2016, allows the user to install the OpenZFS binary packages directly from the Ubuntu software repositories. As of 2024, no legal challenge has been brought against Canonical regarding

260-548: A kernel module and built into the kernel . The question of the CDDL license's compatibility with the GPL license resurfaced in 2015, when the Linux distribution Ubuntu announced that it intended to make precompiled OpenZFS binary kernel modules available to end-users directly from the distribution's official package repositories. In 2016, Ubuntu announced that a legal review resulted in the conclusion that providing support for ZFS via

312-511: A message asking users to switch to O3X. Although the ZFS filesystem supports Linux -based operating systems, difficulties arise for Linux distribution maintainers wishing to provide native support for ZFS in their products due to legal incompatibilities between the ZFS's CDDL license and the GPL license used by the Linux kernel. To enable ZFS support within Linux, a loadable kernel module containing

364-405: A new on-disk data structure to keep track of freed datasets, but an OpenZFS implementation does not need to know about this data structure to access the pool in read-only mode. Additionally, writing to a pool that has some features in active state is not possible by an OpenZFS implementation that does not support the same features. A list of feature flags and which operating systems support them

416-417: A new port of OpenZFS was announced by Jörgen Lundman at OpenZFS Developer Summit. A newer open source port of ZFS which is considered a BETA release, can be found also on GitHub. Originally, version numbers of the pool and file system were incremented as new features were introduced, in order to designate the on-disk file system format and available features. This worked well when a single entity controlled

468-400: A result, such features are backward-compatible . Enabled features are those that will be used, no on-disk format changes have been made yet, but the software may make the changes at any time; such features are still backward-compatible. Active features are those that have made backward-incompatible on-disk format changes to the pool. When any pool feature is enabled, legacy version of the pool

520-519: A runtime layer called Blue Box for running legacy Mac OS-based applications within a separate window. There was discussion of implementing a 'transparent blue box' which would intermix Mac OS applications with those written for Rhapsody's Yellow Box environment, but this would not happen until Mac OS X 's Classic environment. Apple File Services, Macintosh Manager, QuickTime Streaming Server, WebObjects , and NetBoot were included with Mac OS X Server 1.0. It could not use FireWire devices. The last release

572-478: A set of its own issues that includes a performance penalty. However, the April 2016 release of Ubuntu 16.04  LTS includes ZFS as a kernel module. In the release version of Mac OS X 10.5 , ZFS was available in read-only mode from the command line, which lacks the possibility to create z-pools or write to them. Before the 10.5 release, Apple released the "ZFS Beta Seed v1.1", which allowed read-write access and

SECTION 10

#1732780495959

624-474: A single platform rather than across all platforms. Over time, new feature development shifted from Illumos to Linux . These new features and fixes then had to be backported to Illumos before they could be re-ported for FreeBSD . But this was difficult because the Linux version also included many smaller changes, which were hard to disentangle. In 2018, it was agreed that OpenZFS development would be overhauled to remedy these issues. Rather than try to import all

676-453: A variety of additional features. These include expanded device driver support, KVM virtual machines, PCIe passthrough and container support via Kubernetes and Docker. Furthermore, it allows clustered Docker and ZFS via gluster . Information about the current release can be found at the iXsystems Software Status page. A port of open source ZFS was attempted in 2010 but after a hiatus of over one year development ceased in 2012. In October 2017,

728-663: Is Mac OS X Server 1.2v3. Mac OS X Server 10.0 (released May 21, 2001) included the new Aqua user interface , Apache , PHP , MySQL , Tomcat , WebDAV support, Macintosh Manager, and NetBoot . Mac OS X Server 10.1 (released September 25, 2001) featured improved performance, increased system stability, and decreased file transfer times compared to Mac OS X Server 10.0. Support was added for RAID 0 and RAID 1 storage configurations, and Mac OS 9.2.1 in NetBoot. Mac OS X Server 10.2 (released August 23, 2002) includes updated Open Directory user and file management, which with this release

780-519: Is a daemon background service. It has been ported to non-Apple computer platforms. It is currently possible to install it on FreeBSD and several flavours of Linux . The server uses an SQL database for storage of calendar data. iChat Server is an XMPP server that was added in Mac OS X Server 10.4 , and was upgraded to version 2 with the release of Mac OS X 10.5 Server in October 2007. iChat Server

832-630: Is a contacts server, and the first commercial server to have implemented CardDAV , which relies on the WebDAV protocol. It was added in Mac OS X Server 10.6 . iCal Server is the first commercial calendar server to have implemented the CalDAV standard, built on top of WebDAV. iCal Server was added in Mac OS X Server 10.5 , and was also released under the open-source Apache License 2.0 as Darwin Calendar Server. The server, named " caldavd ",

884-414: Is a series of discontinued Unix -like server operating systems developed by Apple Inc. based on macOS . It provided server functionality and system administration tools, and tools to manage both macOS-based computers and iOS -based devices, network services such as a mail transfer agent , AFP and SMB servers, an LDAP server, and a domain name server , as well as server applications including

936-532: Is automatically upgraded to 5000 and any other prerequisite features are also enabled. By default, new pools are created with all supported features enabled. In general, state of a feature can be changed from active back to enabled , undoing that way performed on-disk format changes and making the pool compatible again with an older OpenZFS implementation; however, for some features that might not be possible. On-disk format changes can be associated with either features for write or features for read . The former are

988-404: Is available from the OpenZFS documentation Web site (here the old Open-ZFS.org Web site) Historically, OpenZFS has been implemented as a core ZFS code, with each operating system's team adapting it to fit into their projects. This led in some cases to feature stagnation and divergence of features and command lines, as different operating systems developed divergent features and bug fixes, often for

1040-899: Is based on LDAP , beginning the deprecation of the NeXT-originated NetInfo architecture. The new Workgroup Manager interface improved configuration significantly. Many common network services are provided such as NTP, SNMP, web server ( Apache ), mail server ( Postfix and Cyrus ), LDAP ( OpenLDAP ), AFP , and print server. The inclusion of Samba version 3 allows tight integration with Windows clients and servers. MySQL v4.0.16 and PHP v4.3.7 are also included. The 10.4 release (April 29, 2005) adds 64-bit application support, Access Control Lists , Xgrid , link aggregation , e-mail spam filtering ( SpamAssassin ), virus detection ( ClamAV ), Gateway Setup Assistant, and servers for Software Update , iChat Server using XMPP , Boot Camp Assistant, Dashboard, and Weblog Server based on

1092-692: Is based on LDAP , beginning the deprecation of the NeXT-originated NetInfo architecture. The new Workgroup Manager interface improved configuration significantly. The release also saw major updates to NetBoot and NetInstall . Many common network services are provided such as NTP , SNMP , web server ( Apache ), mail server ( Postfix and Cyrus ), LDAP ( OpenLDAP ), AFP , and print server. The inclusion of Samba version 3 allows tight integration with Windows clients and servers. MySQL v4.0.16 and PHP v4.3.7 are also included. Mac OS X Server 10.3 (released October 24, 2003) release includes updated Open Directory user and file management, which with this release

SECTION 20

#1732780495959

1144-489: Is essential. While initially designed for Solaris, development has since focused on Linux , while ports exist for various BSD distributions and macOS . Unlike Oracle ZFS , OpenZFS is licensed under the Common Development and Distribution License (CDDL), enabling both open-source and commercial use of the file system. Founding members of OpenZFS include Matt Ahrens, one of the main architects of ZFS. In 2020,

1196-485: Is lengthy, and includes: Open-source Too Many Requests If you report this error to the Wikimedia System Administrators, please include the details below. Request from 172.68.168.226 via cp1108 cp1108, Varnish XID 219476753 Upstream caches: cp1108 int Error: 429, Too Many Requests at Thu, 28 Nov 2024 07:54:56 GMT Mac OS X Snow Leopard Server Mac OS X Server

1248-526: The Common Development and Distribution License as part of the OpenSolaris operating system , and it was later ported to other operating systems and environments. The following is a list of key events in the development of ZFS and its various implementations: As the FSF (Free Software Foundation) claimed that there was a legal incompatibility between the CDDL and the GPL in 2005, Sun's implementation of

1300-564: The Lawrence Livermore National Laboratory (LLNL) was released in March 2013, following these key events: As of August 2014, ZFS on Linux uses the OpenZFS pool version number 5000, which indicates that the features it supports are defined via feature flags . This pool version is an unchanging number that is expected to never conflict with version numbers given by Oracle. Another native port for Linux

1352-627: The Mac App Store , and is updated independently of OS X. This Server tool is used to configure, maintain and monitor one or more macOS Server installations. Apple's Address Book Server, iCal Server, Wiki Server, and Web Server are mostly written in the Python programming language, relying on the Twisted framework. Most of these services were discontinued and removed in version 5.7.1 of the Server app, released on September 30, 2018. Address Book Server

1404-524: The Mac Mini and Mac Pro and was sold separately for use on any Macintosh computer meeting its minimum requirements. Mac OS X Server 1.0 was released in March 1999, predating the release of the consumer version of Mac OS X by two years. Mac OS X Server 1.0 was based on Rhapsody , a hybrid of OPENSTEP from NeXT Computer and Mac OS 8.5.1 . The GUI looked like a mixture of Mac OS 8's Platinum appearance with OPENSTEP's NeXT -based interface. It included

1456-647: The CDDL-licensed ZFS code must be compiled and loaded into the kernel. According to the Free Software Foundation , the wording of the GPL license legally prohibits redistribution of the resulting product as a derivative work , though this viewpoint has caused some controversy. One potential workaround to licensing incompatibility was trialed in 2006, with an experimental port of the ZFS code to Linux's FUSE system. The filesystem ran entirely in userspace instead of being integrated into

1508-502: The LLNL's native port of ZFS for Linux. While license incompatibilities may arise with the distribution of compiled binaries containing ZFS code, it is generally agreed that distribution of the source code itself is not affected by this. In Gentoo Linux , configuring a ZFS root filesystem is well documented and the required packages can be installed from its package repository. Slackware also provides documentation on supporting ZFS, both as

1560-599: The Linux changes to other platforms piecemeal, the entire Linux ZFS code would be 'pivoted' as a whole, with other platforms being based on the more actively developed Linux version. A wide range of ported and new features, including many long-desired enhancements, would also be rolled out or ported across platforms, and future changes would be discussed across platforms before being implemented. The plans included appropriate porting layers to prevent Linux, GPL or Linux-KPI shim code from being introduced to other platform kernels . The features in progress or ported for OpenZFS 2.0

1612-440: The Linux kernel, and was therefore not considered a derivative work of the kernel. This approach was functional, but suffered from significant performance penalties when compared with integrating the filesystem as a native kernel module running in kernel space . As of 2016, the ZFS on FUSE project appears to be defunct, as the ZFS on Linux kernel driver has prevailed over the userspace one. A native port of ZFS for Linux produced by

OpenZFS - Misplaced Pages Continue

1664-476: The Mail Server, DNS, DHCP, VPN Server, and Websites. Included services are now limited to Profile Manager, Open Directory and Xsan. Server 5.8 (released March 25, 2019) added new restrictions, payloads, and commands to Profile Manager. The Server app does not support versions of macOS newer than Monterey, marking the end of Mac OS X Server product line. One of Mac OS X Server's main administrative tools

1716-480: The ZFS file system couldn't be used as a basis for the development of a module in the Linux kernel , couldn't be merged into the mainline Linux kernel , and Linux distributions generally did not include it as a precompiled kernel module. As a workaround, FUSE , a framework that allows file systems to run in userspace , was used on Linux as a separation layer for which the licensing issues did not apply, although with

1768-531: The ZFS project on Mac OS Forge with no explanation. Apple removed everything but the CDDL-licensed portion of the source code for their final build of the ZFS project, code named "10a286". Complete ZFS support was originally advertised as a feature of Snow Leopard Server before launch, but by the time the operating system was released all references to this feature had been removed from its features page. Apple's "10a286" source code release, and versions of

1820-418: The codebases of OpenZFS and ZFS on Linux, a kernel module allowing ZFS to be used on Linux, were merged and released as OpenZFS 2.0, allowing other non-Linux operating systems to receive the various improvements that the Linux driver had incorporated over time. The ZFS file system was originally developed by Sun Microsystems for the Solaris operating system. The ZFS source code was released in 2005 under

1872-446: The creation of z-pools; however, the installer for the "ZFS Beta Seed v1.1" has been reported to only work on version 10.5.0, and has not been updated for version 10.5.1 and above. In August 2007, Apple opened a ZFS project on their Mac OS Forge web site. On that site, Apple provided the source code and binaries of their port of ZFS which includes read-write access, but without an installer. In October 2009, Apple discontinued development of

1924-712: The development of ZFS, and this versioning scheme is still in use with the ZFS in Oracle Solaris . In a more distributed development model, having a single version number is far from ideal as all implementations of OpenZFS would need to agree on all changes to the on-disk file system format. The solution selected by OpenZFS was to introduce feature flags as a new versioning system that tags on-disk format changes with unique names, and supports both completely independent format changes and format changes that depend on each other. A pool can be moved and used between OpenZFS implementations as long as all feature flags in use by

1976-416: The distribution of these packages. As of 2019, Ubuntu supports experimental installation of ZFS as a root filesystem, starting with the 19.10 release ("Eoan Ermine"), to support coexistence of a nearly pure ZFS OS with GRUB and other operating systems on the same disk. A version of TrueNAS by iXsystems , based on Debian Linux . As with TrueNAS Core (based on FreeBSD), it uses OpenZFS for storage and adds

2028-426: The features that an OpenZFS implementation must support to be capable of writing to the pool, while supporting such features is not mandatory for opening the pool in read-only mode. The latter are the features that an OpenZFS implementation must support to be able to read from the pool or to just open it, because opening a pool is not possible without actually reading from it. For example, async_destroy feature adds

2080-440: The main capabilities of OpenZFS is self-healing. The file system can detect and correct errors while in use, without the need for a dedicated file system checker. This feature makes it suitable for mission-critical applications that require high availability. OpenZFS is mainly used in enterprise and data center environments, as well as consumer devices like network-attached storage (NAS) devices, where data reliability and safety

2132-507: The open-source Blojsom project ( Java ). On August 10, 2006, Apple announced the first Universal Binary release of Mac OS X Server, version 10.4.7, supporting both PowerPC and Intel processors. At the same time Apple announced the release of the Intel-based Mac Pro and Xserve systems. Leopard Server (released October 26, 2007) sold for $ 999 for an unlimited-client license. Mac OS X Server version 10.5.x ‘Leopard’

OpenZFS - Misplaced Pages Continue

2184-466: The operating system and would not be marketed as a separate product. However, a few months later, the company said it would instead sell the server components as a US$ 49.99 add-on to Lion, distributed through the Mac App Store (as well as Lion itself). The combined cost of an upgrade to Lion and the purchase of the OS X Server add-on, which costs approximately US$ 50, was nonetheless significantly lower than

2236-581: The pool are supported by both implementations. In OpenZFS, the pool version is permanently set to 5000, signifying that the pool indicates new features by setting or unsetting ZFS feature flags rather than by incrementing the pool version. The number 5000 was chosen because it is expected to never conflict with version numbers given by Oracle . Legacy version numbers still exist for pool versions 1–28. Future on-disk format changes are enabled / disabled independently via these feature flags. Legacy version numbers still exist for pool versions 1–28, and are implied by

2288-568: The pool version 5000; the initial proposal was to use 1000 as the pool version. Future on-disk format changes are enabled and disabled independently via feature flags. Feature flags are exposed as pool properties, following these naming scheme rules: For example, feature@com.foocompany:async_destroy is a valid property name, and it could be shortened to feature@async_destroy . Each pool feature can be in either disabled , enabled , or active state. Disabled features are those that will not be used, and no on-disk format changes will be made; as

2340-552: The previously released source and binaries, have been preserved and new development had been adopted by the MacZFS project to continue development outside of Apple. As of July 2012, Mac ZFS implements z-pool version 8 and ZFS version 2, released with the October 2008 release of Solaris . Additional historical information and commentary can be found on the Mac ZFS web site and FAQ . However, the project ceased development in mid 2013 with

2392-800: The retail cost of Snow Leopard Server (US$ 499). Lion Server came with unlimited client licenses as did Snow Leopard Server. Lion Server includes new versions of iCal Server , Wiki Server , and Mail Server . More significantly, Lion Server can be used for iOS mobile device management. Starting with Apple Mac OS X Server Version 10.7 “Lion,” PostgreSQL replaces MySQL as the database provided with Mac OS X Server, coinciding with Oracle Corporation ’s acquisition of Sun Microsystems and Oracle’s subsequent attempts to tighten MySQL’s licensing restrictions and to exert influence on MySQL’s previously open and independent development model. Like Lion, Mountain Lion had no separate server edition. An OS X Server package

2444-617: Was available for Mountain Lion from the Mac App Store for US$ 19.99, which included a server management application called Server, as well as other additional administrative tools to manage client profiles and Xsan . Mountain Lion Server, like Lion Server, was provided with unlimited client licenses, and once purchased could be run on an unlimited number of systems. Server 5.7 (released September 28, 2018) stopped bundling open source services such as Calendar Server, Contacts Server,

2496-557: Was developed by KQ InfoTech in 2010. This port used the zvol implementation from the Lawrence Livermore National Laboratory as a starting point. A release supporting zpool v28 was announced in January 2011. In April 2011, KQ Infotech was acquired by sTec, Inc. , and their work on ZFS ceased. Source code of this port can be found on GitHub . The work of KQ InfoTech was ultimately integrated into

2548-402: Was discontinued on April 21, 2022, and Apple said that later versions of macOS would drop support for it. Mac OS X Server is based on an open source foundation called Darwin and uses open industry standards and protocols. Mac OS X Server was provided as the operating system for Xserve computers, rack-mounted server computers designed by Apple. Also, it was optionally pre-installed on

2600-573: Was originally based on jabberd 1.4.3 and is named after Apple's iChat online chat client software. Version 2 of the software is based on jabberd2 2.0s9 and supports server federation, which allows chat clients to talk directly with other systems that support XMPP . It also supports server-based chat archiving. Wiki Server was a set of services which have shipped with all versions of Mac OS X Server since v10.5 until macOS High Sierra . Mac OS X Server includes web-based Wiki , Weblog , Calendaring, and Contact services. Additionally, it includes

2652-588: Was the Server Administrator app, which allowed users to configure server services, and turn them on or off. RAID Admin was a utility for administering and controlling RAIDs , usually Xserve RAIDs . It was written in Java, and could run on Windows or Linux. Other bundled tools include: Beginning with the release of OS X Mountain Lion (version 10.8), there is only one Administrative tool, an app called "Server", which can be bought and downloaded from

SECTION 50

#1732780495959

2704-572: Was the last major version of Mac OS X Server to support PowerPC -based servers and workstations such as the Apple Xserve G5 and Power Mac G5 . Features: Mac OS X Snow Leopard Server (released August 28, 2009) sold for $ 499 and included unlimited client licenses. New Features: In releasing the developer preview of Mac OS X Lion in February 2011, Apple indicated that beginning with Lion, Mac OS X Server would be bundled with

#958041