History of ZFS The Z File System (ZFS) was developed in 2001 by Matthew Ahrens and Jeff Bonwick. ZFS was designed as the next generation file system for Sun MicroSystems' OpenSolaris. In 2008, ZFS was ported to FreeBSD. In the same year, a project to port ZFS to Linux was also launched. However, because ZFS is licensed under the Common Development and Distribution License (CDDL), which is incompatible with the GNU General Public License, it cannot be ported to the Linux kernel. To solve this problem, most Linux distributions provide some way to install ZFS. What is ZFS and what features does it have? As mentioned earlier, ZFS is an advanced file system. Therefore, it has some interesting properties. for example:
Let’s take a closer look at some of these features. How do I install ZFS? If you want to use ZFS right away (out of the box), then you need to install FreeBSD or an operating system that uses the illumos kernel. illumos is a clone of the OpenSolaris kernel. Storage Pool Unlike most file systems, ZFS combines features of a file system and a volume manager. This means that, unlike other file systems, ZFS can create a file system that spans a range of hard disks or pools. Not only that, you can also increase the storage capacity of the pool by adding hard drives. ZFS can be partitioned and formatted Ten reasons and features to use ZFS 1. No more fsck, scandisk No matter you are using Linux, UNIX or Windows, I believe everyone has had similar experiences: when the system loses power unexpectedly or shuts down illegally, the file system is found to have inconsistent problems after the system restarts. At this time, fsck or scandisk is needed to repair it, which is very time-consuming and may not be successfully repaired in the end. What's worse is that if a server needs to perform fsck, it can only be taken offline, and existing applications often have large hard drives, so the corresponding fsck repair time is also very long, which is almost unbearable for many users who use the server. 2. Simple management As a new file system, ZFS completely abandons the traditional File System + Volume Manager + Storage architecture. All storage devices are managed through ZFS Pool. As long as various storage devices are added to the same ZFS Pool, you can easily manage and configure the file system in this ZFS Pool. You no longer need to remember various professional concepts, various commands such as newfs, metinit and the usage of various Volume Managers. In ZFS, we only need two commands, zpool (for ZFS Pool management) and zfs (for ZFS file system management), to easily manage a 128-bit file system. For example, we often encounter the situation where system data grows too fast and the existing storage capacity is insufficient, so we need to add hard disks. If we follow the traditional Volume Manager management method, we need to consider many existing factors in advance and calculate the various parameters that need to be configured according to the application in advance. In the case of ZFS, our system administrators can be completely liberated and no longer need such complex manual considerations and calculations. We can leave these to ZFS because the ZFS Pool will automatically adjust and dynamically adapt to demand. We only need a simple command to add a new hard disk to this ZFS Pool: All file systems based on this dynamically adjusted ZFS Pool can immediately use the new hard disk and automatically select the most optimized parameters. And ZFS also provides a graphical management interface 3. No capacity limit The ZFS (Zettabyte File System) file system, as its name suggests, can provide truly massive storage, and it is almost impossible to encounter capacity problems in reality. Under the existing 64-bit kernel, it can accommodate single files up to 16 Exabytes (264) in size, can use 264 storage devices, and can create 264 file systems. 4. Fully guarantee the accuracy and integrity of data Since all ZFS data operations are based on transactions, a group of corresponding operations will be parsed by ZFS as a transaction operation. A transaction operation means that a group of operations will either fail together or succeed together. And as mentioned before, all ZFS operations are based on COW (Copy on Write), which ensures that the data on the device is always valid and will never be inconsistent due to system crashes or unexpected power outages. 5. Provide excellent performance and scalability Different from the traditional File System + Volume Manager + Storage architecture, ZFS provides all functions directly based on storage devices. Therefore, it has its own unique innovative features and its performance is naturally extraordinary. Dynamic Striping vs. Static Striping Since ZFS is based on COW and a global dynamic ZFS Pool, any write operation is a write operation to a new data block. ZFS dynamically selects the best device from the ZFS Pool and writes it linearly in a transaction, fully and effectively utilizing the bandwidth of existing devices. We call this feature Dynamic Striping. The corresponding Static Striping is the method used by traditional file systems. Static Striping requires the administrator to correctly calculate and set this set of Stripes in advance, and if a new device is added, it needs to be manually calculated and set again. What is more serious is that if the manual calculation is wrong, it will directly affect the performance of the system. After using the Dynamic Striping feature, we don’t need any human intervention at all. ZFS will automatically adjust and intelligently provide you with the best equipment and the fastest operation method. Support multiple block sizes ZFS supports data block definitions of various sizes, from 512 bytes to 1M bytes. Unlike traditional file systems that often have fixed-size data blocks, ZFS can dynamically calculate based on files of different sizes and dynamically select the best data blocks. Intelligent Prefetch Most operating systems have the ability to pre-read data, and ZFS is a more intelligent data pre-reading function that is built directly on the file system. It can not only intelligently identify multiple reading modes and read data in advance, but also perform this pre-reading intelligent identification on each read data stream, which is a very good thing for many streaming media providers. 6. Self-healing function Traditional hard disk mirroring and RAID 4 and RAID 5 array methods will encounter the problem mentioned above: Silent Data Corruption. If a physical problem occurs on a hard disk and causes data errors, existing Mirror, including RAID 4 and RAID 5 arrays, will silently submit the erroneous data to the upper-level application. If this error occurs in Metadata, it will directly cause the system to panic. And there is a more serious situation: in RAID 4 and RAID 5 arrays, if the system is calculating the Parity value and writing new data and the new Parity value again when a power outage occurs, all the stored data in the entire array will be meaningless. Fault Manager Solaris 10 includes a ZFS diagnostic engine that interacts with Solaris's Fault Manager (another new feature of Solaris 10) to diagnose and analyze and report ZFS Pool and storage device errors in real time. Users can receive friendly messages from the Fault Manager in a timely manner. Although the diagnostic engine will not take proactive actions to repair or resolve the problem, it will prompt the system administrator with possible actions in the message. A ZFS error message similar to the following, where REC-ACTION is the recommended action: SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Fri Mar 10 11:09:06 MST 2006 PLATFORM: SUNW,Ultra-60, CSN: -, HOSTNAME: neo SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: b55ee13b-cd74-4dff-8aff-ad575c372ef8 DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool maybe compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device. 7. Security In terms of security, ZFS supports ACL (read control list) similar to NT style NFSv4. Moreover, for the 256-bit verification code mentioned above, users can choose from a variety of verification methods, including the SHA-256 verification algorithm, thereby ensuring data security at the physical storage unit level. 8. Super powerful function As the "last file system", ZFS covers the basic file system and volume management functions, while providing many enterprise-level super functions: Quota, Reservation, Compression, Snapshot, and Clone. And it's very fast. With this file system, you no longer need any Volume Manager. 9. Compatibility ZFS is a file system that is fully compatible with the POSIX specification, so upper-layer applications are completely unaffected. ZFS also provides an Emulated Volume module that can use any ZFS file system as a normal block device. At the same time, ZFS can also use Volume built based on Volume Manager as a storage device unit. This gives everyone the greatest freedom to obtain the various features provided by ZFS without modifying applications or existing file systems. 10. Open Source ZFS is operated by Sun Microsystems as an open source project of OpenSolaris and is completely free to use, which means that we can not only enjoy the high quality of a commercial company, but also the advantages of the open source model. Additional Notes This article discusses the advantages of ZFS. Now, let me tell you a very real problem with ZFS. Using RAID-Z can be expensive because you need to purchase a large number of disks to increase storage space. Summarize The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. If you want to learn more about this, please check out the following links |
<<: The correct way to migrate MySQL data to Oracle
>>: Summary of Vue component basics
1. Why create an index? (Advantages) This is beca...
CSS Layout - position Property The position attri...
How to make tomcat support https access step: (1)...
MySQL is a relational database management system ...
iOS 1. URL scheme This solution is basically for ...
Open the scheduled task editor. Cent uses vim to ...
Table of contents Preface Main implementation cod...
The default varchar type in MySQL is case insensi...
Table of contents Why update the auto-increment i...
In a word: if you buy a cloud server from any maj...
It has been three or four months since I joined Wo...
Global Object All modules can be called global: r...
Table of contents Class component event binding F...
The solution to the transparent font problem after...
Before we begin, we create two tables to demonstr...