<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ZFS on Leo&#39;s Technical Log</title>
    <link>https://jksoftcn.com/en/tags/zfs/</link>
    <description>Recent content in ZFS on Leo&#39;s Technical Log</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 01 Dec 2025 00:00:00 +0000</lastBuildDate>
      <atom:link href="https://jksoftcn.com/en/tags/zfs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Do You Really Need ZFS? A Practical Storage Guide for Home and Power Users</title>
      <link>https://jksoftcn.com/en/blog/00-do-you-need-to-use-zfs/</link>
      <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://jksoftcn.com/en/blog/00-do-you-need-to-use-zfs/</guid>
      <description>&lt;div class=&#34;mermaid&#34;&gt;&#xD;&#xA;graph TD&#xD;&#xA;    Start[Start Choosing a Storage Solution] --&gt; Q1{Is your total data&lt;br/&gt;under 4TB?}&#xD;&#xA;    &#xD;&#xA;    Q1 --&gt;|Yes| Q2{Do multiple devices&lt;br/&gt;need access?}&#xD;&#xA;    Q1 --&gt;|No| Q3{Is your budget&lt;br/&gt;over ~$400?}&#xD;&#xA;    &#xD;&#xA;    Q2 --&gt;|No| Q2a{Do you want&lt;br/&gt;automatic backups?}&#xD;&#xA;    Q2 --&gt;|Yes| NAS1[2-bay entry NAS&lt;br/&gt;Synology / QNAP&lt;br/&gt;Built-in filesystem]&#xD;&#xA;    &#xD;&#xA;    Q2a --&gt;|No| HDD[External drive&lt;br/&gt;Cheapest &amp; simplest&lt;br/&gt;Manual backups]&#xD;&#xA;    Q2a --&gt;|Yes| NAS1&#xD;&#xA;    &#xD;&#xA;    Q3 --&gt;|No| HDD&#xD;&#xA;    Q3 --&gt;|Yes| Q4{Linux experience?}&#xD;&#xA;    &#xD;&#xA;    Q4 --&gt;|No| NAS2[4-bay prebuilt NAS&lt;br/&gt;Synology / QNAP&lt;br/&gt;RAID5 / SHR]&#xD;&#xA;    Q4 --&gt;|Yes| Q5{Willing to spend time&lt;br/&gt;learning &amp; maintaining?}&#xD;&#xA;    &#xD;&#xA;    Q5 --&gt;|No| NAS2&#xD;&#xA;    Q5 --&gt;|Yes| Q6{More than 20TB&lt;br/&gt;of data?}&#xD;&#xA;    &#xD;&#xA;    Q6 --&gt;|No| Q7{Is maximum data&lt;br/&gt;integrity critical?}&#xD;&#xA;    Q6 --&gt;|Yes| Q8{Budget over ~$1,400?}&#xD;&#xA;    &#xD;&#xA;    Q7 --&gt;|No| Q7a{Less than&lt;br/&gt;8GB RAM?}&#xD;&#xA;    Q7 --&gt;|Yes| Q7b{At least&lt;br/&gt;16GB RAM?}&#xD;&#xA;    &#xD;&#xA;    Q7a --&gt;|Yes| MDADM1[mdadm RAID1/10&lt;br/&gt;Flexible &amp; cheap]&#xD;&#xA;    Q7a --&gt;|No| Q7b&#xD;&#xA;    &#xD;&#xA;    Q7b --&gt;|No| MDADM1&#xD;&#xA;    Q7b --&gt;|Yes| ZFS1[ZFS on Linux / TrueNAS&lt;br/&gt;Checksums &amp; snapshots]&#xD;&#xA;    &#xD;&#xA;    Q8 --&gt;|No| Q9{At least&lt;br/&gt;32GB RAM?}&#xD;&#xA;    Q8 --&gt;|Yes| Q10{High random I/O&lt;br/&gt;performance needed?}&#xD;&#xA;    &#xD;&#xA;    Q9 --&gt;|No| MDADM2[mdadm RAID6/10&lt;br/&gt;Large arrays]&#xD;&#xA;    Q9 --&gt;|Yes| ZFS2[ZFS RAIDZ2&lt;br/&gt;Large storage pools]&#xD;&#xA;    &#xD;&#xA;    Q10 --&gt;|Yes| HWRAID[Hardware RAID&lt;br/&gt;BBU protected cache]&#xD;&#xA;    Q10 --&gt;|No| ZFS2&#xD;&#xA;&lt;/div&gt;&#xD;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;ZFS has a reputation problem.&lt;/p&gt;&#xA;&lt;p&gt;In many tech communities, it is often portrayed as &lt;em&gt;the&lt;/em&gt; &amp;ldquo;correct&amp;rdquo; way to store data—anything else is seen as risky or amateur. At the same time, seasoned admins warn that ZFS is complex, memory-hungry, and easy to misuse.&lt;/p&gt;&#xA;&lt;p&gt;So where does that leave ordinary users, home labbers, and small NAS builders?&lt;/p&gt;&#xA;&lt;p&gt;This article takes a pragmatic, experience-driven look at whether you actually need ZFS, and how to choose a storage solution that fits your data size, budget, and willingness to maintain it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-external-drives-vs-nas-start-simple&#34;&gt;1. External Drives vs NAS: Start Simple&lt;/h2&gt;&#xA;&lt;h3 id=&#34;when-an-external-drive-is-enough&#34;&gt;When an External Drive Is Enough&lt;/h3&gt;&#xA;&lt;p&gt;An external hard drive is often dismissed as &amp;ldquo;too simple&amp;rdquo;, but for many people it is the &lt;em&gt;right&lt;/em&gt; answer.&lt;/p&gt;&#xA;&lt;p&gt;External drives work well if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Your total data is &lt;strong&gt;under 4TB&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;You mainly back up &lt;strong&gt;one machine&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;You are on a &lt;strong&gt;tight budget&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Backups are &lt;strong&gt;occasional&lt;/strong&gt;, not continuous&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For example, backing up a laptop with photos, documents, and personal files does not justify a NAS or RAID. A single 2–4TB external drive plus periodic backups is cheap, reliable, and easy to understand.&lt;/p&gt;&#xA;&lt;p&gt;Complexity is a cost. Avoid it unless you truly need it.&lt;/p&gt;&#xA;&lt;h3 id=&#34;when-a-nas-makes-sense&#34;&gt;When a NAS Makes Sense&lt;/h3&gt;&#xA;&lt;p&gt;A NAS becomes attractive once your needs grow beyond a single device.&lt;/p&gt;&#xA;&lt;p&gt;A NAS is a good fit if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Multiple devices need &lt;strong&gt;shared access&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;You want &lt;strong&gt;automatic, scheduled backups&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Services must be &lt;strong&gt;online 24/7&lt;/strong&gt; (media server, downloads, remote access)&lt;/li&gt;&#xA;&lt;li&gt;Your data volume is &lt;strong&gt;growing steadily&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Even a basic 2-bay NAS provides redundancy, convenience, and automation that external drives cannot match.&lt;/p&gt;&#xA;&lt;h2 id=&#34;2-do-nas-users-need-zfs&#34;&gt;2. Do NAS Users Need ZFS?&lt;/h2&gt;&#xA;&lt;h3 id=&#34;prebuilt-nas-usually-no&#34;&gt;Prebuilt NAS: Usually No&lt;/h3&gt;&#xA;&lt;p&gt;If you are using a commercial NAS (Synology, QNAP, etc.), &lt;strong&gt;you almost certainly do not need ZFS&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Synology’s Btrfs implementation already provides snapshots and checksums&lt;/li&gt;&#xA;&lt;li&gt;QNAP’s default filesystems are well-tested and supported&lt;/li&gt;&#xA;&lt;li&gt;Vendor GUIs, updates, and documentation matter more than filesystem purity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Installing ZFS on a prebuilt NAS usually adds risk and complexity without clear benefits.&lt;/p&gt;&#xA;&lt;h3 id=&#34;self-built-nas-maybe&#34;&gt;Self-Built NAS: Maybe&lt;/h3&gt;&#xA;&lt;p&gt;ZFS becomes interesting once you move into self-built systems.&lt;/p&gt;&#xA;&lt;p&gt;ZFS is worth considering if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Data integrity truly matters&lt;/strong&gt; (irreplaceable photos, archives, work data)&lt;/li&gt;&#xA;&lt;li&gt;You understand concepts like pools, vdevs, datasets, and scrubs&lt;/li&gt;&#xA;&lt;li&gt;You have &lt;strong&gt;enough RAM&lt;/strong&gt; (16GB minimum is realistic)&lt;/li&gt;&#xA;&lt;li&gt;Your storage layout is &lt;strong&gt;planned long-term&lt;/strong&gt;, not constantly changing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ZFS’s biggest strength is end-to-end checksumming and self-healing. Silent data corruption &lt;em&gt;does&lt;/em&gt; happen—but whether it matters depends on your data.&lt;/p&gt;&#xA;&lt;h3 id=&#34;a-reality-check-for-most-users&#34;&gt;A Reality Check for Most Users&lt;/h3&gt;&#xA;&lt;p&gt;For most home NAS users:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vendor filesystems are &lt;em&gt;good enough&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;ZFS features are underutilized&lt;/li&gt;&#xA;&lt;li&gt;Proper backups matter more than filesystem choice&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ZFS is powerful—but power only helps if you know how to use it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;3-when-does-a-linux-storage-server-make-sense&#34;&gt;3. When Does a Linux Storage Server Make Sense?&lt;/h2&gt;&#xA;&lt;p&gt;Self-built Linux storage is not about saving money—it is about control.&lt;/p&gt;&#xA;&lt;p&gt;It makes sense if:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You enjoy &lt;strong&gt;learning and maintaining systems&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;You already use Linux comfortably&lt;/li&gt;&#xA;&lt;li&gt;You need &lt;strong&gt;custom workloads&lt;/strong&gt; (VMs, containers, heavy media processing)&lt;/li&gt;&#xA;&lt;li&gt;Your data exceeds &lt;strong&gt;20TB&lt;/strong&gt; and keeps growing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you value your time more than tinkering, a prebuilt NAS is still the better tool.&lt;/p&gt;&#xA;&lt;h2 id=&#34;4-choosing-the-right-storage-technology&#34;&gt;4. Choosing the Right Storage Technology&lt;/h2&gt;&#xA;&lt;h3 id=&#34;mdadm-simple-and-flexible&#34;&gt;mdadm: Simple and Flexible&lt;/h3&gt;&#xA;&lt;p&gt;Linux software RAID (mdadm) is often underrated.&lt;/p&gt;&#xA;&lt;p&gt;It works well when:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Budgets are limited&lt;/li&gt;&#xA;&lt;li&gt;Arrays are small to medium (4–8 drives)&lt;/li&gt;&#xA;&lt;li&gt;Flexibility matters more than elegance&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Important caveats&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rebuilds on large disks can take days&lt;/li&gt;&#xA;&lt;li&gt;RAID5 is risky with modern drive sizes&lt;/li&gt;&#xA;&lt;li&gt;A UPS is not optional&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;RAID1 and RAID10 remain the safest mdadm choices.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hardware-raid-still-relevant&#34;&gt;Hardware RAID: Still Relevant&lt;/h3&gt;&#xA;&lt;p&gt;Hardware RAID is unfashionable, but not obsolete.&lt;/p&gt;&#xA;&lt;p&gt;It excels when:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Random I/O performance is critical&lt;/li&gt;&#xA;&lt;li&gt;Arrays are large (8+ disks)&lt;/li&gt;&#xA;&lt;li&gt;Downtime is unacceptable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you go this route:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use reputable vendors (LSI/Broadcom)&lt;/li&gt;&#xA;&lt;li&gt;Ensure cache protection (BBU or supercapacitor)&lt;/li&gt;&#xA;&lt;li&gt;Verify OS and drive compatibility&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;zfs-powerful-opinionated-demanding&#34;&gt;ZFS: Powerful, Opinionated, Demanding&lt;/h3&gt;&#xA;&lt;p&gt;ZFS shines when:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data integrity is non-negotiable&lt;/li&gt;&#xA;&lt;li&gt;Snapshots and clones are core workflows&lt;/li&gt;&#xA;&lt;li&gt;Plenty of RAM is available&lt;/li&gt;&#xA;&lt;li&gt;The system is designed upfront and left mostly unchanged&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ZFS struggles when:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RAM is scarce (&amp;lt;8GB)&lt;/li&gt;&#xA;&lt;li&gt;Storage layouts change frequently&lt;/li&gt;&#xA;&lt;li&gt;Hardware or power is unreliable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ZFS rewards discipline—and punishes shortcuts.&lt;/p&gt;&#xA;&lt;h2 id=&#34;5-high-level-comparison&#34;&gt;5. High-Level Comparison&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Solution&lt;/th&gt;&#xA;          &lt;th&gt;Performance&lt;/th&gt;&#xA;          &lt;th&gt;Flexibility&lt;/th&gt;&#xA;          &lt;th&gt;Reliability&lt;/th&gt;&#xA;          &lt;th&gt;Cost&lt;/th&gt;&#xA;          &lt;th&gt;Best For&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;mdadm&lt;/td&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;High&lt;/td&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;Low&lt;/td&gt;&#xA;          &lt;td&gt;Home servers, small arrays&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Hardware RAID&lt;/td&gt;&#xA;          &lt;td&gt;High&lt;/td&gt;&#xA;          &lt;td&gt;Low&lt;/td&gt;&#xA;          &lt;td&gt;High&lt;/td&gt;&#xA;          &lt;td&gt;High&lt;/td&gt;&#xA;          &lt;td&gt;Performance-critical workloads&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;ZFS&lt;/td&gt;&#xA;          &lt;td&gt;Medium–High&lt;/td&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;High&lt;/td&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;Integrity-focused users&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;6-practical-recommendations&#34;&gt;6. Practical Recommendations&lt;/h2&gt;&#xA;&lt;h3 id=&#34;a-sensible-upgrade-path&#34;&gt;A Sensible Upgrade Path&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Beginner (&amp;lt;4TB)&lt;/strong&gt;&lt;br&gt;&#xA;External drive + manual backups&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Intermediate (4–12TB)&lt;/strong&gt;&lt;br&gt;&#xA;2–4 bay NAS with vendor filesystem&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Advanced (&amp;gt;12TB, technical users)&lt;/strong&gt;&lt;br&gt;&#xA;Self-built Linux server with ZFS or mdadm&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Professional (&amp;gt;50TB, critical data)&lt;/strong&gt;&lt;br&gt;&#xA;Hardware RAID + enterprise drives + UPS + offsite backups&lt;/p&gt;&#xA;&lt;h3 id=&#34;principles-that-actually-matter&#34;&gt;Principles That Actually Matter&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Backups beat RAID&lt;/strong&gt;: RAID does not protect against deletion, malware, or disasters&lt;/li&gt;&#xA;&lt;li&gt;Follow &lt;strong&gt;3-2-1 backups&lt;/strong&gt;: 3 copies, 2 media types, 1 offsite&lt;/li&gt;&#xA;&lt;li&gt;Choose systems you can &lt;strong&gt;maintain long-term&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Simpler systems fail less often&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;&#xA;&lt;p&gt;Most people do &lt;strong&gt;not&lt;/strong&gt; need ZFS.&lt;/p&gt;&#xA;&lt;p&gt;They need reliable hardware, boring configurations, and tested backups.&lt;/p&gt;&#xA;&lt;p&gt;ZFS is an excellent tool—when used for the right reasons, by users who understand its trade-offs. For everyone else, a simpler solution will be safer, cheaper, and easier to live with.&lt;/p&gt;&#xA;&lt;p&gt;The best storage system is not the most advanced one—it is the one you can keep running correctly for years.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>ZFS Core Concepts and a Quick Start Guide</title>
      <link>https://jksoftcn.com/en/blog/01-zfs-core-concepts-and-quick-start/</link>
      <pubDate>Sun, 30 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jksoftcn.com/en/blog/01-zfs-core-concepts-and-quick-start/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;ZFS (Zettabyte File System) is a revolutionary storage system originally developed by Sun Microsystems and now maintained by the OpenZFS community. Unlike traditional file systems, ZFS is not just a filesystem—it is a complete storage management solution that integrates volume management and filesystem functionality into a single coherent system.&lt;/p&gt;&#xA;&lt;p&gt;In this article, we’ll walk through the core concepts behind ZFS and get hands-on by creating our first ZFS storage pool on Linux.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-zfs&#34;&gt;What Is ZFS?&lt;/h2&gt;&#xA;&lt;p&gt;First released in 2005, ZFS was designed with an ambitious goal: to build a filesystem that would &lt;em&gt;never silently corrupt data&lt;/em&gt;. To achieve this, ZFS introduced a number of groundbreaking features, including Copy-on-Write (CoW), end-to-end checksumming, snapshots, and clones.&lt;/p&gt;&#xA;&lt;h3 id=&#34;key-features-of-zfs&#34;&gt;Key Features of ZFS&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Strong data integrity guarantees&lt;/strong&gt;&#xA;Every data block is protected by a checksum, allowing ZFS to detect and even repair silent data corruption.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Massive scalability&lt;/strong&gt;&#xA;Theoretical maximum storage capacity reaches 256 quadrillion zettabytes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simplified administration&lt;/strong&gt;&#xA;No need for manual partitioning or traditional formatting workflows.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Advanced built-in features&lt;/strong&gt;&#xA;Snapshots, clones, compression, deduplication, and more.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Flexible RAID support&lt;/strong&gt;&#xA;Native support for mirrors and RAID-Z configurations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;zfs-design-philosophy&#34;&gt;ZFS Design Philosophy&lt;/h2&gt;&#xA;&lt;p&gt;ZFS stands out largely because of a few fundamental design principles.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-end-to-end-data-integrity&#34;&gt;1. End-to-End Data Integrity&lt;/h3&gt;&#xA;&lt;p&gt;ZFS computes a checksum for every block of data and stores that checksum in the parent block rather than alongside the data itself. This design allows ZFS to detect corruption anywhere along the data path—whether caused by failing disks, faulty controllers, or firmware bugs.&lt;/p&gt;&#xA;&lt;p&gt;If redundancy is available, ZFS can automatically repair corrupted data without user intervention.&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-copy-on-write-cow&#34;&gt;2. Copy-on-Write (CoW)&lt;/h3&gt;&#xA;&lt;p&gt;ZFS never overwrites existing data. When data is modified, it is written to a new location, and only after the write succeeds are the metadata pointers updated.&lt;/p&gt;&#xA;&lt;p&gt;This approach provides several important benefits:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Transactional semantics that keep the filesystem always consistent&lt;/li&gt;&#xA;&lt;li&gt;Near-zero-cost snapshots&lt;/li&gt;&#xA;&lt;li&gt;Elimination of the classic “write hole” problem&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;3-storage-pooling&#34;&gt;3. Storage Pooling&lt;/h3&gt;&#xA;&lt;p&gt;ZFS abstracts physical storage devices into a &lt;em&gt;storage pool&lt;/em&gt;. All filesystems draw space from this shared pool, removing the rigid constraints of traditional partition-based layouts.&lt;/p&gt;&#xA;&lt;p&gt;Filesystems can grow dynamically as needed—no resizing or re-partitioning required.&lt;/p&gt;&#xA;&lt;h3 id=&#34;4-simplified-management&#34;&gt;4. Simplified Management&lt;/h3&gt;&#xA;&lt;p&gt;ZFS embraces the idea that “everything belongs to the filesystem.” Tasks that traditionally require multiple tools (&lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;mkfs&lt;/code&gt;, &lt;code&gt;lvm&lt;/code&gt;, etc.) can all be performed using a unified ZFS command set, significantly reducing operational complexity.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;core-concepts&#34;&gt;Core Concepts&lt;/h2&gt;&#xA;&lt;p&gt;To work effectively with ZFS, it’s essential to understand a few core abstractions.&lt;/p&gt;&#xA;&lt;h3 id=&#34;storage-pools&#34;&gt;Storage Pools&lt;/h3&gt;&#xA;&lt;p&gt;A &lt;em&gt;storage pool&lt;/em&gt; is the foundation of ZFS. It consists of one or more &lt;em&gt;virtual devices&lt;/em&gt; (vdevs) and represents a shared pool of storage capacity and I/O resources.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Key characteristics:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pools can be expanded by adding new devices&lt;/li&gt;&#xA;&lt;li&gt;Performance depends on the layout and type of vdevs&lt;/li&gt;&#xA;&lt;li&gt;All filesystems in the pool share the same space and I/O bandwidth&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;virtual-devices-vdevs&#34;&gt;Virtual Devices (vdevs)&lt;/h3&gt;&#xA;&lt;p&gt;A vdev is the basic building block of a ZFS pool. Common vdev types include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Single disk&lt;/strong&gt; – simplest setup, no redundancy&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Mirror&lt;/strong&gt; – similar to RAID 1, full data replication&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;RAID-Z&lt;/strong&gt; – ZFS-native RAID with parity&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RAID-Z1: single parity, tolerates 1 disk failure&lt;/li&gt;&#xA;&lt;li&gt;RAID-Z2: double parity, tolerates 2 disk failures&lt;/li&gt;&#xA;&lt;li&gt;RAID-Z3: triple parity, tolerates 3 disk failures&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Pool redundancy is determined by its vdevs. If any single vdev fails, the entire pool fails. For production systems, every vdev should provide adequate redundancy.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;datasets&#34;&gt;Datasets&lt;/h3&gt;&#xA;&lt;p&gt;In ZFS, &lt;em&gt;dataset&lt;/em&gt; is a generic term that includes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Filesystems&lt;/strong&gt; – mountable directory trees&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Volumes (zvols)&lt;/strong&gt; – block devices, commonly used for VM disks&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Snapshots&lt;/strong&gt; – read-only point-in-time copies&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clones&lt;/strong&gt; – writable copies created from snapshots&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Datasets are hierarchical and can inherit properties from their parent datasets.&lt;/p&gt;&#xA;&lt;h3 id=&#34;properties&#34;&gt;Properties&lt;/h3&gt;&#xA;&lt;p&gt;Many ZFS features are controlled via dataset properties, such as:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;compression&lt;/code&gt; – lz4, gzip, zstd, etc.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;quota&lt;/code&gt; – space usage limits&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;reservation&lt;/code&gt; – guaranteed space&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;atime&lt;/code&gt; – access time updates&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;copies&lt;/code&gt; – number of data replicas&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Properties can be set at any level and inherited by child datasets.&lt;/p&gt;&#xA;&lt;h3 id=&#34;snapshots-and-clones&#34;&gt;Snapshots and Clones&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;Snapshots&lt;/strong&gt; are one of ZFS’s most powerful features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Created almost instantly&lt;/li&gt;&#xA;&lt;li&gt;Consume no space initially&lt;/li&gt;&#xA;&lt;li&gt;Only store changed data blocks&lt;/li&gt;&#xA;&lt;li&gt;Can be rolled back or sent to another system&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Clones&lt;/strong&gt; are writable datasets created from snapshots:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Initially share all data blocks with the snapshot&lt;/li&gt;&#xA;&lt;li&gt;Consume additional space only for modified data&lt;/li&gt;&#xA;&lt;li&gt;Can diverge independently over time&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;hands-on-installing-and-using-zfs-on-linux&#34;&gt;Hands-On: Installing and Using ZFS on Linux&lt;/h2&gt;&#xA;&lt;p&gt;Let’s install ZFS and create our first storage pool. The examples below use Ubuntu/Debian.&lt;/p&gt;&#xA;&lt;h3 id=&#34;step-1-install-zfs&#34;&gt;Step 1: Install ZFS&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install zfsutils-linux&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zfs version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zpool version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For CentOS/RHEL:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install epel-release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install https://zfsonlinux.org/epel/zfs-release-2-2&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;rpm --eval &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;%{dist}&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;.noarch.rpm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum install kernel-devel zfs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo modprobe zfs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-2-prepare-disks&#34;&gt;Step 2: Prepare Disks&lt;/h3&gt;&#xA;&lt;p&gt;Identify available disks:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lsblk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; Creating a ZFS pool will erase all data on the selected disks.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-3-create-your-first-pool&#34;&gt;Step 3: Create Your First Pool&lt;/h3&gt;&#xA;&lt;p&gt;Single-disk pool (not recommended for production):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool create mypool /dev/sdb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool status mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-4-create-a-mirrored-pool-recommended&#34;&gt;Step 4: Create a Mirrored Pool (Recommended)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool create mypool mirror /dev/sdb /dev/sdc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-5-create-a-raid-z-pool&#34;&gt;Step 5: Create a RAID-Z Pool&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-6-pool-management-commands&#34;&gt;Step 6: Pool Management Commands&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool status -v mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool iostat mypool &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool get all mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-7-create-filesystems&#34;&gt;Step 7: Create Filesystems&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs create mypool/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs create mypool/data/projects&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zfs list&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Set custom mountpoints:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs set mountpoint&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/mnt/mydata mypool/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-8-common-property-settings&#34;&gt;Step 8: Common Property Settings&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs set compression&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;lz4 mypool/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs set atime&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;off mypool/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs set quota&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;10G mypool/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-9-working-with-snapshots&#34;&gt;Step 9: Working with Snapshots&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs snapshot mypool/data@backup-2024-11-28&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zfs list -t snapshot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs rollback mypool/data@backup-2024-11-28&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zfs destroy mypool/data@backup-2024-11-28&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;step-10-monitoring-and-maintenance&#34;&gt;Step 10: Monitoring and Maintenance&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool scrub mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool status mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo zpool history mypool&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;practical-tips&#34;&gt;Practical Tips&lt;/h2&gt;&#xA;&lt;h3 id=&#34;automated-snapshots&#34;&gt;Automated Snapshots&lt;/h3&gt;&#xA;&lt;p&gt;Use cron to create daily snapshots and clean up old ones.&lt;/p&gt;&#xA;&lt;h3 id=&#34;zfs-sendreceive-for-backups&#34;&gt;ZFS Send/Receive for Backups&lt;/h3&gt;&#xA;&lt;p&gt;Efficient full and incremental replication between systems using &lt;code&gt;zfs send&lt;/code&gt; and &lt;code&gt;zfs receive&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;performance-tuning&#34;&gt;Performance Tuning&lt;/h3&gt;&#xA;&lt;p&gt;Adjust ARC size and monitor cache efficiency via &lt;code&gt;/proc/spl/kstat/zfs/arcstats&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;frequently-asked-questions&#34;&gt;Frequently Asked Questions&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Can disks be removed from a ZFS pool?&lt;/strong&gt;&#xA;Not directly. Mirrors can be detached, but RAID-Z pools must be rebuilt.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;How do I expand a pool?&lt;/strong&gt;&#xA;Add new vdevs using &lt;code&gt;zpool add&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Is ZFS fast?&lt;/strong&gt;&#xA;Yes—especially with sufficient RAM. A common guideline is 1 GB RAM per TB of storage.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Does ZFS support encryption?&lt;/strong&gt;&#xA;Yes. Native encryption is supported at the dataset level.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;&#xA;&lt;p&gt;ZFS is a powerful and reliable storage platform that seamlessly combines volume management and filesystem functionality. While it introduces several new concepts, its core ideas are straightforward: pooled storage, copy-on-write, and end-to-end data integrity.&lt;/p&gt;&#xA;&lt;p&gt;By following this guide, you’ve learned how to create pools, filesystems, and snapshots, and how to manage a basic ZFS setup. From here, you can explore advanced features such as replication, encryption, and deduplication.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Best practices to remember:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Always use redundancy in production&lt;/li&gt;&#xA;&lt;li&gt;Run regular scrubs&lt;/li&gt;&#xA;&lt;li&gt;Make extensive use of snapshots&lt;/li&gt;&#xA;&lt;li&gt;Provision enough memory for optimal performance&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Happy hacking with ZFS 🚀&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
