<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TrueNAS &#8211; Scale &#8211; XtremeOwnage</title>
	<atom:link href="https://xtremeownage.com/category/technology/truenas-scale/feed/" rel="self" type="application/rss+xml" />
	<link>https://xtremeownage.com</link>
	<description>Cars, Computers, and Code.</description>
	<lastBuildDate>Sun, 08 Jan 2023 02:09:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.3</generator>

<image>
	<url>https://xtremeownage.com/wp-content/uploads/2019/09/cropped-Turbo-512-2-100x100.png</url>
	<title>TrueNAS &#8211; Scale &#8211; XtremeOwnage</title>
	<link>https://xtremeownage.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>My 40GBe NAS Journey.</title>
		<link>https://xtremeownage.com/2022/04/29/my-40gbe-nas-journey/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Fri, 29 Apr 2022 20:30:25 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[TrueNAS - Scale]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=2332</guid>

					<description><![CDATA[My journey for building a home nas capable of performing nearly as well as a locally attached NVMe.]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Introduction</h1>



<p>I have been trying to see exactly how fast I can push my existing hardware, without dumping ridiculous amounts of money on it.</p>



<p>I have tried many things to maximize the amount of performance, including even temporarily buying a pair of 100GBe nics a while back. (TLDR; lots of driver issues&#8230;.)</p>



<p>Well, after months and months of tinkering, I have finally reached my goal of being able to easily saturate 40GBe ethernet. </p>



<p>If you wish to read more of the details which led me to this point, here are a few of the previous posts:</p>



<h2 class="wp-block-heading">Backstory</h2>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2020/07/24/closet-mini-server-build/" data-type="post" data-id="1067">The Original NAS &#8211; 500$ Mini Build</a></h4>



<p>I started my current NAS journey, with a 500$ build, after being disappointed at the high prices of synology / drobo / qnap systems. I wanted to prove I could build a more capable system for less money. I did succeed.</p>



<p>This unit was eventually replaced due to the underpowered CPU.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2021/03/16/2021-server-and-gaming-pc-build/" data-type="post" data-id="1441" target="_blank" rel="noreferrer noopener">Combined Gaming PC / Server</a></h4>



<p>I ended up selling the above build, and for a few months, I turned my gaming PC into a combined gaming PC and server. Overall, it worked great. The only downside was the amount of heat being put into my bedroom. Oh, and limited number of PCIe lanes.</p>



<p>This was replaced by a Dell R720XD, which I picked up for 500$ shipped, with 128GB of ram included.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2021/09/04/10-40g-home-network-upgrade/" data-type="URL" data-id="https://xtremeownage.com/2021/09/04/10-40g-home-network-upgrade/" target="_blank" rel="noreferrer noopener">Upgrading my home network to 10/40G backbone</a></h4>



<p>Sept of last year, I picked up a pair of brocade ICX-6610 10/40G switches. As well, this is the first article where my Dell R720XD was mentioned. I never did a formal write up on obtaining it. However, it replaced my <a href="https://xtremeownage.com/2021/03/16/2021-server-and-gaming-pc-build/" data-type="post" data-id="1441" target="_blank" rel="noreferrer noopener">Combined GamingPC/Server</a>.</p>



<p>As apart of this project, I also ran 10GBe to my office.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2021/11/05/rack-em-up/" data-type="URL" data-id="https://xtremeownage.com/2021/11/05/rack-em-up/" target="_blank" rel="noreferrer noopener">Adding a server rack</a></h4>



<p>Self explanatory, however, since having all of your hardware sitting on buckets and cardboard boxes is not the best thing to do, I invested in a rack&#8230; and made everything somewhat presentable.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2021/12/12/reducing-power-consumption-without-reducing-performance/" data-type="URL" data-id="https://xtremeownage.com/2021/12/12/reducing-power-consumption-without-reducing-performance/" target="_blank" rel="noreferrer noopener">Reducing power consumption &#8211; Retiring Brocade</a></h4>



<p>Turns out, the brocade ICX-6610 produces more heat/noise then I was happy with. In this post, I retired the old switches. This saved a big chunk of power, but, also meant, I no longer had a 40GBe network core. Instead, I leveraged my opnsense firewall for providing a 10G core, although routed.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2022/01/26/40gb-ethernet-cost-and-benchmarks/" data-type="URL" data-id="https://xtremeownage.com/2022/01/26/40gb-ethernet-cost-and-benchmarks/" target="_blank" rel="noreferrer noopener">Running 40Gbit Fiber</a></h4>



<p>Since, 10GBe just wasn&#8217;t cutting it for me, I finally got around to running 40Gbe fiber from my server closet to my office. This also added a Chelsio 40GBe NIC to my Gaming PC.</p>



<p>Since the 40GB was point to point, no switches, no routers, etc, This also improved performance significantly over the 10GBe routed iscsi from previous steps.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2022/01/08/dell-r270xd-bifurcation/" data-type="post" data-id="1937">Adding &#8220;Bifurcation&#8221;</a></h4>



<p>Since, my r720XD does not support bifurcation, I found a few PCIe cards to work as switches for my NVMes. This allowed me to run many more NVMe drives rather then only being able to leverage a single NVMe per PCIe-slot.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2022/03/26/truenas-scale-infiniband/" data-type="URL" data-id="https://xtremeownage.com/2022/03/26/truenas-scale-infiniband/" target="_blank" rel="noreferrer noopener">Infiniband</a></h4>



<p>One day a few months back, I experimented with using Infiniband.</p>



<p>This involved custom compiling drivers for TrueNAS, and having to hack up a lot of bits and pieces you generally do not want to touch. </p>



<p>As well, the community forums <a rel="noreferrer noopener" href="https://www.truenas.com/community/threads/chelsio-t520-cr.97081/#post-690618" data-type="URL" data-id="https://www.truenas.com/community/threads/chelsio-t520-cr.97081/#post-690618" target="_blank">are quite toxic to you doing anything</a> that isn&#8217;t supported out of the box. But, I did manage to successfully get infiniband up and running. However, I was unable to perform any reasonable tests as I didn&#8217;t want to hack up the system anymore.</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2022/04/10/attempting-to-reduce-power-consumption-and-improving-performance/" data-type="URL" data-id="https://xtremeownage.com/2022/04/10/attempting-to-reduce-power-consumption-and-improving-performance/" target="_blank" rel="noreferrer noopener">Further Reducing Power Consumption</a></h4>



<p>Given electricity costs money, and power usage means heat production, I continued down the path of reducing the energy consumption of my home lab.</p>



<p>In this post, I reduced power consumption by ADDING new servers. Overall, I was able to reduce my R720XD&#8217;s power consumption by a pretty good chunk by moving services to the new SFF optiplex machines I had acquired.</p>



<p>Since, the server was no longer handling containers/VMs, I also removed its second CPU which actually helped performance out a good bit.</p>



<p>On the downside, I now only have 96G of ram instead of 128G.</p>



<h4 class="wp-block-heading">Further Reducing Power Usage (Not yet published)</h4>



<p>In the next post regarding reducing my power utilization, I enabled power management features within TrueNAS, to allow for greater savings. This knocked off ~20w of consumption, while not allowing the disks to spin down. As well, I swapped in a low-powered E5-2630L to further reduce power draw. </p>



<p>(Note, processor is still in the mail. Article will be completed AFTER this one has already been published)</p>



<h4 class="wp-block-heading"><a href="https://xtremeownage.com/2022/04/29/moving-from-truenas-scale-to-core/" data-type="URL" data-id="https://xtremeownage.com/2022/04/29/moving-from-truenas-scale-to-core/" target="_blank" rel="noreferrer noopener">Migrating from TrueNAS Scale, to TrueNAS Core</a></h4>



<p>The final step to achieve the performance numbers I have been hunting for- I installed TrueNAS core, and rebuilt my configuration from scratch.</p>



<p>Out of the box, with no tuning whatsoever, it had no issues at all besting every performance metric from Scale.</p>



<p></p>



<h2 class="wp-block-heading">The Benchmarks</h2>



<p>I have split the benchmarks into two seperate sections. Those against my Flash array, and those against my pool of spinning rust.</p>



<p>I did post both 1G and 32G test sizes where possible. </p>



<p>I started running the benchmarks in 32G to hush the trolls who blame the results on cache/ram.</p>



<h3 class="wp-block-heading">Against my 8-disk Z2 Array</h3>



<p>The array, is a 8-disk Z2. LZ4 compression is enabled, without dedup. The drives are 8x USED 8TB Seagate Exos.</p>



<h4 class="wp-block-heading">TrueNAS Scale</h4>



<p>These benchmarks were performed before migrating to core.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">iSCSI &#8211; 1G Test Size</h5>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-44.png" alt="" class="wp-image-2301" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-44.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-44-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">SMB &#8211; 1G Test Size</h5>



<figure class="wp-block-image size-full"><img decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-45.png" alt="" class="wp-image-2302" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-45.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-45-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>
</div>



<h4 class="wp-block-heading">TrueNAS Core</h4>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-2 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">iSCSI &#8211; 1G Test Size</h5>



<figure class="wp-block-image size-full"><img decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-65.png" alt="" class="wp-image-2325" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-65.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-65-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>



<h5 class="wp-block-heading">iSCSI &#8211; 32G Test Size</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-67.png" alt="" class="wp-image-2334" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-67.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-67-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">SMB &#8211; 1G Test Size</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-66.png" alt="" class="wp-image-2328" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-66.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-66-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>



<h5 class="wp-block-heading">SMB &#8211; 32G Test Size</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-68.png" alt="" class="wp-image-2335" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-68.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-68-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>
</div>



<p>It is rather interesting to see the differences between 1G and 32G. The sharp decline in write speed/IOPs is due to the cache being saturated. However, large sequential writes are still working just fine.</p>



<h3 class="wp-block-heading">Against My Flash Array</h3>



<p>My flash array is a single mirrored VDEV, consisting of a pair of 1T Samsung 970 EVO NVMe. While, previously, I did add an additional stripe, I didn&#8217;t notice dramatic performance differences and ended up removing the extra vdev(Possible to do with openzfs).</p>



<p>Since, I did not take recent benchmarks of the flash array before migrating to core, I do not have any &#8220;before&#8221; results to compare with.</p>



<p>As well, I did not take any benchmarks over SMB. However, it is safe to assume the results will be faster than the SMB results.</p>



<h4 class="wp-block-heading">TrueNAS Core &#8211; After Results</h4>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-3 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">iSCSI &#8211; 1G Test Size</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-69.png" alt="" class="wp-image-2337" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-69.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-69-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h5 class="wp-block-heading">iSCSI &#8211; 32G Test Size</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-71.png" alt="" class="wp-image-2339" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-71.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-71-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>
</div>



<p>I will note, there is a tiny amount more room for improvement as my CPU is getting pegged pretty hard during write operations. </p>



<p>But, next week, I will be replacing my E5-2695v2 with a E5-2630L in attempts to further reduce my energy consumption. However, I do feel, I should still be able to obtain very reasonable benchmark results.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="58" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-70-1024x58.png" alt="" class="wp-image-2338" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-70-1024x58.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/04/image-70-300x17.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-70-768x43.png 768w, https://xtremeownage.com/wp-content/uploads/2022/04/image-70-1536x86.png 1536w, https://xtremeownage.com/wp-content/uploads/2022/04/image-70.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Next Steps?</h2>



<p>Well, Other then replacing my CPU with a low-powered model which is going to hurt my performance slightly, I don&#8217;t really have any next steps.</p>



<p>I have been debating wanting to build out a CEPH cluster using a pile of SFF/MFF PCs, however, the budget for such a project is not in the cards for this year.</p>



<p>As well, I have toyed with the idea of deploying a disk array, but, this wouldn&#8217;t net me any performance improvements or reducings in power consumption. The array itself would use 30-60w without any disks. The only meaningful advantage would be to make it much easier to swap to a different piece of hardware. I have decided, that since the number of spinning spools directly correlates to the wattage draw, I don&#8217;t want to deploy a 16+ disk array. When zfs online expansion comes eventually, I will likely grow my existing array to 12 disks total.</p>



<p>For now, It is nearing time to focus my efforts on the 1,000hp turbocharged 4&#215;4 suburban project! Because, everyone needs a 1,000hp surburban! (NOT an exaggeration on the horsepower numbers&#8230;.)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Moving From TrueNAS Scale to Core</title>
		<link>https://xtremeownage.com/2022/04/29/moving-from-truenas-scale-to-core/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Fri, 29 Apr 2022 19:17:51 +0000</pubDate>
				<category><![CDATA[TrueNAS - Scale]]></category>
		<category><![CDATA[TrueNAS]]></category>
		<category><![CDATA[TrueNAS Core]]></category>
		<category><![CDATA[TrueNAS Scale]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=2300</guid>

					<description><![CDATA[Migrating from TrueNAS Scale, to TrueNAS Core.]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Why?</h1>



<p>Well, given my recent push to improve energy efficiency, I have reduced the average power utilization from my R720XD from 400-450w average, down to around 190w average. However, there is still more room to reduce usage.</p>



<p>Based on benchmarks I have seen, core should offer improved performance, which means less impact from the low-powered CPU I plan on putting into my server. As well, this should be a very easy migration from Scale to Core.</p>



<h2 class="wp-block-heading">Benchmarks</h2>



<p>Before doing anything, I ran a few simple, quick benchmarks across iScsi and SMB, to my Z2 array. I used the peak performance profile in CrystalBenchmark.</p>



<p>This isn&#8217;t designed to be a definitive test, but, to give me something quick to compare against. </p>



<h3 class="wp-block-heading">TrueNAS Scale</h3>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">iSCSI</h4>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-44.png" alt="" class="wp-image-2301" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-44.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-44-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>iSCSI test, to Z2 array.</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">SMB</h4>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-45.png" alt="" class="wp-image-2302" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-45.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-45-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>SMB Test, to Z2 Array.</figcaption></figure>
</div>
</div>



<h3 class="wp-block-heading">TrueNAS Core (After migration)</h3>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-5 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">iSCSI</h4>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-65.png" alt="" class="wp-image-2325" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-65.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-65-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<h4 class="wp-block-heading">SMB</h4>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-66.png" alt="" class="wp-image-2328" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-66.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/image-66-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>
</div>
</div>



<p>As seen above, there are numerous performance improvements across the board. Given the sole purpose of my TrueNAS box at this point in time is storage, and storage alone, this makes the decision to move from Scale back to Core all worth it.</p>



<h2 class="wp-block-heading">Steps</h2>



<h3 class="wp-block-heading">Step 1. Backups</h3>



<p>The first and foremost step before doing anything to your storage system, is to ensure you have working backups. Assume, your migration will fail in a catastrophic manner, leaving all of your data unusable. So, make sure you have working backups.</p>



<h3 class="wp-block-heading">Step 2. Configuration Backup</h3>



<p>With a configuration backup, you can easily restore all of your configurations to a fresh install of TrueNAS, allowing you to be back up and online in minutes. Always keep a backup!</p>



<h3 class="wp-block-heading">Step 3. Download the core ISO.</h3>



<p>Download the desired release from <a rel="noreferrer noopener" href="https://www.truenas.com/download-truenas-core/" data-type="URL" data-id="https://www.truenas.com/download-truenas-core/" target="_blank">HERE</a>. I went with Core 13.0-RC1 assuming it would have the newer version of ZFS, minimizing potential pool compatibility issues.</p>



<h3 class="wp-block-heading">Step 4. Mount / Burn the ISO.</h3>



<p>If you do not have enterprise hardware with remote management capabilities, burn the disk to a CD/DVD/or ISO.</p>



<p>If you have iDrac / iLo, attach the image as virtual media.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="618" height="247" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-46.png" alt="" class="wp-image-2303" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-46.png 618w, https://xtremeownage.com/wp-content/uploads/2022/04/image-46-300x120.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></figure>



<p>If you are using idrac/ilo, set the next boot, to boot to your virtually mapped ISO.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="442" height="305" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-47.png" alt="" class="wp-image-2304" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-47.png 442w, https://xtremeownage.com/wp-content/uploads/2022/04/image-47-300x207.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></figure>



<p>Reboot your system.</p>



<h3 class="wp-block-heading">Step 5.1 &#8211; Reboot, and find unexpected memory errors</h3>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1001" height="326" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-48.png" alt="" class="wp-image-2305" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-48.png 1001w, https://xtremeownage.com/wp-content/uploads/2022/04/image-48-300x98.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-48-768x250.png 768w" sizes="(max-width: 1001px) 100vw, 1001px" /></figure>



<p>During the process of rebooting to reinstall, I had one of my Dimms fail testing. As I have recently had a weird issue popping up seemingly related to memory&#8230;. I decided to go ahead and replace the A12 dimm.</p>



<p>After replacing stick A12, the errors/warnings went away.</p>



<h3 class="wp-block-heading">Step 5.2 Install TrueNAS Core</h3>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="875" height="641" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-49.png" alt="" class="wp-image-2306" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-49.png 875w, https://xtremeownage.com/wp-content/uploads/2022/04/image-49-300x220.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-49-768x563.png 768w" sizes="(max-width: 875px) 100vw, 875px" /></figure>



<p>After you get booted to the installer, you will want to select Install/Upgrade</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="756" height="258" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-50.png" alt="" class="wp-image-2307" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-50.png 756w, https://xtremeownage.com/wp-content/uploads/2022/04/image-50-300x102.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></figure>



<p>After I was prompted for which drives to install TrueNAS, I selected my two 10K SAS drives where it was previously installed.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="620" height="420" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-51.png" alt="" class="wp-image-2308" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-51.png 620w, https://xtremeownage.com/wp-content/uploads/2022/04/image-51-300x203.png 300w" sizes="(max-width: 620px) 100vw, 620px" /></figure>



<p>After which, I received a prompt letting me know everything would be erased.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="767" height="274" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-52.png" alt="" class="wp-image-2309" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-52.png 767w, https://xtremeownage.com/wp-content/uploads/2022/04/image-52-300x107.png 300w" sizes="(max-width: 767px) 100vw, 767px" /></figure>



<p>Select your desired boot mode. The r720XD will boot either mode.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="776" height="182" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-53.png" alt="" class="wp-image-2310" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-53.png 776w, https://xtremeownage.com/wp-content/uploads/2022/04/image-53-300x70.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-53-768x180.png 768w" sizes="(max-width: 776px) 100vw, 776px" /></figure>



<p>When asked to create a swap partition, I selected to not create swap (As the system has over 100G of ram&#8230;)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="789" height="171" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-54.png" alt="" class="wp-image-2311" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-54.png 789w, https://xtremeownage.com/wp-content/uploads/2022/04/image-54-300x65.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-54-768x166.png 768w" sizes="(max-width: 789px) 100vw, 789px" /></figure>



<p>After finishing up the GUI-based options, a terminal appeared. </p>



<p>This step took a while to complete, likely due to the virtual media being accessed over the network.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="761" height="790" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-55.png" alt="" class="wp-image-2312" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-55.png 761w, https://xtremeownage.com/wp-content/uploads/2022/04/image-55-289x300.png 289w" sizes="(max-width: 761px) 100vw, 761px" /></figure>



<p>After&#8230;. 10 minutes or so, Core was successfully reinstalled.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="796" height="159" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-56.png" alt="" class="wp-image-2313" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-56.png 796w, https://xtremeownage.com/wp-content/uploads/2022/04/image-56-300x60.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-56-768x153.png 768w" sizes="(max-width: 796px) 100vw, 796px" /></figure>



<p>I disconnected the virtual media, and rebooted the system.</p>



<h3 class="wp-block-heading">Step 6. Boot / Import Configuration</h3>



<p>After a while, my system booted into core.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="508" height="872" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-57.png" alt="" class="wp-image-2314" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-57.png 508w, https://xtremeownage.com/wp-content/uploads/2022/04/image-57-175x300.png 175w" sizes="(max-width: 508px) 100vw, 508px" /></figure>



<p>At this point, we are done using iDrac / Physical console for configuration.</p>



<p>Assuming your system was able to acquire a usable IP address (I have multiple NICs configured, a few of which gave out a DHCP address), navigate to the configuration page, and log in with the password you configured earlier during the installation.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="445" height="601" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-58.png" alt="" class="wp-image-2315" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-58.png 445w, https://xtremeownage.com/wp-content/uploads/2022/04/image-58-222x300.png 222w" sizes="(max-width: 445px) 100vw, 445px" /></figure>



<p>From this point, I would enjoy telling you to upload your previous configuration backup, however, my scale backup was deemed &#8220;too new&#8221; for core to import. This isn&#8217;t a big problem. Lets rebuild a new configuration.</p>



<p>I will start by importing my pools from scale.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="462" height="427" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-60.png" alt="" class="wp-image-2317" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-60.png 462w, https://xtremeownage.com/wp-content/uploads/2022/04/image-60-300x277.png 300w" sizes="(max-width: 462px) 100vw, 462px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="525" src="https://xtremeownage.com/wp-content/uploads/2022/04/image-61-1024x525.png" alt="" class="wp-image-2318" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/image-61-1024x525.png 1024w, https://xtremeownage.com/wp-content/uploads/2022/04/image-61-300x154.png 300w, https://xtremeownage.com/wp-content/uploads/2022/04/image-61-768x394.png 768w, https://xtremeownage.com/wp-content/uploads/2022/04/image-61.png 1148w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>After, a long time, the pool from scale was able to successfully import.</p>



<p>I continued importing my other pools.</p>



<p>After this, I went ahead and configured my 10/40GBe interfaces. I had no issues getting the 40GBe ConnectX-3 NIC up and running.</p>



<p>From this point, I went through each configuration section and slowly reconfigured everything&#8230; Emails, Network, DNS, SSH, NTP, etc&#8230;</p>



<p>After configuring everything, I rebooted the host. It rebooted and came back online without any issues or side-effects.</p>



<h3 class="wp-block-heading">Step 7. Reconfiguring iSCSI</h3>



<p>In the previous step, I went ahead and configured most of iSCSI. However, I could not select the existing zvols as extends. </p>



<p>To knock out some initial testing, I went ahead and deleted the old 50G testing zvol from my flash array, and used the wizard to go ahead and setup iSCSI.</p>



<p>After attaching/formatting the disk in windows, I went ahead and ran a test.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2022/04/40gbe.png" alt="" class="wp-image-2329" srcset="https://xtremeownage.com/wp-content/uploads/2022/04/40gbe.png 482w, https://xtremeownage.com/wp-content/uploads/2022/04/40gbe-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></figure>



<p>Granted, this test is against my Flash array, however, I will note the write performance is MUCH better then it was during the previous tests conducted <a href="https://xtremeownage.com/2022/04/10/attempting-to-reduce-power-consumption-and-improving-performance/" data-type="post" data-id="2165">when I replaced my core switch</a>.</p>



<p>As well, I have performed no tuning, yet.</p>



<h2 class="wp-block-heading">Results?</h2>



<p>Overall, the migration was not too bad.</p>



<p>On a scale of 1-10, 10 being the hardest, I would give this a 6.</p>



<p>It would have saved many hours of reconfiguration If I were able to import my configuration from Scale. Since I was not able to, I had to go and manually reconfigured all users/groups/shares/jobs/etc. This was a pretty time consuming process.</p>



<p>I will note, my existing pools imported without a hitch, and I was able to get all of my iscsi mounts reattached after a few minor issues.</p>



<p>Getting SMB working again, took quite a bit more effort then I was expecting, however.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>TrueNAS Scale &#8211; Infiniband</title>
		<link>https://xtremeownage.com/2022/03/26/truenas-scale-infiniband/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 20:31:43 +0000</pubDate>
				<category><![CDATA[TrueNAS - Scale]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=2132</guid>

					<description><![CDATA[Well, I have been wanting to get infiniband working for a while. I decided today was as good of a time as any&#8230;. So, I made it happen. Summary Was...]]></description>
										<content:encoded><![CDATA[
<p>Well, I have been wanting to get infiniband working for a while. I decided today was as good of a time as any&#8230;. So, I made it happen.</p>



<h2 class="wp-block-heading">Summary </h2>



<ol><li>Was able to get infiniband working</li><li>IPoIB performance is utter garbage.</li><li>I didn&#8217;t want to hack up TrueNAS more to support RDMA </li><li>Gave up, went back to my Chelsio 40GBe adaptor.</li></ol>



<h1 class="wp-block-heading">Step 1. Install a few packages.</h1>



<p>By default, TrueNAS Scale has apt &#8220;disabled&#8221;. Please see <a href="https://xtremeownage.com/2022/03/26/truenas-scale-re-enable-apt-get/" data-type="post" data-id="2124">THIS POST</a> on how to re-enable it.</p>



<p>Once you have&#8230; re-enabled the ability to install packages, AND added the debian repos, we need to install a few packages to assist.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""></pre>



<p>At this point, you should be able to run ibstat and get a status. If you don&#8217;t have a status, make sure your card is installed. I am using a ConnectX-3 (Non-pro)</p>



<p>To note, I have one port set as infiniband, and the other port set as ethernet.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# ibstat
CA 'mlx4_0'
        CA type: MT4099
        Number of ports: 2
        Firmware version: 2.42.5000
        Hardware version: 1
        Node GUID: 0x506b4b03007bfc50
        System image GUID: 0x506b4b03007bfc53
        Port 1:
                State: Initializing
                Physical state: LinkUp
                Rate: 40
                Base lid: 0
                LMC: 0
                SM lid: 0
                Capability mask: 0x02514868
                Port GUID: 0x506b4b03007bfc51
                Link layer: InfiniBand
        Port 2:
                State: Down
                Physical state: Disabled
                Rate: 10
                Base lid: 0
                LMC: 0
                SM lid: 0
                Capability mask: 0x00010000
                Port GUID: 0x526b4bfffe7bfc52
                Link layer: Ethernet
</pre>



<h2 class="wp-block-heading">How to change configuration parameters</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""># First- get the PCI address of your card.
root@truenas:~# lspci | grep Mell
03:00.0 Network controller: Mellanox Technologies MT27500 Family [ConnectX-3]

# In this case- 03:00.0 is my address.

# Show current configuration
root@truenas:~# mstconfig -d 03:00.0 query

Device #1:
----------

Device type:    ConnectX3
Device:         03:00.0

Configurations:                              Next Boot
         SRIOV_EN                            True(1)
         NUM_OF_VFS                          8
         LINK_TYPE_P1                        IB(1)
         LINK_TYPE_P2                        ETH(2)
         LOG_BAR_SIZE                        3
         BOOT_PKEY_P1                        0
         BOOT_PKEY_P2                        0
         BOOT_OPTION_ROM_EN_P1               False(0)
         BOOT_VLAN_EN_P1                     False(0)
         BOOT_RETRY_CNT_P1                   0
         LEGACY_BOOT_PROTOCOL_P1             PXE(1)
         BOOT_VLAN_P1                        1
         BOOT_OPTION_ROM_EN_P2               False(0)
         BOOT_VLAN_EN_P2                     False(0)
         BOOT_RETRY_CNT_P2                   0
         LEGACY_BOOT_PROTOCOL_P2             PXE(1)
         BOOT_VLAN_P2                        1
         IP_VER_P1                           IPv4(0)
         IP_VER_P2                           IPv4(0)
         CQ_TIMESTAMP                        True(1)


# Set port mode to infiniband
mstconfig -d 03:00.0 set LINK_TYPE_P1=1

# Set port mode to ethernet
mstconfig -d 03:00.0 set LINK_TYPE_P1=2

# You can also set multiple properties in the same command
mstconfig -d 03:00.0 set LINK_TYPE_P1=1 LINK_TYPE_P2=1

# Disable boot rom, if you desire. I don't have plans on using it.
mstconfig -d 03:00.0 set LINK_TYPE_P1=1 BOOT_OPTION_ROM_EN_P1=0 BOOT_OPTION_ROM_EN_P2=0</pre>



<h2 class="wp-block-heading">Step 2. Ping across the network</h2>



<p>This guide ASSUMES you already have a working physical link established between two infiniband cards.</p>



<p>In my case, I have a windows client, and a TrueNAS server.</p>



<p>Next, lets lists connected hosts</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# ibhosts
ibwarn: [2618545] get_abi_version: can't read ABI version from /sys/class/infiniband_mad/abi_version (No such file or directory): is ib_umad module loaded?
ibwarn: [2618545] mad_rpc_open_port: can't open UMAD port ((null):0)
../libibnetdisc/ibnetdisc.c:802; can't open MAD port ((null):0)
/usr/sbin/ibnetdiscover: iberror: failed: discover failed
</pre>



<p>Seems&#8230; a kernel module is missing. Lets add it, and try again.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# modprobe ib_umad
# I also went ahead and loaded the infiniband IP over InfiniBand module.
root@truenas:~# modprobe ib_ipoib
root@truenas:~# ibhosts
Ca      : 0x0002c90300a29060 ports 2 "XTREMEOWNAGE-PC"
Ca      : 0x506b4b03007bfc50 ports 2 "MT25408 ConnectX Mellanox Technologies"
</pre>



<p>Well, look at that. The two PCs can see each other over infiniband.</p>



<p>The next step, was to allocate an ip address for the infiniband adapter.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ibp3s0: flags=4098&lt;BROADCAST,MULTICAST>  mtu 4092
        unspec 80-00-02-28-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
</pre>



<p>As we can see, it doesn&#8217;t have an address. I provisioned the IP address through the TrueNAS WebGUI.</p>





<p>After saving the changes, applying, etc&#8230;. I was able to ping the local IP, but, not the remote IP.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# ping 10.100.255.1
PING 10.100.255.1 (10.100.255.1) 56(84) bytes of data.
64 bytes from 10.100.255.1: icmp_seq=1 ttl=64 time=0.052 ms
^C
--- 10.100.255.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.052/0.052/0.052/0.000 ms
root@truenas:~# ping 10.100.255.2
PING 10.100.255.2 (10.100.255.2) 56(84) bytes of data.
^C</pre>



<p>Doing a bit of troubleshooting, I ran ibstat on both ends.</p>





<p>and, determined the link was stuck in status &#8220;Initializing&#8221;</p>



<p>After a bit of research, I determined a subnet manager needs to exist, for a point to point link.</p>



<p>So&#8230;</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# apt-get install opensm
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  opensm
...</pre>



<p>At this point, I decided to do a reboot, to ensure all of the modules are being properly loaded at boot.</p>



<p>Or&#8230; to see if&#8230;. all of the above work has been reset.</p>



<p>After rebooting, all of the configuration and packages were still in place, However, the kernel modules were not loaded back in. So&#8230; I reloaded the modules manually, and added a config to load them at boot.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas:~# modprobe ib_ipoib ib_umad ib_uverbs rdma_ucm
root@truenas:~# nano /etc/modules-load.d/infiniband.conf
# File Contents:
ib_umad
ib_ipoib
ib_uverbs
rdma_ucm
</pre>



<p>The next step, was to get opensm up and running.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas[/etc/modules-load.d]# systemctl status opensm
● opensm.service - Starts the OpenSM InfiniBand fabric Subnet Managers
     Loaded: loaded (/lib/systemd/system/opensm.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
  Condition: start condition failed at Sat 2022-03-26 13:26:55 CDT; 8min ago
       Docs: man:opensm(8)

Mar 26 13:26:55 truenas.local.xtremeownage.com systemd[1]: Condition check resulted in Starts the OpenSM InfiniBand fabric Subnet Managers being skipped.


## I assume, it failed to start due to the missing kernel modules. Lets start it.

root@truenas[/etc/modules-load.d]# systemctl start opensm
root@truenas[/etc/modules-load.d]# systemctl status opensm
● opensm.service - Starts the OpenSM InfiniBand fabric Subnet Managers
     Loaded: loaded (/lib/systemd/system/opensm.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2022-03-26 13:35:38 CDT; 1s ago
       Docs: man:opensm(8)
    Process: 296934 ExecCondition=/bin/sh -c if test "$PORTS" = NONE; then echo "opensm is disabled via PORTS=NONE."; exit 1; fi (code=exited, status=0/SUCCESS)
    Process: 296935 ExecStart=/bin/sh -c if test "$PORTS" = ALL; then PORTS=$(/usr/sbin/ibstat -p); if test -z "$PORTS"; then echo "No InfiniBand ports found."; exi>
   Main PID: 296935 (code=exited, status=0/SUCCESS)

Mar 26 13:35:38 truenas.local.xtremeownage.com systemd[1]: Starting Starts the OpenSM InfiniBand fabric Subnet Managers...
Mar 26 13:35:38 truenas.local.xtremeownage.com sh[296935]: Starting opensm on following ports: 0x506b4b03007bfc51
Mar 26 13:35:38 truenas.local.xtremeownage.com sh[296935]: 0x526b4bfffe7bfc52
Mar 26 13:35:38 truenas.local.xtremeownage.com systemd[1]: Finished Starts the OpenSM InfiniBand fabric Subnet Managers.


## Much better.</pre>



<p>At this point, I checked the stats for the infiniband nics.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas[/etc/modules-load.d]# ibstat
CA 'mlx4_0'
        CA type: MT4099
        Number of ports: 2
        Firmware version: 2.42.5000
        Hardware version: 1
        Node GUID: 0x506b4b03007bfc50
        System image GUID: 0x506b4b03007bfc53
        Port 1:
                State: Active
                Physical state: LinkUp
                Rate: 40
                Base lid: 1
                LMC: 0
                SM lid: 1
                Capability mask: 0x0251486a
                Port GUID: 0x506b4b03007bfc51
                Link layer: InfiniBand
        Port 2:
                State: Down
                Physical state: Disabled
                Rate: 10
                Base lid: 0
                LMC: 0
                SM lid: 0
                Capability mask: 0x00010000
                Port GUID: 0x526b4bfffe7bfc52
                Link layer: Ethernet


## Boom, good to go on the truenas side.

BADPROMPT:ibstat
CA 'ibv_device0'
        CA type:
        Number of ports: 2
        Firmware version: 2.42.5000
        Hardware version: 0x0
        Node GUID: 0x0002c90300a29060
        System image GUID: 0x0002c90300a29063
    Port 1:
        State: Down
        Physical state: Disabled
        Rate: 1
        Base lid: 0
        LMC: 0
        SM lid: 0
        Capability mask: 0x80500000
        Port GUID: 0x0202c9fffea29061
        Link layer: Ethernet
        Transport: RoCE v1.25
    Port 2:
        State: Active
        Physical state: LinkUp
        Rate: 40
        Real rate: 32.00 (QDR)
        Base lid: 2
        LMC: 0
        SM lid: 1
        Capability mask: 0x90580000
        Port GUID: 0x0002c90300a29062
        Link layer: IB
        Transport: IB</pre>



<p>Excellent, the link is active on both sides!</p>



<p>Since, the module was not active when the machine was rebooted, the interface was down. I used iconfig to bring it up.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas[/etc/modules-load.d]# ifconfig ibp3s0 up
root@truenas[/etc/modules-load.d]# ifconfig ibp3s0
ibp3s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST>  mtu 2044
        inet 10.100.255.1  netmask 255.255.255.252  broadcast 10.100.255.3
        inet6 fe80::526b:4b03:7b:fc51  prefixlen 64  scopeid 0x20&lt;link>
        unspec 80-00-02-28-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 2  bytes 212 (212.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 37  bytes 11759 (11.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@truenas[/etc/modules-load.d]# ping 10.100.255.1
PING 10.100.255.1 (10.100.255.1) 56(84) bytes of data.
64 bytes from 10.100.255.1: icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from 10.100.255.1: icmp_seq=2 ttl=64 time=0.049 ms
^C
--- 10.100.255.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1030ms
rtt min/avg/max/mdev = 0.049/0.052/0.056/0.003 ms
</pre>



<p>We can now ping over IP. Lets do a speed test.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">## Since, TrueNAS doesn't ship with iperf2 (Does include iperf3, however, getting speed results above 10G isn't consistent using iperf3, due to its single-threaded nature....
## So, I prefer iperf2 for testing over 10G.
root@truenas[/etc/modules-load.d]# apt-get install iperf
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  iperf
0 upgraded, 1 newly installed, 0 to remove and 105 not upgraded.
...
root@truenas[/etc/modules-load.d]# iperf -v
iperf version 2.0.14a (2 October 2020) pthreads
root@truenas[/etc/modules-load.d]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------


## on the windows side.
BADPROMPT:iperf.exe -c 10.100.255.1
------------------------------------------------------------
Client connecting to 10.100.255.1, TCP port 5001
TCP window size:  208 KByte (default)
------------------------------------------------------------
[  3] local 10.100.255.2 port 23277 connected with 10.100.255.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  7.69 GBytes  6.60 Gbits/sec

BADPROMPT:iperf.exe -c 10.100.255.1 -P 10
------------------------------------------------------------
Client connecting to 10.100.255.1, TCP port 5001
TCP window size:  208 KByte (default)
------------------------------------------------------------
[ 12] local 10.100.255.2 port 23297 connected with 10.100.255.1 port 5001
[ 10] local 10.100.255.2 port 23295 connected with 10.100.255.1 port 5001
[ 11] local 10.100.255.2 port 23296 connected with 10.100.255.1 port 5001
[  9] local 10.100.255.2 port 23294 connected with 10.100.255.1 port 5001
[  7] local 10.100.255.2 port 23292 connected with 10.100.255.1 port 5001
[  6] local 10.100.255.2 port 23291 connected with 10.100.255.1 port 5001
[  8] local 10.100.255.2 port 23293 connected with 10.100.255.1 port 5001
[  5] local 10.100.255.2 port 23290 connected with 10.100.255.1 port 5001
[  4] local 10.100.255.2 port 23289 connected with 10.100.255.1 port 5001
[  3] local 10.100.255.2 port 23288 connected with 10.100.255.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[ 12]  0.0-10.0 sec  1.07 GBytes   916 Mbits/sec
[ 10]  0.0-10.0 sec   899 MBytes   753 Mbits/sec
[  6]  0.0-10.0 sec  1.01 GBytes   870 Mbits/sec
[  8]  0.0-10.0 sec   220 MBytes   185 Mbits/sec
[  5]  0.0-10.0 sec   561 MBytes   470 Mbits/sec
[  9]  0.0-10.1 sec   695 MBytes   578 Mbits/sec
[ 11]  0.0-10.1 sec   674 MBytes   557 Mbits/sec
[  7]  0.0-10.2 sec   346 MBytes   285 Mbits/sec
[  4]  0.0-10.2 sec   253 MBytes   208 Mbits/sec
[  3]  0.0-10.2 sec   681 MBytes   560 Mbits/sec
[SUM]  0.0-10.2 sec  6.31 GBytes  5.31 Gbits/sec


</pre>



<p>Well, that was extremely disappointing!</p>



<h2 class="wp-block-heading">Troubleshooting poor performance</h2>



<p>The first step- is always to check MTU. I found the server was configured for 8,000, however, my client only supported 4092 max.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""> root@truenas# ifconfig ibp3s0 mtu 4092 up</pre>



<p>Just, to confirm this wasn&#8217;t an iperf issue, I decided to do a quick iscsi performance test.</p>





<p>Only, 5Gbits&#8230;.. far short of the expected 40/56Gbits.</p>



<p>Well&#8230; lets doublecheck MTU.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas[/etc/modules-load.d]# ifconfig ibp3s0 mtu 4092
root@truenas[/etc/modules-load.d]# ifconfig ibp3s0
ibp3s0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST>  mtu 2044
        inet 10.100.255.1  netmask 255.255.255.252  broadcast 10.100.255.3
        inet6 fe80::526b:4b03:7b:fc51  prefixlen 64  scopeid 0x20&lt;link>
        unspec 80-00-02-28-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 23373377  bytes 47020734796 (43.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6652816  bytes 6411049427 (5.9 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

## Appears the card on my server only supports 2044 MTU... this might explain the issues.</pre>



<p>So&#8230; I set the MTU on both ends to 2044.</p>



<p>Sadly, this did not help performance.</p>



<h2 class="wp-block-heading">Conclusion.</h2>



<p>I DID successfully manage to get infiniband up and running.</p>



<p>I DID learn, IPoIB (IP over InfiniBand) is actually quite slow. To realize huge performance gains over using the NIC in ETH mode, you would need to leverage RDMA/RCOE.</p>



<p>Since, I have hacked up my TrueNAS install enough for the day, I decided to switch everything back to ethernet mode, and call it a day. I can easily get 40G out of ethernet mode.</p>



<h2 class="wp-block-heading">How to switch back to ethernet mode.</h2>



<p>If you recall earlier, I left one interface in ETH mode&#8230;. I am just going to switch the physical adaptor, and move the ip address over&#8230; so, I don&#8217;t need to reboot my PC.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ifconfig ibp3s0 0.0.0.0 0.0.0.0
ifconfig enp3s0d1 10.100.255.1/30 mtu 9000 up
root@truenas[/etc/modules-load.d]# ifconfig enp3s0d1
enp3s0d1: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.100.255.1  netmask 255.255.255.252  broadcast 10.100.255.3
        inet6 fe80::526b:4bff:fe7b:fc52  prefixlen 64  scopeid 0x20&lt;link>

## On the windows side, I also physically swapped the adaptors over.

root@truenas[/etc/modules-load.d]# ping 10.100.255.2
PING 10.100.255.2 (10.100.255.2) 56(84) bytes of data.
64 bytes from 10.100.255.2: icmp_seq=1 ttl=128 time=0.482 ms
64 bytes from 10.100.255.2: icmp_seq=2 ttl=128 time=0.162 ms

## Connection is good to.... Lets test performance.
[SUM] 0.0000-10.0208 sec  10.7 GBytes  9.15 Gbits/sec

## Appears my client is only connected at 10G.... interesting.
</pre>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">root@truenas[/etc/modules-load.d]# ethtool enp3s0d1
Settings for enp3s0d1:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseKX4/Full
                                40000baseCR4/Full
                                40000baseSR4/Full
                                56000baseCR4/Full
                                56000baseSR4/Full
                                1000baseX/Full
                                10000baseCR/Full
                                10000baseSR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseKX4/Full
                                40000baseCR4/Full
                                40000baseSR4/Full
                                1000baseX/Full
                                10000baseCR/Full
                                10000baseSR/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000014 (20)
                               link ifdown
        Link detected: yes

## Wonder what happens if I uh, FORCE it to 40g.

root@truenas[/etc/modules-load.d]# ethtool -s enp3s0d1 speed 40000 duplex full autoneg off

## Turns out, the connection on the windows side dropped.... I am starting to think this particular ConnectX-3 does not support 40G. 
## I know the adaptor on the server side supports 40G, because, its the same exact adaptor i used to benchmark 40G in a previous post!</pre>



<p>I found documentation on my particular NIC here: https://downloads.dell.com/manuals/all-products/esuprt_ser_stor_net/esuprt_pedge_srvr_ethnt_nic/mellanox-adapters_users-guide_en-us.pdf</p>



<p>Based on the specifications, it &#8220;should&#8221; support 40G ethernet mode&#8230;</p>



<p>Edit- Turns out, it supported 40G infiniband, but, only 10GBe ethernet.</p>



<p>Yup. Oh well. Putting the chelsio NIC back in my PC. It had no problems doing 40G.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reducing Power Consumption Without Reducing Performance</title>
		<link>https://xtremeownage.com/2021/12/12/reducing-power-consumption-without-reducing-performance/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Sun, 12 Dec 2021 14:21:28 +0000</pubDate>
				<category><![CDATA[TrueNAS - Scale]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1853</guid>

					<description><![CDATA[Reducing my power consumption without degrading my performance.]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Introduction</h1>



<p>A while back, I did a <a href="https://xtremeownage.com/2021/09/04/10-40g-home-network-upgrade/" data-type="post" data-id="1675">10/40G Network Upgrade</a>. This involved adding a new Brocade ICX6610 core switch, capable of handling line speed routing and forwarding, across all ports.</p>



<p>You can see the previous state of my rack with pictures and details in my <a href="https://xtremeownage.com/2021/11/05/rack-em-up/" data-type="post" data-id="1747" target="_blank" rel="noreferrer noopener">Rack em Up</a> post.</p>



<p>While, this switch is an absolute unstoppable monster, it comes with two drawbacks. It makes a lot of noise, and it uses a lot of energy. My calculations place its energy consumption around 200w, which is nearly what my massive server consumes.</p>



<p>So, the plan&#8230;.. is to completely replace it, WITHOUT degradation of services.</p>



<p>I plan on doing this by replacing the ICX6610 completely, and moving all routing up to my firewall, where previously, my ICX6610 handled routing between various subnets.</p>





<h1 class="wp-block-heading">Getting Started</h1>



<h3 class="wp-block-heading">New Core Switch</h3>



<p>Sometime earlier this year, I ran out of POE ports and acquired a Zyxel GS1900-24EP 24 port gigabit POE switch. While, there is nothing fantastic about this switch, it can do vlans, and management POE devices. It does exactly what I ask of it. The key piece here, it is silent, and has low power consumption.</p>



<p>The downside, it has no 10G or faster uplink ports.</p>



<p>I decided to reinstall a old quad port gigabit NIC into my Opnsense firewall. I then, ran a 4-link lagg from the firewall to the Zyxel.</p>



<p>Afterwards, I moved my POE cameras, APs, Livingroom Switch (powered via poe), iDrac, and other gigabit loads to the zyxel. I pointed the vlans in opnsense from the old 10G lagg, to the new lagg connected to the zyxel.</p>



<p>After a bit of configuration, I had all of my security cameras, IOT devices, etc working as expected.</p>



<h3 class="wp-block-heading">How to maintain 10G connectivity from my PC, to my NAS</h3>



<p>One of the big reasons I upgraded to 10/40G this year, was to ensure I had a very fast iSCSI connection to my NAS, allowing me to use storage from my server. I use this to host my secondary steam library for less often played games, and other bulk-storage.</p>



<p>However, without a 10/40G switch into place, I decided to leverage the two 10G ports already on my opnsense firewall. I dedicated one of the 10G ports to my TrueNAS server, and I dedicated the other 10G port to my bedroom/office. </p>



<p>While, this is far less then the 40G of dedicated bandwidth my server had before, I don&#8217;t imagine this should be a bottleneck very often&#8230; if ever. One of these days, I still plan on running a dedicated 40G link just for iSCSI.</p>



<h3 class="wp-block-heading">Initial Benchmarks</h3>



<p>So, after moving everything over, and setting up a new network for my office on opnsense, I decided to run benchmarks to determine the level of performance&#8230;. Since, my traffic now has to be routed, instead of switched.</p>



<h5 class="wp-block-heading">Initial Network Benchmark</h5>



<p>I have grown to enjoy using <a href="https://openspeedtest.com/" data-type="URL" data-id="https://openspeedtest.com/" target="_blank" rel="noreferrer noopener">openspeedtest</a> for doing quick, simple network benchmarks.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1006" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-4-1006x1024.png" alt="" class="wp-image-1854" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-4-1006x1024.png 1006w, https://xtremeownage.com/wp-content/uploads/2021/12/image-4-295x300.png 295w, https://xtremeownage.com/wp-content/uploads/2021/12/image-4-768x782.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-4-1509x1536.png 1509w, https://xtremeownage.com/wp-content/uploads/2021/12/image-4.png 1586w" sizes="(max-width: 1006px) 100vw, 1006px" /></figure>



<p>Without doing any configuration, the network benchmark isn&#8217;t horrible. I am getting 70%-80% of the expected download, with nearly 100% of the expected upload.</p>



<h5 class="wp-block-heading">Initial ISCSI benchmark</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-5.png" alt="" class="wp-image-1855" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-5.png 482w, https://xtremeownage.com/wp-content/uploads/2021/12/image-5-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>Ok&#8230;.. that was extremely disappointing. </figcaption></figure>



<p>Around 1,200MB/s is the maximum speed obtainable over a 10G connection. However, I am getting far below what is possible.  The write speed is literally a quarter of what the network is capable of.</p>



<p>While, my main ISCSI mount is only a 8-disk Z2 array, these results are&#8230; quite low.</p>



<h5 class="wp-block-heading">Adjust MTU</h5>



<p>During the process of moving around networks, I did finally adjust the maximum MTU on my server to 9,000. It was set at 1,500 before due to a mixture of devices on LAN segment which did not support jumbo frames. However, since my bedroom/office now has a dedicated lan segment, I am able to fully leverage jumbo frames without additional impact.</p>



<p>So, 9,000 MTU, here I come.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="595" height="689" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-6.png" alt="" class="wp-image-1856" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-6.png 595w, https://xtremeownage.com/wp-content/uploads/2021/12/image-6-259x300.png 259w" sizes="(max-width: 595px) 100vw, 595px" /></figure>



<p>After adjusting the MTU size, the first test was to ensure the jumbo packets are able to successfully navigate to my NAS without fragmenting. This can be accomplished with a simple ping comment, and the do-not-fragment flag set.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">XtremeOwnage:ping 10.100.4.24 -f -l 8955

Pinging 10.100.4.24 with 8955 bytes of data:
Reply from 10.100.4.24: bytes=8955 time&lt;1ms TTL=63
Reply from 10.100.4.24: bytes=8955 time&lt;1ms TTL=63
Reply from 10.100.4.24: bytes=8955 time&lt;1ms TTL=63

Ping statistics for 10.100.4.24:
    Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C
^C</pre>



<h5 class="wp-block-heading">Network test with Jumbo Frames</h5>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1001" height="1024" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-7-1001x1024.png" alt="" class="wp-image-1857" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-7-1001x1024.png 1001w, https://xtremeownage.com/wp-content/uploads/2021/12/image-7-293x300.png 293w, https://xtremeownage.com/wp-content/uploads/2021/12/image-7-768x786.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-7-1501x1536.png 1501w, https://xtremeownage.com/wp-content/uploads/2021/12/image-7.png 1576w" sizes="(max-width: 1001px) 100vw, 1001px" /><figcaption>Much better. Remember- this is a browser based speedtest, and will not be as accurate as say&#8230; iperf3. However, this does let me know I am now running at full speed.</figcaption></figure>



<h5 class="wp-block-heading">ISCSI Benchmark after Jumbo Frames</h5>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-8.png" alt="" class="wp-image-1858" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-8.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-8-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p>MUCH better! I am at least getting full read speeds now.</p>



<p>My write speeds, are actually likely correct, given this is a single 8-disk Z2 Array, without SLOG enabled. As well, this is not a clean room test. My array is running its normal production load. If you are reading this website, it is hosted on my server, and the same storage I am benchmarking right now.</p>



<h5 class="wp-block-heading">Will SLOG Help Performance?</h5>



<p>Lets find out!</p>



<p>Sometime in the last month or two, I replaced my boot pool with a pair of 600G 15k SAS drives. This freed up a extra NVMe drive in my pool.</p>



<p>I do not at ALL recommend only using a single drive, ESPECIALLY, a consumer-grade SSD for your SLOG. If this device fails, you will have potential data corruption issues!!!</p>



<p>I am only going to use it for the duration of this test.</p>



<p>First, make sure you are forcing sync writes. You will want to set Sync=Always for the ZVOL you are testing with. (Or, your entire array if you plan on keeping an SLOG device.) However- I am only interested in testing to see if there is a noticeable performance difference.</p>



<p>I decided it may be useful to perform another benchmark at this time, with the only change being to force sync=always.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="352" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-9.png" alt="" class="wp-image-1859" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-9.png 482w, https://xtremeownage.com/wp-content/uploads/2021/12/image-9-300x219.png 300w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>Well, that really tanked performance! Let&#8217;s add the SLOG and see what happens.</figcaption></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="740" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-10-1024x740.png" alt="" class="wp-image-1860" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-10-1024x740.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/12/image-10-300x217.png 300w, https://xtremeownage.com/wp-content/uploads/2021/12/image-10-768x555.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-10-1536x1110.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/12/image-10.png 2018w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>As I stated before, it is extremely recommended to never use a single device for your SLOG. I had to ignore the errors and force the configuration.</p>



<h5 class="wp-block-heading">Post SLOG Benchmark</h5>



<p>Since, the SLOG device is now apart of my pool, lets once again run a benchmark to see how performance is.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-11.png" alt="" class="wp-image-1861" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-11.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-11-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p>Well, performance is better then it was with sync=always, but, less then it was before we touched it.</p>



<p>Lets&#8230; remove sync=always, and see what the outcome is.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-12.png" alt="" class="wp-image-1862" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-12.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-12-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /><figcaption>Alright, so, with a SLOG device in the pool, without forcing sync writes, performance is marginally better then without the SLOG device.</figcaption></figure>



<p>This backs up my previous opinion that a SLOG is useful situationally. At this point, I went ahead and removed the SLOG device from the pool.</p>



<p>To note, this is not a perfectly fair test of a SLOG. A 970 evo, while a fantastic NVMe for your home PC, is NOT a suitable device for a SLOG. Ideally, a Intel Optane 900P would be leveraged. These are much more suitable due to vastly improved durability, and reduced latency.</p>



<h5 class="wp-block-heading">Testing Against NVMe.</h5>



<p>Just as a final test to ensure I am getting the expected ISCSI throughput being routed through my firewall&#8230;. I went ahead and setup a 50G iSCSI mount on my mirrored NVMe array.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-15.png" alt="" class="wp-image-1866" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-15.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-15-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p>Interesting. The write speeds are still half of what I expected.</p>



<h5 class="wp-block-heading">Enabling File/Folder Compression on Windows</h5>



<p>I assumed perhaps windows File/Folder compression may have a difference. So, I preformatted the drive and enabled compression.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="479" height="355" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-16.png" alt="" class="wp-image-1867" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-16.png 479w, https://xtremeownage.com/wp-content/uploads/2021/12/image-16-300x222.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-17.png" alt="" class="wp-image-1869" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-17.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-17-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p>However, this actually reduced performance. Next, I went to TrueNAS, and disabled compression there. This was as simple as editing the zvol, and setting compression to none. After doing this, I also re-formatted the drive from the windows box, and disabled File/Folder Compression.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-18.png" alt="" class="wp-image-1870" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-18.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-18-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<p>Read speeds are back to normal. However, no improvements on write speeds.</p>



<h3 class="wp-block-heading">Final iSCSI results.</h3>



<p>At this point, I decided to call it quits for now.</p>



<p>Worst-case scenario, the sequential read on my 8-Disk Z2 array is still twice as fast as a SATA SSD, and achieving the same read speeds. I decided to perform a full benchmark to determine the random speed of my spinning array as well.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="526" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-19.png" alt="" class="wp-image-1873" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-19.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-19-300x219.png 300w" sizes="(max-width: 722px) 100vw, 722px" /><figcaption>Overall, not too bad considering the storage is hosted on a remote server, on another subnet.</figcaption></figure>



<p>C<a rel="noreferrer noopener" href="https://xtremeownage.com/2019/10/12/2019-budget-gaming-pc#crystal" data-type="URL" data-id="https://xtremeownage.com/2019/10/12/2019-budget-gaming-pc#crystal" target="_blank">ompare this to the budget gaming PC I built a while back</a>, which used SATA SSDs.</p>



<h4 class="wp-block-heading">Benchmark Size Disclaimer</h4>



<p>I personally ran most of the below benchmarks at 2G size. Because, I personally do not care to wait 10/20/30 minutes for benchmarks to complete. To demonstrate the difference in benchmark results with various sample sizes&#8230;. I performed various benchmarks at increasing sizes.</p>



<p></p>



<p>Here are benchmarks performed at the end of my testing, of various sizes, against my 8-disk Z2 array.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="246" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-22.png" alt="" class="wp-image-1876" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-22.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-22-300x102.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="250" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-21.png" alt="" class="wp-image-1875" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-21.png 722w, https://xtremeownage.com/wp-content/uploads/2021/12/image-21-300x104.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="723" height="244" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-23.png" alt="" class="wp-image-1877" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-23.png 723w, https://xtremeownage.com/wp-content/uploads/2021/12/image-23-300x101.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></figure>



<p>As noted in the above benchmarks, write speed remains extremely consistent. Read speed goes down as sample size is increased. To note, my server has 128G of ram. For real world use-cases, there isn&#8217;t a lot of content that will not be fully cached in ram.</p>



<h2 class="wp-block-heading">Power Consumption Differences.</h2>



<p>Using Iotawatt, which tracks the power consumption of many of the various circuits in my home&#8230;. I am able to see the exact difference in power consumption used by my server rack.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="748" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-14-1024x748.png" alt="" class="wp-image-1865" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-14-1024x748.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/12/image-14-300x219.png 300w, https://xtremeownage.com/wp-content/uploads/2021/12/image-14-768x561.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-14-1536x1123.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/12/image-14.png 2040w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Based on the data provided, It is safe to say, my rack is consuming on average, 100-150 watts less then it did before.</p>



<p>510-520watts was the average minimum consumption before the change. After the change, 400 watts appears to be the new minimum.</p>



<p>While, the total reduction was not AS much as I would have hoped, </p>



<p>(100 watts * 24 hours * 365 days) = 876kwh of consumption per year.</p>



<p>876kwh * $0.08c/kwh = 70$ less spent on electricity per year. Or&#8230; around 6$ a month total savings.</p>



<p>To note, this does NOT include how much it costs to remove the extra heat from the house. That number should be around 25% of the total cost. So, I will ballpark and say, replacing the brocade with my preexisting zyxel saved me 100$ a year.</p>



<p>I could have potentially reduced that number more by using smaller, more efficient switches. However, my unifi switch does not have enough POE ports to satisfy my POE needs.</p>



<h2 class="wp-block-heading">Firewall Impact</h2>



<p>Since, all of my 10G traffic is now being routed through the firewall, and passing through ACLs, it was also important to document the impact to the firewall&#8217;s performance.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="536" src="https://xtremeownage.com/wp-content/uploads/2021/12/image-25-1024x536.png" alt="" class="wp-image-1885" srcset="https://xtremeownage.com/wp-content/uploads/2021/12/image-25-1024x536.png 1024w, https://xtremeownage.com/wp-content/uploads/2021/12/image-25-300x157.png 300w, https://xtremeownage.com/wp-content/uploads/2021/12/image-25-768x402.png 768w, https://xtremeownage.com/wp-content/uploads/2021/12/image-25-1536x804.png 1536w, https://xtremeownage.com/wp-content/uploads/2021/12/image-25.png 2020w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>So, I captured the dashboard while performing a iSCSI test. The first large spike was the READ test, followed by the WRITE test. As noted, the firewall&#8217;s CPU utilization remains&#8230;. basically idle.</p>



<p>I believe it is safe to say, my firewall is hardly affected by this large volume of traffic.</p>



<h2 class="wp-block-heading">Closing Notes</h2>



<p>I was able to successfully reduce my yearly electric bill by nearly 100$.</p>



<p>I actually IMPROVED my 10G performance with this network change. As the network was setup before, I was not able to safely increase the MTU size, without causing impact to other devices not capable of handling the increased MTU size. </p>



<p>I do plan on investing further to attempt to determine why my iSCSI write speeds are lower than expected as well. However, for now, It is faster then it was before.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Unraid Vs TrueNAS SCALE 2021</title>
		<link>https://xtremeownage.com/2021/11/10/unraid-vs-truenas-scale-2021/</link>
		
		<dc:creator><![CDATA[XO]]></dc:creator>
		<pubDate>Wed, 10 Nov 2021 21:22:59 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[TrueNAS - Scale]]></category>
		<category><![CDATA[TrueNAS]]></category>
		<category><![CDATA[unraid]]></category>
		<category><![CDATA[ZFS]]></category>
		<guid isPermaLink="false">https://xtremeownage.com/?p=1787</guid>

					<description><![CDATA[Introduction Often, I see a bunch of posts where someone is having a tough time considering between Unraid, or TrueNAS. so, I am going to write a quick summary based...]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Introduction</h1>



<p>Often, I see a bunch of posts where someone is having a tough time considering between Unraid, or TrueNAS. so, I am going to write a quick summary based on my experiences, and recommendations.</p>



<p>This article is basically copied from my <a href="https://www.reddit.com/r/truenas/comments/qnjyp0/comment/hjgqjpc/?utm_source=share&amp;utm_medium=web2x&amp;context=3" data-type="URL" data-id="https://www.reddit.com/r/truenas/comments/qnjyp0/comment/hjgqjpc/?utm_source=share&amp;utm_medium=web2x&amp;context=3" target="_blank" rel="noreferrer noopener">comment on reddit</a>.</p>



<h1 class="wp-block-heading">Unraid</h1>



<p>+ You add disks, you gain storage, simple as that. </p>



<p>+ Its method of write caching. You add NVMe to a dedicated flash pool, and all of your writes will funnel through the NVMe cache. This is actually a really nice feature. With Truenas, you write directly to your array.</p>



<p>&#8211; Performance. Unless your data lives on your flash cache, you are limited to the performance of a single drive. This was my biggest driver for moving from* unraid. Single spool performance is not that great.</p>



<p>+ Resources. You don&#8217;t need many resources to run a decently performant unraid install.</p>



<p>+ UI. Unraid has a FANTASTIC UI. Very easy to use and navigate.</p>



<p>+ Power Usage. Only the drive which contains the file you are using needs to be spun up. If the file is on flash, you don&#8217;t have to spin up any drives.</p>



<p>+ Tiered Storage. Unraid&#8217;s flash/array system is FAR from perfect. However, it does give you a very rudimentary system of tiered storage.</p>



<h1 class="wp-block-heading">TrueNAS</h1>



<p>Adding storage in the CURRENT state, basically means adding another vdev. (I aim for 8-10 disk vdevs) You CAN replace drives one by one, to increase capacity, but, unless you are replacing old 2TB disks with 18T disks, its generally not worth doing this. In the future, online expansion will be added removing this CON.</p>



<p>+ Performance. If you have a 8 disk VDEV, your data is read from, and written to all 8 disks at once. If you have plenty of ram for ARC, reads are generally lightning fast.</p>



<p>&#8211; Resources. If you run TrueNAS, RAM RAM and then add MORE RAM. Ram is everything. Also- use ECC ram.</p>



<p>&#8211; UI. Scale is still in beta, bugs are being worked out. But, Its UI still doesn&#8217;t compare to how easy it is to use Unraid.</p>



<p>&#8211; Power Usage. When you read or write something, your entire arrays has to spin up.</p>



<p>&#8211; Tiered Storage. Non existent in truenas.</p>



<h1 class="wp-block-heading">Which is better?</h1>



<p>Neither. Each one fits into a unique niche.</p>



<p>For me to recommend one or the other, I would need to know your specific needs.</p>



<p>If you are not highly technical, and you just want a NAS that just &#8220;works&#8221;, You cannot beat unraid. From its simplistic UI, up to its storage model of being able to just add disks to expand, its easy. You want a docker container? Click the docker tab and add it. Within 30 seconds, you have a new container up and running. You want a VM? Click the VM tab. Easy enough.</p>



<p>Want to add a share? Three more clicks and you are off to the races.</p>



<p>If you are a technical user, who doesn&#8217;t mind tinkering, I personally love TrueNAS SCALE</p>



<p>But, in the current state, I would say its better for power users and more technical individuals.</p>



<h1 class="wp-block-heading">Which one is faster?</h1>



<p>Also- neither.</p>



<p>For spinning disk array performance, TrueNAS is hard to beat. Unraid falls pretty flat on its face in this category, only using a single spindle. However, Unraid has the ability to cache reads and writes with NVMe storage, which greatly minimizes this issue.<br><br>Note- before somebody mentions the L2ARC from ZFS, it is not really comparable in this situation. It only caches reads, not writes, and it is VERY SITUATIONAL. In most cases, it will hurt your performance rather then helping unless you have a very diverse workload, and LOTS of ram!!!!</p>



<h1 class="wp-block-heading">What is my personal choice?</h1>



<p>Simple. I like TrueNAS. Why?</p>



<ol><li>Performance. The unraid single spool bottleneck was becoming a pain in my ass.</li><li>Reliability. If you give truenas the proper hardware, its EXTREMELY reliable. I have a lot of faith in ZFS for maintaining my data integrity. I never actually got a chance to test how well Unraid can recover from a failed drive, however, I have experienced many drive failures with TrueNAS. The last failure, was one of my 8TB drives dying. Access to my data was never lost during the failure. It was degraded in performance, however, but, the missing drive was actually rebuilt from one of my array&#8217;s hot spares in ~24h with zero loss to my data.</li><li>ZFS &gt; BTRFS IMO. <a rel="noreferrer noopener" href="https://btrfs.wiki.kernel.org/index.php/RAID56" data-type="URL" data-id="https://btrfs.wiki.kernel.org/index.php/RAID56" target="_blank">BTRFS raid levels are not reliable as said by the developer.</a> Don&#8217;t use BTRFS Raid5/6.</li><li>Power. I feel like TrueNAS gives me MUCH more control over everything to a point where it can be dangerous.</li></ol>



<p>Seriously, both are good platforms to choose from.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
