Kevin Deldycke - SuperMicrohttps://kevin.deldycke.com/2020-10-27T00:00:00+01:00 — 🦬🪒🐇🕳 yak-shaving the rabbit holesTrueNAS Configuration and Maintenance2020-10-27T00:00:00+01:002020-10-27T00:00:00+01:00Kevin Deldycketag:kevin.deldycke.com,2020-10-27:/2020/10/truenas-configuration/<p>A collection of personal notes on the setup, configuration and maintenance of a home-office TrueNAS appliance.</p>
<h2 id="hardware">🖥 Hardware<a class="headerlink" href="#hardware" title="Permanent link">¶</a></h2>
<p>I dedicated a whole post on <a href="https://kevin.deldycke.com/2020/05/nas-hardware/">building the machine</a>, in which you’ll get the detailed bill of material, cost breakdown and parts selection process.</p>
<h3 id="reset-bmc-password">Reset <span class="caps">BMC</span> password<a class="headerlink" href="#reset-bmc-password" title="Permanent link">¶</a></h3>
<p>If you have one of …</p><p>A collection of personal notes on the setup, configuration and maintenance of a home-office TrueNAS appliance.</p>
<h2 id="hardware">🖥 Hardware<a class="headerlink" href="#hardware" title="Permanent link">¶</a></h2>
<p>I dedicated a whole post on <a href="https://kevin.deldycke.com/2020/05/nas-hardware/">building the machine</a>, in which you’ll get the detailed bill of material, cost breakdown and parts selection process.</p>
<h3 id="reset-bmc-password">Reset <span class="caps">BMC</span> password<a class="headerlink" href="#reset-bmc-password" title="Permanent link">¶</a></h3>
<p>If you have one of iXsystems’ TrueNAS server whose motherboard was produced by SuperMicro, there’s a way to reset the <span class="caps">BMC</span> password with that <span class="caps">CLI</span> to use as <code>root</code>:</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">[root@truenas] ~# </span>ipmitool<span class="w"> </span>raw<span class="w"> </span>0x3c<span class="w"> </span>0x40
<span class="linenos" data-linenos="2 "></span>
<span class="linenos" data-linenos="3 "></span><span class="gp">[root@truenas] ~# </span>
</code></pre></div>
<h2 id="reports">📊 Reports<a class="headerlink" href="#reports" title="Permanent link">¶</a></h2>
<h3 id="disk-temperature">Disk Temperature<a class="headerlink" href="#disk-temperature" title="Permanent link">¶</a></h3>
<p>⚠️ Do not activate any aggressive power-management parameters on disks. This is the main reasons temperatures are not reported in graphs.</p>
<h2 id="package-management">📦 Package Management<a class="headerlink" href="#package-management" title="Permanent link">¶</a></h2>
<p>To prevent the administrator to mess up with TrueNAS install, FreeBSD’s package management has been locked down. Installing a package does not work:</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">root@truenas[/]# </span>pkg<span class="w"> </span>install<span class="w"> </span>dmg2img
<span class="linenos" data-linenos="2 "></span><span class="go">Updating local repository catalogue...</span>
<span class="linenos" data-linenos="3 "></span><span class="go">pkg: file:///usr/ports/packages/meta.txz: No such file or directory</span>
<span class="linenos" data-linenos="4 "></span><span class="go">repository local has no meta file, using default settings</span>
<span class="linenos" data-linenos="5 "></span><span class="go">pkg: file:///usr/ports/packages/packagesite.txz: No such file or directory</span>
<span class="hll"><span class="linenos" data-linenos="6 "></span><span class="go">Unable to update repository local</span>
</span><span class="linenos" data-linenos="7 "></span><span class="go">Error updating repositories!</span>
</code></pre></div>
<p>If you know what you’re doing and want to unlock package management, here is the fix:</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">root@truenas[/]# </span>sed<span class="w"> </span>-i<span class="w"> </span>.orig<span class="w"> </span><span class="s1">'s/enabled: yes/enabled: no/'</span><span class="w"> </span>/usr/local/etc/pkg/repos/local.conf
<span class="linenos" data-linenos="2 "></span><span class="gp">root@truenas[/]# </span>sed<span class="w"> </span>-i<span class="w"> </span>.orig<span class="w"> </span><span class="s1">'s/enabled: no/enabled: yes/'</span><span class="w"> </span>/usr/local/etc/pkg/repos/FreeBSD.conf
</code></pre></div>
<p>Now you’re ready to update the package index:</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">root@truenas[/]# </span>pkg<span class="w"> </span>update
<span class="linenos" data-linenos="2 "></span><span class="go">Updating FreeBSD repository catalogue...</span>
<span class="linenos" data-linenos="3 "></span><span class="go">Fetching meta.conf: 100% 163 B 0.2kB/s 00:01</span>
<span class="linenos" data-linenos="4 "></span><span class="go">Fetching packagesite.txz: 100% 6 MiB 6.7MB/s 00:01</span>
<span class="linenos" data-linenos="5 "></span><span class="go">Processing entries: 100%</span>
<span class="hll"><span class="linenos" data-linenos="6 "></span><span class="go">FreeBSD repository update completed. 31953 packages processed.</span>
</span><span class="linenos" data-linenos="7 "></span><span class="go">All repositories are up to date.</span>
</code></pre></div>
<p>And install your package:</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos=" 1 "></span><span class="gp">root@truenas[/]# </span>pkg<span class="w"> </span>install<span class="w"> </span>dmg2img
<span class="linenos" data-linenos=" 2 "></span><span class="go">Updating FreeBSD repository catalogue...</span>
<span class="linenos" data-linenos=" 3 "></span><span class="go">FreeBSD repository is up to date.</span>
<span class="linenos" data-linenos=" 4 "></span><span class="go">All repositories are up to date.</span>
<span class="linenos" data-linenos=" 5 "></span><span class="go">New version of pkg detected; it needs to be installed first.</span>
<span class="linenos" data-linenos=" 6 "></span><span class="go">The following 1 package(s) will be affected (of 0 checked):</span>
<span class="linenos" data-linenos=" 7 "></span>
<span class="linenos" data-linenos=" 8 "></span><span class="go">Installed packages to be UPGRADED:</span>
<span class="linenos" data-linenos=" 9 "></span><span class="go"> pkg: 1.14.6 -> 1.15.10 [FreeBSD]</span>
<span class="linenos" data-linenos="10 "></span>
<span class="linenos" data-linenos="11 "></span><span class="go">Number of packages to be upgraded: 1</span>
<span class="linenos" data-linenos="12 "></span>
<span class="linenos" data-linenos="13 "></span><span class="go">The operation will free 31 MiB.</span>
<span class="linenos" data-linenos="14 "></span><span class="go">7 MiB to be downloaded.</span>
<span class="linenos" data-linenos="15 "></span>
<span class="linenos" data-linenos="16 "></span><span class="go">Proceed with this action? [y/N]: y</span>
<span class="linenos" data-linenos="17 "></span><span class="go">[1/1] Fetching pkg-1.15.10.txz: 100% 7 MiB 6.9MB/s 00:01</span>
<span class="linenos" data-linenos="18 "></span><span class="go">Checking integrity... done (0 conflicting)</span>
<span class="linenos" data-linenos="19 "></span><span class="go">[1/1] Upgrading pkg from 1.14.6 to 1.15.10...</span>
<span class="linenos" data-linenos="20 "></span><span class="go">[1/1] Extracting pkg-1.15.10: 100%</span>
<span class="linenos" data-linenos="21 "></span><span class="go">Updating FreeBSD repository catalogue...</span>
<span class="linenos" data-linenos="22 "></span><span class="go">FreeBSD repository is up to date.</span>
<span class="linenos" data-linenos="23 "></span><span class="go">All repositories are up to date.</span>
<span class="linenos" data-linenos="24 "></span><span class="go">The following 1 package(s) will be affected (of 0 checked):</span>
<span class="linenos" data-linenos="25 "></span>
<span class="linenos" data-linenos="26 "></span><span class="go">New packages to be INSTALLED:</span>
<span class="linenos" data-linenos="27 "></span><span class="go"> dmg2img: 1.6.7 [FreeBSD]</span>
<span class="linenos" data-linenos="28 "></span>
<span class="linenos" data-linenos="29 "></span><span class="go">Number of packages to be installed: 1</span>
<span class="linenos" data-linenos="30 "></span>
<span class="linenos" data-linenos="31 "></span><span class="go">22 KiB to be downloaded.</span>
<span class="linenos" data-linenos="32 "></span>
<span class="linenos" data-linenos="33 "></span><span class="go">Proceed with this action? [y/N]: y</span>
<span class="linenos" data-linenos="34 "></span><span class="go">[1/1] Fetching dmg2img-1.6.7.txz: 100% 22 KiB 22.5kB/s 00:01</span>
<span class="linenos" data-linenos="35 "></span><span class="go">Checking integrity... done (0 conflicting)</span>
<span class="linenos" data-linenos="36 "></span><span class="go">[1/1] Installing dmg2img-1.6.7...</span>
<span class="linenos" data-linenos="37 "></span><span class="go">[1/1] Extracting dmg2img-1.6.7: 100%</span>
<span class="linenos" data-linenos="38 "></span>
<span class="linenos" data-linenos="39 "></span><span class="gp">root@truenas[/]# </span>dmg2img
<span class="linenos" data-linenos="40 "></span>
<span class="linenos" data-linenos="41 "></span><span class="go">dmg2img v1.6.7 (c) vu1tur (to@vu1tur.eu.org)</span>
<span class="linenos" data-linenos="42 "></span>
<span class="linenos" data-linenos="43 "></span><span class="go">Usage: dmg2img [-l] [-p N] [-s] [-v] [-V] [-d] <input.dmg> [<output.img>]</output.img></input.dmg></span>
<span class="linenos" data-linenos="44 "></span><span class="go">or dmg2img [-l] [-p N] [-s] [-v] [-V] [-d] -i <input.dmg> -o <output.img></output.img></input.dmg></span>
<span class="linenos" data-linenos="45 "></span>
<span class="linenos" data-linenos="46 "></span><span class="go">Options: -s (silent) -v (verbose) -V (extremely verbose) -d (debug)</span>
<span class="linenos" data-linenos="47 "></span><span class="go"> -l (list partitions) -p N (extract only partition N)</span>
</code></pre></div>
<h2 id="storage">💾 Storage<a class="headerlink" href="#storage" title="Permanent link">¶</a></h2>
<h3 id="list-all-connected-devices">List all connected devices<a class="headerlink" href="#list-all-connected-devices" title="Permanent link">¶</a></h3>
<p><code>nvd0</code> is the system’s NVMe <span class="caps">SSD</span>, <code>ada0</code> a <span class="caps">SATA</span> <span class="caps">HDD</span> and <code>da0</code> a <span class="caps">USB</span> external drive.</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos=" 1 "></span><span class="gp">root@truenas[/mnt]# </span>geom<span class="w"> </span>disk<span class="w"> </span>list
<span class="linenos" data-linenos=" 2 "></span><span class="go">Geom name: nvd0</span>
<span class="linenos" data-linenos=" 3 "></span><span class="go">Providers:</span>
<span class="linenos" data-linenos=" 4 "></span><span class="go">1. Name: nvd0</span>
<span class="linenos" data-linenos=" 5 "></span><span class="go"> Mediasize: 250059350016 (233G)</span>
<span class="linenos" data-linenos=" 6 "></span><span class="go"> Sectorsize: 512</span>
<span class="linenos" data-linenos=" 7 "></span><span class="go"> Mode: r1w1e2</span>
<span class="linenos" data-linenos=" 8 "></span><span class="go"> descr: WDC WDS250G2B0C</span>
<span class="linenos" data-linenos=" 9 "></span><span class="go"> rotationrate: 0</span>
<span class="linenos" data-linenos="10 "></span><span class="go"> fwsectors: 0</span>
<span class="linenos" data-linenos="11 "></span><span class="go"> fwheads: 0</span>
<span class="linenos" data-linenos="12 "></span>
<span class="linenos" data-linenos="13 "></span><span class="go">Geom name: ada0</span>
<span class="linenos" data-linenos="14 "></span><span class="go">Providers:</span>
<span class="linenos" data-linenos="15 "></span><span class="go">1. Name: ada0</span>
<span class="linenos" data-linenos="16 "></span><span class="go"> Mediasize: 6001175126016 (5.5T)</span>
<span class="linenos" data-linenos="17 "></span><span class="go"> Sectorsize: 512</span>
<span class="linenos" data-linenos="18 "></span><span class="go"> Stripesize: 4096</span>
<span class="linenos" data-linenos="19 "></span><span class="go"> Stripeoffset: 0</span>
<span class="linenos" data-linenos="20 "></span><span class="go"> Mode: r1w1e3</span>
<span class="linenos" data-linenos="21 "></span><span class="go"> descr: TOSHIBA HDWN160</span>
<span class="linenos" data-linenos="22 "></span><span class="go"> rotationrate: 7200</span>
<span class="linenos" data-linenos="23 "></span><span class="go"> fwsectors: 63</span>
<span class="linenos" data-linenos="24 "></span><span class="go"> fwheads: 16</span>
<span class="linenos" data-linenos="25 "></span>
<span class="linenos" data-linenos="26 "></span><span class="go">Geom name: da0</span>
<span class="linenos" data-linenos="27 "></span><span class="go">Providers:</span>
<span class="linenos" data-linenos="28 "></span><span class="go">1. Name: da0</span>
<span class="linenos" data-linenos="29 "></span><span class="go"> Mediasize: 320072933376 (298G)</span>
<span class="linenos" data-linenos="30 "></span><span class="go"> Sectorsize: 512</span>
<span class="linenos" data-linenos="31 "></span><span class="go"> Mode: r0w0e0</span>
<span class="linenos" data-linenos="32 "></span><span class="go"> descr: ST332082 0ACE</span>
<span class="linenos" data-linenos="33 "></span><span class="go"> rotationrate: unknown</span>
<span class="linenos" data-linenos="34 "></span><span class="go"> fwsectors: 63</span>
<span class="linenos" data-linenos="35 "></span><span class="go"> fwheads: 255</span>
</code></pre></div>
<h3 id="mount-an-ntfs-partition">Mount an <span class="caps">NTFS</span> partition<a class="headerlink" href="#mount-an-ntfs-partition" title="Permanent link">¶</a></h3>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">root@truenas[/mnt]# </span>kldload<span class="w"> </span>fuse.ko
<span class="linenos" data-linenos="2 "></span><span class="gp">root@truenas[/mnt]# </span>mkdir<span class="w"> </span>usb-hdd
<span class="linenos" data-linenos="3 "></span><span class="gp">root@truenas[/mnt]# </span>ntfs-3g<span class="w"> </span>/dev/da0p2<span class="w"> </span>/mnt/usb-hdd
</code></pre></div>
<h3 id="delete-a-partition">Delete a partition<a class="headerlink" href="#delete-a-partition" title="Permanent link">¶</a></h3>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos=" 1 "></span><span class="gp">root@truenas[/mnt]# </span>gpart<span class="w"> </span>show<span class="w"> </span>da0
<span class="linenos" data-linenos=" 2 "></span><span class="go">=> 34 7814037101 da0 GPT (3.6T)</span>
<span class="linenos" data-linenos=" 3 "></span><span class="go"> 34 6 - free - (3.0K)</span>
<span class="linenos" data-linenos=" 4 "></span><span class="go"> 40 409600 1 efi (200M)</span>
<span class="linenos" data-linenos=" 5 "></span><span class="go"> 409640 7813365344 2 apple-hfs (3.6T)</span>
<span class="linenos" data-linenos=" 6 "></span><span class="go"> 7813774984 262151 - free - (128M)</span>
<span class="linenos" data-linenos=" 7 "></span>
<span class="linenos" data-linenos=" 8 "></span><span class="gp">root@truenas[/mnt]# </span>gpart<span class="w"> </span>delete<span class="w"> </span>-i<span class="w"> </span><span class="m">1</span><span class="w"> </span>da0<span class="w"> </span>
<span class="linenos" data-linenos=" 9 "></span><span class="go">da0p1 deleted</span>
<span class="linenos" data-linenos="10 "></span>
<span class="linenos" data-linenos="11 "></span><span class="gp">root@truenas[/mnt]# </span>gpart<span class="w"> </span>show<span class="w"> </span>da0<span class="w"> </span>
<span class="linenos" data-linenos="12 "></span><span class="go">=> 34 7814037101 da0 GPT (3.6T)</span>
<span class="linenos" data-linenos="13 "></span><span class="go"> 34 409606 - free - (200M)</span>
<span class="linenos" data-linenos="14 "></span><span class="go"> 409640 7813365344 2 apple-hfs (3.6T)</span>
<span class="linenos" data-linenos="15 "></span><span class="go"> 7813774984 262151 - free - (128M)</span>
</code></pre></div>
<h3 id="3-pass-usb-hdd-wipe">3-pass <span class="caps">USB</span> <span class="caps">HDD</span> wipe<a class="headerlink" href="#3-pass-usb-hdd-wipe" title="Permanent link">¶</a></h3>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos=" 1 "></span><span class="gp">root@truenas[/mnt]# </span>bcwipe<span class="w"> </span>-v<span class="w"> </span>-me<span class="w"> </span>-t2<span class="w"> </span>-b<span class="w"> </span>/dev/da0<span class="w"> </span>
<span class="linenos" data-linenos=" 2 "></span><span class="go">Multithreading not supported.</span>
<span class="linenos" data-linenos=" 3 "></span><span class="go">Run ./configure with --enable-pthreads option, then rebuild BCWipe to enable multithreading.</span>
<span class="linenos" data-linenos=" 4 "></span><span class="go">Wiping scheme: US DoE, 3 pass(es)</span>
<span class="linenos" data-linenos=" 5 "></span><span class="go">Wipe /dev/da0 (y/[n]/a)?y</span>
<span class="linenos" data-linenos=" 6 "></span><span class="go">Wiping char device '/dev/da0'</span>
<span class="linenos" data-linenos=" 7 "></span><span class="go">Device '/dev/da0' opened in direct access mode</span>
<span class="linenos" data-linenos=" 8 "></span><span class="go">Device size 320072933376 bytes (312571224 kB), method 3</span>
<span class="linenos" data-linenos=" 9 "></span><span class="go">Wiping char device '/dev/da0' pass 1/3 [random] started</span>
<span class="linenos" data-linenos="10 "></span><span class="go">wipe pass 1/3 : 212992/312571224 kB ( 0%) Rate: 21233 kB/s </span>
</code></pre></div>
<h3 id="zfs"><span class="caps">ZFS</span><a class="headerlink" href="#zfs" title="Permanent link">¶</a></h3>
<ul>
<li>List all snaphots of the <code>tank/my-data</code> dataset:</li>
</ul>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="gp">$ </span>zfs<span class="w"> </span>list<span class="w"> </span>-r<span class="w"> </span>-t<span class="w"> </span>snapshot<span class="w"> </span>tank/my-data
</code></pre></div>
<ul>
<li>Rename all snaphot’s names prefixes from <code>auto-</code> to <code>daily-</code>, for the <code>tank/my-data</code> dataset and its children:</li>
</ul>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos=" 1 "></span><span class="gp">$ </span>zfs<span class="w"> </span>list<span class="w"> </span>-r<span class="w"> </span>-t<span class="w"> </span>snapshot<span class="w"> </span>tank/my-data<span class="w"> </span>
<span class="linenos" data-linenos=" 2 "></span><span class="go">NAME USED AVAIL REFER MOUNTPOINT</span>
<span class="linenos" data-linenos=" 3 "></span><span class="go">tank/my-data@auto-2021-09-02_00-00 0B - 209G -</span>
<span class="linenos" data-linenos=" 4 "></span><span class="go">tank/my-data@auto-2021-09-03_00-00 0B - 209G -</span>
<span class="linenos" data-linenos=" 5 "></span><span class="go">tank/my-data@auto-2021-09-04_00-00 0B - 209G -</span>
<span class="linenos" data-linenos=" 6 "></span><span class="gp gp-VirtualEnv">(...)</span>
<span class="linenos" data-linenos=" 7 "></span><span class="gp">$ </span>zfs<span class="w"> </span>list<span class="w"> </span>-r<span class="w"> </span>-t<span class="w"> </span>snapshot<span class="w"> </span>-o<span class="w"> </span>name<span class="w"> </span>-H<span class="w"> </span>tank/my-data<span class="w"> </span><span class="p">|</span><span class="w"> </span>awk<span class="w"> </span><span class="s1">'{$2 = $1; sub(/@auto\-/, "@daily-", $2); printf "%s\n%s\n", $1, $2;}'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>tr<span class="w"> </span><span class="s1">'\n'</span><span class="w"> </span><span class="s1">'\0'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>xargs<span class="w"> </span>-0<span class="w"> </span>-n<span class="w"> </span><span class="m">2</span><span class="w"> </span>-t<span class="w"> </span>zsh<span class="w"> </span>-c<span class="w"> </span><span class="s1">'zfs rename "$0" "$1"'</span>
<span class="linenos" data-linenos=" 8 "></span><span class="go">zsh -c zfs rename "$0" "$1" tank/my-data@auto-2021-09-02_00-00 tank/my-data@daily-2021-09-02_00-00</span>
<span class="linenos" data-linenos=" 9 "></span><span class="go">zsh -c zfs rename "$0" "$1" tank/my-data@auto-2021-09-03_00-00 tank/my-data@daily-2021-09-03_00-00</span>
<span class="linenos" data-linenos="10 "></span><span class="go">zsh -c zfs rename "$0" "$1" tank/my-data@auto-2021-09-04_00-00 tank/my-data@daily-2021-09-04_00-00</span>
<span class="linenos" data-linenos="11 "></span><span class="gp gp-VirtualEnv">(...)</span>
<span class="linenos" data-linenos="12 "></span><span class="gp">$ </span>zfs<span class="w"> </span>list<span class="w"> </span>-r<span class="w"> </span>-t<span class="w"> </span>snapshot<span class="w"> </span>tank/my-data<span class="w"> </span>
<span class="linenos" data-linenos="13 "></span><span class="go">NAME USED AVAIL REFER MOUNTPOINT</span>
<span class="linenos" data-linenos="14 "></span><span class="go">tank/my-data@daily-2021-09-02_00-00 0B - 209G -</span>
<span class="linenos" data-linenos="15 "></span><span class="go">tank/my-data@daily-2021-09-03_00-00 0B - 209G -</span>
<span class="linenos" data-linenos="16 "></span><span class="go">tank/my-data@daily-2021-09-04_00-00 0B - 209G -</span>
<span class="linenos" data-linenos="17 "></span><span class="gp gp-VirtualEnv">(...)</span>
</code></pre></div>
<h2 id="issues">🐛 Issues<a class="headerlink" href="#issues" title="Permanent link">¶</a></h2>
<h3 id="freenas-to-truenas-migration">FreeNAS to TrueNAS migration<a class="headerlink" href="#freenas-to-truenas-migration" title="Permanent link">¶</a></h3>
<p>I wrote a long article on <a href="https://kevin.deldycke.com/2020/12/migration-from-freenas-to-truenas/">how to migrate an encrypted pool from FreeNAS to TrueNAS</a>.</p>
<h3 id="unreachable-network-due-to-multiple-nics">Unreachable Network due to Multiple NICs<a class="headerlink" href="#unreachable-network-due-to-multiple-nics" title="Permanent link">¶</a></h3>
<p>My machine was regularly disconnected from the network and couldn’t be cleanly rebooted. This started under <code>FreeNAS 11.3-U4.1</code> and is still reproducible with a fresh <code>TrueNAS 12.0</code>.</p>
<p>The issue lies somewhere in all connected interfaces being granted <span class="caps">DHCP</span> active service:</p>
<p><a href="https://www.youtube.com/watch?v=vDMooVj-flM">https://www.youtube.com/watch?v=vDMooVj-flM</a></p>
<p>The <a href="https://jira.ixsystems.com/browse/NAS-108043">issue is being discussed on iXsystems’ <span class="caps">JIRA</span></a>.</p>
<h3 id="validateupdate-error-on-upgrade"><code>ValidateUpdate</code> error on upgrade<a class="headerlink" href="#validateupdate-error-on-upgrade" title="Permanent link">¶</a></h3>
<p>Got the following error on upgrade?</p>
<div class="highlight"><pre><span></span><code><span class="linenos" data-linenos="1 "></span><span class="x">PermissionError: [Errno 13] Permission denied: './ValidateUpdate'</span>
</code></pre></div>
<p>The fix: temporary <a href="https://www.truenas.com/docs/hub/tasks/advanced/system-dataset/">switch the System Dataset</a> to <code>freenas-boot</code>. Your default system dataset is probably set to your <span class="caps">ZFS</span> pool which might be unavailable for whatever reason. In my case, I was in the middle of a <a href="https://kevin.deldycke.com/2020/12/migration-from-freenas-to-truenas/">pool migration process</a>.</p>