<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ZFS on wgz.sh</title>
    <link>https://blog.wgz.sh/tags/zfs/</link>
    <description>Recent content in ZFS on wgz.sh</description>
    <generator>Hugo -- 0.153.1</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 20 Feb 2026 07:53:01 -0500</lastBuildDate>
    <atom:link href="https://blog.wgz.sh/tags/zfs/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ZFS Commands</title>
      <link>https://blog.wgz.sh/posts/zfs-commands/</link>
      <pubDate>Fri, 20 Feb 2026 07:53:01 -0500</pubDate>
      <guid>https://blog.wgz.sh/posts/zfs-commands/</guid>
      <description>&lt;h2 id=&#34;abstract&#34;&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Dedicated to &lt;a href=&#34;https://en.wikipedia.org/wiki/ZFS&#34;&gt;ZFS&lt;/a&gt; administration.&lt;/p&gt;
&lt;h2 id=&#34;zpool-administration&#34;&gt;Zpool Administration&lt;/h2&gt;
&lt;h3 id=&#34;basic-commands&#34;&gt;Basic Commands&lt;/h3&gt;
&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;zpool list
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zpool list &amp;lt;name&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zpool list -v zroot
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zpool status -x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;creating-pools-and-vdevs&#34;&gt;Creating Pools and VDEVs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Make sure ashift is 4k, &lt;code&gt;vfs.zfs.min_auto_ashift=12&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;alt text&#34; loading=&#34;lazy&#34; src=&#34;https://blog.wgz.sh/images/zfs-ashift.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Select disks (da1, da2, da3)&lt;/li&gt;
&lt;/ul&gt;
&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;ls -al /dev/ | grep da
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x5a Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt; 02:51 da0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x5b Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt; 02:51 da0p1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x5c Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt; 02:51 da0p2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x5d Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt; 02:51 da0p3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x6a Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; 18:46 da1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x6d Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; 18:46 da2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;crw-r-----   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; root operator 0x70 Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; 18:46 da3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;We can create a disk, provide it 1gb of swap, and label it.&lt;/li&gt;
&lt;li&gt;The labels should correspond to device serial numbers and location in production so it&amp;rsquo;s easy to swap out.&lt;/li&gt;
&lt;/ul&gt;
&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;GB swap partition and a large ZFS partition, created with gpart&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;8&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;. 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart create -s gpt da1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -s1g -l sw1 -t freebsd-swap da1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -l zfs1 -t freebsd-zfs da1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart create -s gpt da2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -s1g -l sw2 -t freebsd-swap da2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -l zfs2 -t freebsd-zfs da2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart create -s gpt da3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -s1g -l sw3 -t freebsd-swap da3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -l zfs3 -t freebsd-zfs da3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart create -s gpt da4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -s1g -l sw4 -t freebsd-swap da4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -l zfs4 -t freebsd-zfs da4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart create -s gpt da5
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -s1g -l sw5 -t freebsd-swap da5
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart add -a 1m -l zfs5 -t freebsd-zfs da5
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; gpart show -l &amp;lt;device&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; glabel status
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zpool create &amp;lt;pool-name&amp;gt; /dev/label/zfs1 /dev/label/zfs2 /dev/label/zfs3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;fix-degraded-pool&#34;&gt;Fix Degraded Pool&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Here we see the state is &lt;code&gt;DEGRADED&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;alt text&#34; loading=&#34;lazy&#34; src=&#34;https://blog.wgz.sh/images/zfs-tank.jpeg&#34;&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
