<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6461067935478170803</atom:id><lastBuildDate>Fri, 20 Mar 2026 18:33:57 +0000</lastBuildDate><category>Windows</category><category>virtualization</category><category>Utilities</category><category>VMware</category><category>servers</category><category>Storage</category><category>Dell</category><category>Server2008R2</category><category>Windows7</category><category>datacenter</category><category>Lasik</category><category>RDS</category><category>Hyper-V</category><category>Networking</category><category>VDI</category><category>Security</category><category>Server2008</category><category>Cloud</category><category>vSphere</category><category>Citrix</category><category>Clustering</category><category>household</category><category>Active Directory</category><category>Server2012R2</category><category>gadgets</category><category>PC</category><category>SAN</category><category>Windows8</category><category>enterprise</category><category>ESXi</category><category>Server2012</category><category>Nutanix</category><category>Server2016</category><category>ESX</category><category>Reviews</category><category>Windows10</category><category>AntiVirus</category><category>HyperConverged</category><category>NetApp</category><category>PowerShell</category><category>Windows8.1</category><category>XenApp</category><category>Cisco</category><category>HP</category><category>Monitoring</category><category>Plex</category><category>VSAN</category><category>power</category><category>vSphere 5.5</category><category>Android</category><category>Auto</category><category>Office</category><category>S2D</category><category>Storage Spaces</category><category>Chrome</category><category>Disaster Recovery</category><category>Droid</category><category>Google</category><category>Group Policy</category><category>ISA</category><category>RDSH</category><category>SharePoint</category><category>Symantec</category><category>Voice</category><category>medical</category><category>printing</category><category>vGPU</category><category>Books</category><category>DNS</category><category>Delegation</category><category>Gaming</category><category>Horology</category><category>Linux</category><category>Mac</category><category>OCS</category><category>ScaleIO</category><category>TroubleFreePool</category><category>VPN</category><category>Woodworking</category><category>firefox</category><title>| Exit | the | Fast | Lane |</title><description></description><link>http://www.exitthefastlane.com/</link><managingEditor>noreply@blogger.com (Peter)</managingEditor><generator>Blogger</generator><openSearch:totalResults>198</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-1347281285201348470</guid><pubDate>Thu, 01 Aug 2019 03:33:00 +0000</pubDate><atom:updated>2019-07-31T22:34:16.667-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PC</category><category domain="http://www.blogger.com/atom/ns#">Windows10</category><title>New PC Build for 2019</title><description>Well 2 years have passed so the time has come again for a PC upgrade! My goals for this year are simple: build smaller and break the 2-year cycle. :-) Certainly from a CPU/ memory perspective there is diminishing value upgrading this often. The biggest changes in the consumer PC space right now are around storage and graphics, which should last 4-6 years before driving the next upgrade I estimate. CPU performance just isn&#39;t that dramatically different from prior generations to necessitate upgrades this often, never mind the fun factor of doing a new build of course.&lt;br /&gt;
This was a tough year to do a build I felt, which is always complicated a bit by building Small Form Factor (SFF), but part selection generally seemed more difficult than previously. It&#39;s easy to build a maximum high-end PC with parts clearly designated to that category, but value for money is tough to justify unless you really need the horsepower. I&#39;ll explain more below in the part selection sections below.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmTwF1o2jvEYcou47LR9Tw6sXE-RRqXR9TVFsQgyLXA8TWTuIadLlKyXWRPYp4W1sxj0G61V9Pp90ou56Q9oJzEokmQLKVub2mly_BGKV7b4J7BYy-WbKyYMpjetoqkFPgA1pEufeygZrM/s1600/IMG_20190406_133627.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmTwF1o2jvEYcou47LR9Tw6sXE-RRqXR9TVFsQgyLXA8TWTuIadLlKyXWRPYp4W1sxj0G61V9Pp90ou56Q9oJzEokmQLKVub2mly_BGKV7b4J7BYy-WbKyYMpjetoqkFPgA1pEufeygZrM/s1600/IMG_20190406_133627.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Check out a few of my previous builds: &lt;a href=&quot;https://www.exitthefastlane.com/2017/02/new-pc-build-for-2017.html&quot; target=&quot;_blank&quot;&gt;2017&lt;/a&gt;, &lt;a href=&quot;https://www.exitthefastlane.com/2015/04/new-pc-build-for-2015.html&quot; target=&quot;_blank&quot;&gt;2015&lt;/a&gt;, &lt;a href=&quot;https://www.exitthefastlane.com/2013/03/new-pc-build-for-2013.html&quot; target=&quot;_blank&quot;&gt;2013&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This year&#39;s final build, read on to see what&#39;s inside!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClH8qDrfec_dWmFZewYYKPch6_arYnlZ1a7z7VyivZi2eE6zX8CugX66GF4sXR1VyQMTKUKhJZ2gfA_Laiaqzs8pYmmBo68mpwbMmpWBp_yxejX-lZR3dn5teuZjiNepckEsQJHAugomh/s1600/IMG_20190417_172353.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClH8qDrfec_dWmFZewYYKPch6_arYnlZ1a7z7VyivZi2eE6zX8CugX66GF4sXR1VyQMTKUKhJZ2gfA_Laiaqzs8pYmmBo68mpwbMmpWBp_yxejX-lZR3dn5teuZjiNepckEsQJHAugomh/s1600/IMG_20190417_172353.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Motherboard - &lt;a href=&quot;https://amzn.to/2HeIKE8&quot; target=&quot;_blank&quot;&gt;ASRock Phantom ITX&lt;/a&gt;&lt;/h2&gt;
&lt;br /&gt;
I typically build mATX but had to do an honest assessment if that was still necessary now. In prior builds, DIMM sizes dictated 4 slots to hit 32GB affordably, plus I wanted another PCIe slot should I decide to run SLI. The truth is, I will never run SLI, I just won&#39;t and now 16GB DIMMs are much more affordable so I can get by with 2 to net my desired 32GB. My need to build mATX just isn&#39;t there anymore so I decided to look at mini-ITX. While Asus is my usual mobo brand of choice I found their ITX space not only too expensive with low supply but also several reliability concerns reported in the community on the Z390 parts. The one model that kept coming up consistently as high-quality and reliable was the Phantom Gaming-ITX/ac by ASRock. Particularly well-reviewed on this board is the power design which includes high quality capacitors and power chokes. Overclocking, dedicated AIO liquid cooler pump header, dual M.2 slots with a full heat spreader on the front, Thunderbolt 3 USB-C, plus 802.11ac if you need it. This board includes everything I need, in a very small footprint.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ueMR8yeaUP4F5_6t5jsiEKYBg1kwUa-tGu2wCA0h0gTPduDOy3w5DcCzhIbh0sSXuvD_bb_EYlzHtKis8JlrSX7wuwwT0EXPTOEcVXzpAUmGZRbYjPqPY1d2KJg00djO0K4m-sCkTxXT/s1600/Z390+Phantom+Gaming-ITXac.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;636&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ueMR8yeaUP4F5_6t5jsiEKYBg1kwUa-tGu2wCA0h0gTPduDOy3w5DcCzhIbh0sSXuvD_bb_EYlzHtKis8JlrSX7wuwwT0EXPTOEcVXzpAUmGZRbYjPqPY1d2KJg00djO0K4m-sCkTxXT/s1600/Z390+Phantom+Gaming-ITXac.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
A Note on Chipsets&lt;/h3&gt;
&lt;br /&gt;
The latest high-end Intel chipset offering is the Z390 which only provides minimal improvement from the previous Z370. Unless you very specifically need one of these new features, the Z370 will suit you fine and will be cheaper. If the price is close between variants, get the Z390 so you&#39;re future-proofed.&lt;br /&gt;
&lt;br /&gt;
The key changes on the Z390 vs the Z370 are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Gen2 USB 3.1 support&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;ME 12 firmware&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Native 802.11ac + Bluetooth 5&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Wireless-AC adapter&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Here are the block diagrams of both chipsets with the changes outlined in red on the Z390.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYc1F3YGGzXJi8xWjnp7za7dgSMNNGXfucE53lc9C1eC7yGPn0ohLucn4DU5SCm-7Iueitn4624cgadRVigd4-Rpi2a0ExloMSP99Klop_ZuR8NtmFAgAGRxr1uhYeIQ0yk7Qu3kemLwwQ/s1600/370.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;702&quot; data-original-width=&quot;716&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYc1F3YGGzXJi8xWjnp7za7dgSMNNGXfucE53lc9C1eC7yGPn0ohLucn4DU5SCm-7Iueitn4624cgadRVigd4-Rpi2a0ExloMSP99Klop_ZuR8NtmFAgAGRxr1uhYeIQ0yk7Qu3kemLwwQ/s1600/370.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9wnRyyFtj1_8ptp-WLiaXwTtSJGMiUuaqz8c2UYCWcz_zxYLDr3NjcJHAr2mR2BrHLbPh4wE13b3IxxYsg7dmvrjb80kuB5BhCur5lcEgAbpAr_1d7sWsl3iprl2IJcsEz5j8Soh755-Q/s1600/390.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;718&quot; data-original-width=&quot;724&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9wnRyyFtj1_8ptp-WLiaXwTtSJGMiUuaqz8c2UYCWcz_zxYLDr3NjcJHAr2mR2BrHLbPh4wE13b3IxxYsg7dmvrjb80kuB5BhCur5lcEgAbpAr_1d7sWsl3iprl2IJcsEz5j8Soh755-Q/s1600/390.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
CPU - i7-9700K&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBbfUtCDrDVgClOmyOvVALkoTLmzOOfdFoUGpcZqjYPIB24YMBqpLM2sDWAj1htONueH921Fi58mOXnYuG8EVLP4bdK3h9TZ10Yh-1fCjkT64NEnQ9xHSMfR1yvO48ANygIdZfr5WfP4-k/s1600/9700k.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;402&quot; data-original-width=&quot;403&quot; height=&quot;398&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBbfUtCDrDVgClOmyOvVALkoTLmzOOfdFoUGpcZqjYPIB24YMBqpLM2sDWAj1htONueH921Fi58mOXnYuG8EVLP4bdK3h9TZ10Yh-1fCjkT64NEnQ9xHSMfR1yvO48ANygIdZfr5WfP4-k/s400/9700k.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Really tough choice picking a CPU this year! If you go by performance alone, the i9 reins supreme, but barely, compared to the 9700K and in some tests only by 1-2 tenths. &lt;a href=&quot;https://www.anandtech.com/show/13400/intel-9th-gen-core-i9-9900k-i7-9700k-i5-9600k-review/7&quot; target=&quot;_blank&quot;&gt;Anand Tech&lt;/a&gt; has a good CPU comparison worth the time investment. I struggled between the 8th gen i7-8700K which has excellent OC potential performing within tenths of the 9th gen parts, the 9700K which has 8 cores (C) but no hyperthreading (HT) and the top dog: the i9 with 8C + HT. HT is now a premium feature on the 9th gen parts, only available on the i9. The 9700K gets 2 additional cores bringing its total to 8 vs 6 while HT is present on the 8th gen 8700K. Clocks between parts are within a few hundred MHz of each other with the blistering stock 5GHz mantle going to the i9 part alone.&lt;br /&gt;
&lt;br /&gt;
One of the most interesting changes on the 9th gen parts is that the heat spreader (lid) is now soldered to the silicon providing superior thermal transfer. 8700K owners serious about OC will delid the part to achieve better cooling. This is much more difficult on the 9th gen parts (due to the solder) and provides arguably less benefit.&lt;br /&gt;
&lt;br /&gt;
I came very close to just pulling the lever for the i9 but decided against it for a couple of reasons. First is the cost, at $525 at the time of build this is way too high at +$100 over the nearest contender and that&#39;s if you can even find the part in stock. The i9 parts run HOT, even at 95W stock, these chips can suck a lot more power and create a lot more heat under load. Liquid cooling is highly recommended if you go this route. 8C HT is nice but practically there are very few of us actually able to thread through all that potential given a standard mix of common apps and games. This presents the same problem for the acclaimed AMD Threadripper: lots of potential but nothing really to take advantage of it. 4C is probably plenty for most, 8C (non HT) is more than enough. There were also supply issues where I found the part difficult to procure so I ultimately decided to save $100 and went with the 9700K, which is still fairly expensive at $420. The 9700K proves to be a very capable OC part running a stable 5.4GHz vs the i9 running too hot under OC at the time of build. So you need to decide if you want to save or spend a hundred bucks between options, need HT or not and if you&#39;ll OC or not.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;So much of this decision depends how you will use your rig. For me, being completely honest, it&#39;s probably 70% office/web stuff + 30% gaming as this is my main machine for all things. If all you intend to do is gaming, then you don&#39;t need a top bin part, you just don&#39;t. The GPU is much more important in that equation so you can get by with a lower bin CPU and save some scrills.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;My gaming only recommendation: &lt;/b&gt;If you plan to OC, then get the 9600K, if no OC, then get the 8700 (non K). Yes, it&#39;s a generation older, but strongly holds its own in the performance charts vs the new gen parts. Hard to not make this about value for the performance provided. You might be willing to spend $500+ on the i9 part, but it&#39;s difficult to justify 2x the cost vs the 9600K given the i9 doesn&#39;t net 2x the performance gains in any test I&#39;ve seen. Put the money saved into a better GPU!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;My mixed use recommendation:&lt;/b&gt; Regardless of if you intend to OC, the 9700K is a solid option for mixed use cases and performs near the top of all charts right now. You will net solid office app + gaming performance nearly regardless of title.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;That said, if you have the money to burn and want the best there is period, regardless of performance to dollar margins, the i9 is it.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;i9-9900K: 8C HT, 5GHz, 16MB L3, 95W - $525&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;i7-9700K: 8C no HT, 4.9GHz, 12MB L3, 95W - $420&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;i7-8700K: 6C HT, 4.7GHz, 12MB L3, 95W - $380&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;i7-8700: 6C HT, 4.6GHz, 12MB L3, 65W - $310&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;i5-9600K: 6C no HT, 4.6GHz, 9MB L3, 95W - $270&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
CPU Cooler - Corsair H115i RGB Platinum 280mm AIO&lt;/h2&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://amzn.to/2Wmz6by&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;655&quot; data-original-width=&quot;1106&quot; height=&quot;189&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMCpjiOOYcsiLLSoZO8tFaeD3APbqpXprfMvqUAfxRC3LC5Z1vtdTnlElmScPGoOHx-J2rh4HtghJpMp_sSaSMsPTWCeJGzP8pcUZYG-E-hvkEntZh6EYo3a6kk_yl0ax42W-9um_3Y9be/s320/-CW-9060032-WW-Gallery-H115i-Pro-08-WHITE.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
While I don&#39;t &lt;i&gt;need &lt;/i&gt;liquid cooling for my setup per se, space is limited in the Cerberus (keep reading) so an All-In-One (AIO) cooler becomes a great option to save space, maximize cooling and keep things quiet. It also looks awesome especially if you make use of the RGB options. This will provide more than enough cooling to OC should I decide to do that later. 280mm is the largest radiator I can fit into this case which will net plenty of cooling. Building a custom loop is of course another option but adds a ton of cost and for what I&#39;m doing, I don&#39;t think it&#39;s necessary.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;I also considered the NZXT X62 which has a great looking pump with the infinity mirror but there are a lot of concerns online with their CAM software and your data which they collect and upload into the cloud with no way to opt out. I decided to stay away for this reason. For pure cooling performance, you really cant go wrong either way here, both are excellent options.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;When installing the 115i, once your put the Intel bracket on the back of the mobo + standoffs on the front, there is a bit of play once finger tightened. This goes away completely once the pump is installed and tightened down so don&#39;t fret. Do yourself a favor and connect the micro-USB to the pump BEFORE you install onto the mobo!! Clearance to the next door heatsink may be tight and require you to remove the pump to attach the USB, requiring redo of your thermal paste.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
Memory - Corsair Vengeance RGB 2 x 16GB DDR4 @ 3200MHZ&lt;/h2&gt;
&lt;a href=&quot;https://amzn.to/2E1cXUZ&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;937&quot; data-original-width=&quot;1195&quot; height=&quot;250&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidAmR0r6Rz3I6cGyMGJ9TE4zC9voJ55iOkw9PLAKSE_ual6irQIJX8krwsltSTJnZaJxau92ecmHRefE1LfyffwFT049C2Ci-X81xqzkPJI4OZoQPFc9ph8B3e_sS-lOQrid1KOLMvzGI4/s320/-CMW16GX4M2A2666C16-Gallery-Vengeance-RGB-Pro-10-2up.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Memory can be a touchy subject with people loyal to certain brands due to perception or experience. I&#39;ve had great success with Corsair, G.Skill and Crucial across many builds over several decades. I do have to say though that the only problems I&#39;ve had have been with Corsair DIMMS for some reason. One of the largest money saving vectors right now is deciding whether or not you want RGB (technically no one &lt;i&gt;needs &lt;/i&gt;it, right?). If you don&#39;t, you can save some coin. I decided I did, so I splurged for the pricier modules. High clock speeds remain a marketing gimmick designed to bilk you of your hard earned cash. RAM modules are sold with a base clock but provide differing XMP profiles to boost them to advertised speeds in the BIOS. Depending on your motherboard this may or may not even be possible. From my research I&#39;ve concluded that there is very little benefit in buying modules over 3000MHz. I bought the 3200MHz modules because they were the same price as the 3000MHz counterparts. There are several &lt;a href=&quot;https://techbuyersguru.com/gaming-ddr4-memory-2133-vs-26663200mhz-8gb-vs-16gb?page=1&quot; target=&quot;_blank&quot;&gt;good articles&lt;/a&gt; written on this topic showing negligible performance difference between low to high clocked modules. If you find a good deal on a higher clocked part, go for it, otherwise, save your money. Another important consideration if you plan to build ITX is the width of the heat spreaders on the DIMMs. My G.Skill modules from 2 years ago are too wide to fit in my ASRock board while the new Corsair modules are slender and fit just fine.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
GPU - Asus Strix 2080 Ti OC&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://amzn.to/2Ihslhq&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;940&quot; data-original-width=&quot;1309&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYt32RsNxpglpOwXKtD8pIxsSD6PkZad1WRsuIGj_z_rWT0PrIHCsHjdKBJQz-JN-BygOoAtluhVHN2Xw6OReUecRHvGviQYaVlk7eiHh9UP6S-BZSRfV6oSm8JGWLsSzJfFQ11BOcAucm/s400/gpu.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
GPU is another fun choice this year with lots of great options in both the NVIDIA and AMD camps. Coming from a 1070 in my previous build, I could have gone a number of directions: 1080 Ti. 2070, 2080, 2080 Ti or the higher end Radeon boards. But then you need to decide: Founders or AIB, 1, 2, 3 fans or liquid and which model to pick within a category. I found that AIB (Add In Board) partners make it deliberately difficult to compare cards, within the SAME BRAND!! Although this appears to have gotten a bit better, you will have to do some manual comparisons.&lt;br /&gt;
&lt;br /&gt;
Founders cards are from NVIDIA directly and are for people who need the new toy on day 1 or prefer the &quot;pure&quot; experience, but these cards tend to be limited from a performance and cooling perspective. AIB suppliers like Asus, Zotac, MSI etc buy the GPU chips from NVIDIA then build their own products, often times based closely to the reference designs but charge a premium over Founders. The big difference with AIB parts is that clocks are typically higher, power and cooling designs are better and you can get options like more fans and RGB.&amp;nbsp; I nearly bought the 2080 part but decided against it due to reviews, price points and performance so instead splurged and got the 2080 Ti. Zotac makes an excellent card as does Asus who have a really good VRM design in the 20 series.&lt;br /&gt;
&lt;br /&gt;
The 2080 TI is an absolute beast of a GPU, 4352 CUDA cores and 11GB GDDR6 RAM. Early on, the AIBs used Micron memory chips which had a high number of failures so have since switched to Samsung as the supplier. While all 2080 TI&#39;s will have the same number of cores and RAM, the boost clocks and power demands will be different. All of these cards will have a base clock of 1350MHz but can boost up to different frequencies. Going from a boost clock of 1560MHz to 1665MHZ may not seem like much but keep in mind that this is a net of 105MHz across 4352 cores! That&#39;s a BIG difference, so higher clocks = higher cost. What do you really need here? Depends of course, get the highest clock for the best price you can find. If you can get an OC card within a few dollars of a base model, go for it. There are many good GPU performance reviews plus SFF builds on youtube. Considering I plan to keep this GPU for at least 6 years and don&#39;t want to mess with SLI, I felt it worth the additional investment to get the 2080 TI.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjwVYFFYjCCGZsba4zbvV_qdqFAcB9g5h1lhQvV7k3H14Q0NhzLRjoHlanQqbNrS8c1i4o61WaqHJKw6LlLYYhO5k6q_VsJ5kKNRe41qEydd95VDKeTBNcNRUNWsxRMxvIxQnSn5kVX0HO/s1600/STRIX+RTX2080TI_layer+with+color.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;603&quot; data-original-width=&quot;1035&quot; height=&quot;371&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjwVYFFYjCCGZsba4zbvV_qdqFAcB9g5h1lhQvV7k3H14Q0NhzLRjoHlanQqbNrS8c1i4o61WaqHJKw6LlLYYhO5k6q_VsJ5kKNRe41qEydd95VDKeTBNcNRUNWsxRMxvIxQnSn5kVX0HO/s640/STRIX+RTX2080TI_layer+with+color.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
For SFF builders, card length and slot demands are the most important considerations. The Cerberus can support a max GPU length of 320mm which rules out a few GPUs if you want a 3-fan design. Most of these cards also require 2.7 slots, which really means 3. This Asus card measures 304mm which is just fine for my build. You also need to consider things like case fans and radiators, if you do a vertical mount radiator in the front of the case, for example, this will detract from usable GPU length.&lt;br /&gt;
&lt;br /&gt;
A couple of build notes... This card is big and HEAVY, even with the reinforced PCIe slot on the mobo it sagged a bit, so I put a rubber stopper on the far end on top of the corner of the radiator to prop up the card to level. Probably not absolutely necessary but this bugged me so I fixed it. Experienced builders know this, but make sure to run 2 discrete power rails to your GPU, don&#39;t use a single rail with daisy-chained 8-pin connectors. Give the card the power it needs with no restrictions!&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
PSU - Corsair SF750&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://amzn.to/2WmUptA&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1135&quot; data-original-width=&quot;1500&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6OehbKhz-EeImwZzEnCB6Khi_khgEEJ0_pkV5mB-8jLNIU01jmV3M2KVzMX5C5Incz3J51A1Yfz1ydOp4YpQOQGctxV-By7ixNuIKT2fB-gdjZ8Cg6bY94CzCLzXAqfBPcef7LIXEI4i_/s320/psu.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The one singular part in your build that will most likely drive PSU size will be the GPU. For the 2080 TI the recommended output is 650W. I chose to go a step higher to add a bit of buffer at 750W. The Corsair SF line is particularly good and well &lt;a href=&quot;https://www.tomshardware.com/reviews/corsair-sf750-psu,5979.html&quot; target=&quot;_blank&quot;&gt;reviewed&lt;/a&gt; everywhere I looked. Incredibly small, incredibly powerful, clean, modular and the cables even come individually sleeved. This unit will set you back a few bucks, but it is best in class without question. Not much else to say here.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Media - Samsung NVMe + SANDisk SSD&lt;/h2&gt;
&lt;br /&gt;
The 960 Pro and EVO from my previous build still have plenty of life in them so I&#39;m reusing them here. 512GB 960 Pro for the OS, 500GB 960 EVO for apps and a 2TB SANDisk SATA III for data storage, which is new for this build. Because I&#39;m mounting my radiator to the bottom of this case, I don&#39;t have any room for a 3.5&quot; HDD. But, I can mount 2 x SSDs to the back panel of the case and 2TB is really fine for my purposes, plus I can add another later if need be. Also, 4TB parts are on the horizon so that will be an option as well. There is next to no performance difference between SSDs anymore, so pick a reputable brand, choose the size you need and you&#39;ll be good. NVMe is definitely the way to go for the OS or if you just want to install a single module. A 1TB 970 EVO Plus is less than $250 right now so very affordable for top of the line performance and large capacity. There are cheaper options as well. Look for drive endurance which will be reported as a total TB written value and warranty. For reference, in 2 years I wrote 9TB on my 960 Pro housing the OS and the drive is capable of 400TBW. Lots of life left.&lt;br /&gt;
One thing to keep in mind when using NVMe is that if you populate the secondary rear slot (on the back of the mobo), it will disable a SATA port on the motherboard. On the Phantom ITX SATA3_1 is disabled but since I need only 1 SATA port for the SSD, not a big deal.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Case - &lt;a href=&quot;http://www.sliger.com/products/cases/cerberus/&quot; target=&quot;_blank&quot;&gt;Sliger Cerberus&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtLss5xLNSR2WGxct2WkvBLPiWIxtff5Hn0BC9TJPca0fq2uAVKbNrvmjlT1CCkFY48Ksg8U7Zi8HnnFozYyqQ1LcBf-AcgjzRUj9sdi6REsvCK7ZZxuc_8mgmpVOvLapdtPnev-vQRPY9/s1600/cerb.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;627&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtLss5xLNSR2WGxct2WkvBLPiWIxtff5Hn0BC9TJPca0fq2uAVKbNrvmjlT1CCkFY48Ksg8U7Zi8HnnFozYyqQ1LcBf-AcgjzRUj9sdi6REsvCK7ZZxuc_8mgmpVOvLapdtPnev-vQRPY9/s1600/cerb.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I spent a LOT of time pouring over case options, comparing dimensions, supported mobo and GPU form factors, features and cooling. So I decided to build ITX which opened a lot of very small case options previously unavailable. The biggest downside to building SFF is cost, cases will be of higher quality materials, but since the sales volume is lower they cost a lot more. The other thing to consider is whether you really need 3.5&quot; HDDs or if you can get by with 2.5&quot; SSDs or simply NVMe M.2s. This is dictated partially by the cooling solution you choose, air cooling will net more options since you won&#39;t have a radiator consuming space.&lt;br /&gt;
&lt;br /&gt;
My top contenders were:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://www.sfflab.com/products/ncase_m1?variant=32790226825&quot; target=&quot;_blank&quot;&gt;Ncase M1&lt;/a&gt;&amp;nbsp;by SFFLab - sub 13L volume, 297mm - 317mm GPU length with vertical mount option, 240mm radiator support for liquid cooling - Starting at $195 but stock seems to be a constant problem.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;https://www.louqe.com/&quot; target=&quot;_blank&quot;&gt;Ghost S1 MkII by Louqe&lt;/a&gt; - Sub 20L volume with &quot;top hat&quot; options to increase capacity for cooling, 305mm 2-slot GPU length - Starting at&amp;nbsp;&lt;span style=&quot;background-color: white; color: #4a4a4a; font-family: &amp;quot;roboto&amp;quot; , sans-serif;&quot;&gt;€&lt;/span&gt;269 with varied stock. I decided I didn&#39;t like the top hat look plus others reported gaps on the edges. Pass.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;a href=&quot;http://www.sliger.com/products/cases/cerberus/&quot; target=&quot;_blank&quot;&gt;Cerberus by Sliger &lt;/a&gt;- sub 20L volume supporting ITX or mATX, 330mm GPU length, 280mm radiator or 148mm air coolers, plus a ton of customization options - Starting at $225.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
So I ultimately chose the Cerberus with liquid cooling and am very happy despite the $320 price tag as configured.&amp;nbsp; I chose white with a black vented top, left side window, vented panel on the right side, a top mount bracket and aluminum feet. Build quality is excellent in this completely tool-less case that sports easy pop-off panels. The order in which you install things matter in SFF but I really enjoyed building in this case.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeV849NurL_E6mq42ttVXzbbrOgf0JcqpqJghQbShx6aTTP1gpebOpABTAohhWfEE6Vlx6BZj3EY1KznZAOqxtUHmBHrx9TTw0tc9S2HU0xvGmWYicE_56zQbrPrVp1vc5O7o56ofReYqt/s1600/IMG_20190417_172353.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeV849NurL_E6mq42ttVXzbbrOgf0JcqpqJghQbShx6aTTP1gpebOpABTAohhWfEE6Vlx6BZj3EY1KznZAOqxtUHmBHrx9TTw0tc9S2HU0xvGmWYicE_56zQbrPrVp1vc5O7o56ofReYqt/s1600/IMG_20190417_172353.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Displays - Alienware AW3418DW + Dell S2716DGR&lt;/h2&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim86f_ybdemLcd5rO05C93msyenjQcRrIbBKXZV71W-AX4hhehCut5FhZzUNFT5UzAYaRBSyb-Ie-gf5hKdohXfiZpt5TduSFUD7CeyHGXbe_gS1Hv8OGLWyEWorq3_XFeERKAZJWAKlKd/s1600/aw.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;1280&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim86f_ybdemLcd5rO05C93msyenjQcRrIbBKXZV71W-AX4hhehCut5FhZzUNFT5UzAYaRBSyb-Ie-gf5hKdohXfiZpt5TduSFUD7CeyHGXbe_gS1Hv8OGLWyEWorq3_XFeERKAZJWAKlKd/s320/aw.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;If building a gaming rig, don&#39;t overlook one of the most important elements: the monitor. This is like having a high performance car and putting crappy tires on it. There is a ton of info on the web about frame rates vs resolution, so if you&#39;re intent on a 4K monitor, consider that this will likely be rendered at 60 FPS (unless a higher frequency option was released following the posting of this article). &lt;a href=&quot;https://www.youtube.com/watch?v=ehvz3iN8pp4&quot; target=&quot;_blank&quot;&gt;Linus Tech Tips&lt;/a&gt; did a good piece on this with a blind Pepsi challenge to see what gamers on his staff naturally preferred. Frame rate won the day, even at a lower resolution. This is why I bought the 120Hz (overclocked), curved 34-inch, 1440P (3440 x 1440) Alienware monitor with an IPS panel. The monitor I really wanted doesn&#39;t exist: 34-inch curved, G-Sync, 1440P @ 144Hz. 4K monitors will get there, but at the time of this build, 60 FPS was the best you could get. G-sync capable monitors will run more expensive but is a premium feature I feel worthwhile as an NVIDIA gamer. Typically this is an expensive monitor but there are deals to be had, plus Dell will price match and ship free if you buy direct. Widescreen gaming is an amazing experience and now that I&#39;ve seen the light, I can never go back. I was worried based on the marketing photos that this monitor might be too cartoony or in your face &quot;commercial gamer style&quot; in the way that only Alienware can do it. Happy to report that the monitor looks very tasteful in person and feels of high quality. There are some subtle RGB touches built in but these can be customized or disabled completely if you prefer. Facing front, these lights are completely indistinguishable.&lt;br /&gt;
My secondary monitor is also G-Sync capable, technically a 1440P (2560 x 1440) gaming monitor but at 27-inch it compliments the Alienware beautifully. An unnecessary splurge in this use case perhaps, but I like it.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqM_NzcYRKReJZQ6VyIRhaTUXmPJIyj3E1slIJftIHycR9XW-1fIkDtcX9bxPFI6IydwBCj1RyuFx1jGu63vXsEGMtR6e97Fjyzpa-xLx_Ib8r0pkperU_PlAz877gTjSOabwJLGuC7T7x/s1600/IMG_20190417_172314.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqM_NzcYRKReJZQ6VyIRhaTUXmPJIyj3E1slIJftIHycR9XW-1fIkDtcX9bxPFI6IydwBCj1RyuFx1jGu63vXsEGMtR6e97Fjyzpa-xLx_Ib8r0pkperU_PlAz877gTjSOabwJLGuC7T7x/s1600/IMG_20190417_172314.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
There are a couple of configuration steps required to get the desired frame rate:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Turn on OC on the monitor, set at 120&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;In the NVIDIA control panel make sure G-Sync is enabled&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;In the NVIDIA Control panel turn Vertical sync On (&lt;a href=&quot;https://forums.blurbusters.com/viewtopic.php?t=3073&quot; target=&quot;_blank&quot;&gt;good article &lt;/a&gt;about these settings)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;From Settings, click display, choose the target monitor, scroll to the bottom and select Advanced Display Properties, on next page choose Display adapter properties at the bottom&lt;/span&gt;&lt;/li&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Select Monitor tab and set refresh rate at 120 (see image below).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;If you fail to do this, you will NOT see 120 FPS!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;If you have multiple G-Sync monitors connected, you need to do this on ALL or flickering will occur.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;In game set the resolution, frame limit of 120 and DISABLE V-sync (if you have G-Sync enabled)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Some games, like Borderlands 2, are very sensitive to the polling rate of the mouse. If you get stuttering or frame drops while looking around, try lowering your polling rate.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;This applies to non-gaming life in Windows too, especially if you have a Steel Series mouse! Drop the poll rate to the minimum!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk9sILU1TJSZ7eflKdiPrvgcGswkmrKN51r0RFSKARmHe_C03OfX3k4qL12TZW0V-T-4nCcGFEzy_bkgA5YiTfNQmw90K2mieQZRYV63S6iBddRidgn8MzDA-HvZqfT6uWduW5u5maKyHQ/s1600/dp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;420&quot; data-original-width=&quot;406&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk9sILU1TJSZ7eflKdiPrvgcGswkmrKN51r0RFSKARmHe_C03OfX3k4qL12TZW0V-T-4nCcGFEzy_bkgA5YiTfNQmw90K2mieQZRYV63S6iBddRidgn8MzDA-HvZqfT6uWduW5u5maKyHQ/s1600/dp.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Custom Cables - CableMod&lt;/h2&gt;
&lt;br /&gt;
This step is completely optional, of course, but since I&#39;ve gone to the trouble of installing a view window with premium parts in a premium case, I want it to look pretty as well. The cables that the SF750 ships with are very nice, individually sleeved too, but black and way too long for SFF. The cable bundle was just too large and didn&#39;t look good. There are a number of custom cable makers out there, some specializing in SFF (&lt;a href=&quot;https://www.pslatecustoms.com/&quot; target=&quot;_blank&quot;&gt;PSlate Customs&lt;/a&gt;), but many get overloaded with orders and take long breaks before opening a new order window. CableMod is a subsidiary of the Chinese company TL Sourcing LTD but deliver high quality custom cables with no ordering black outs, so I went with them. I opted to do a tuxedo scheme so everything is white except for the black panel on the top of my case. I think it looks amazing. These cables are pricey and will take a few weeks to build and ship from China.&lt;br /&gt;
&lt;br /&gt;
I bought 3 custom cables sleeved in durable nylon ModMesh in the following configurations that worked out really well (the ATX cable is tailored per your particular PSU):&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;24-pin ATX, 300mm with aluminum pro combs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Bridged 8+8-pin PCIe, 250mm with aluminum pro combs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Triple SATA power, 100mm spaced between each connector&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHMq9ArPP2wooQj8OEXvRFjWJ3oSwJgclPiXo171CbOz5dMOpjSeqSFlCLI-UlHOX49103Pju4gD5ez9-Jt7dUmxQPW7VYbqjGjDUm5Wbc9hTRLYLZZsli1EaVsYOfmOZYAjjuvkqVOwEA/s1600/IMG_20190417_143228.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;734&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHMq9ArPP2wooQj8OEXvRFjWJ3oSwJgclPiXo171CbOz5dMOpjSeqSFlCLI-UlHOX49103Pju4gD5ez9-Jt7dUmxQPW7VYbqjGjDUm5Wbc9hTRLYLZZsli1EaVsYOfmOZYAjjuvkqVOwEA/s640/IMG_20190417_143228.jpg&quot; width=&quot;293&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Build Notes&lt;/h2&gt;
&lt;br /&gt;
I had a very good experience building in this case, but like all things SFF, the order in which you do things matters. My build order went like this: SSD, PSU, mobo + CPU + NVMEs (pre-installed), radiator, power rails, CPU cooling pump + power connectors, GPU, RAM, then case fans. That fan on top just barely clears the memory release clips but this is why I installed it last. This method worked well for me although the GPU has to be rotated diagonally a bit to clear the radiator tubes and anything plugged into the PSU. Connecting the power cables to the PSU last is certainly an option, but a pretty tight squeeze to get your hand in for the plugs on the bottom. You could also let the PSU dangle outside of the case and bolt it up last.&lt;br /&gt;
&lt;br /&gt;
The red DIMMs shown in the pictures below were my old TridentZ modules as I was waiting for my Corsair RGBs. As I said before, the width of the heat spreaders matters a LOT on this board as the DIMM slots are very close. The Corsairs are very skinny and slot perfectly on this board.&lt;br /&gt;
&lt;br /&gt;
If you plan to use an AIO liquid cooler with the radiator mounted at the bottom, the outer edge bolts will interfere with the case feet. I just left these off using only the center bolts which works fine, especially considering gravity&#39;s role here, I&#39;m not worried. If you use the Demci filter on the bottom it will have to run over the bolts, which works, but it&#39;s not a completely clean seal.&lt;br /&gt;
&lt;br /&gt;
Filters are optional and sold separately, of course, but you should note that this case in stock form has zero air filtration. Unless you&#39;re good with regularly blowing dust out of your case, $65 extra for pre-cut fitted Cerberus-specific filters is a sound investment, albeit expensive. There are a few non-magnetic panels on this case so you have to use the included sticky magnet brackets to give the filters something to attach to. It works fine.&lt;br /&gt;
&lt;br /&gt;
The power cables shown below were also temporary while I waited for my custom CableMod order.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8mhbCM9YtBZraiDjCQOf49UpOtO6mIZpJPE-7swKyYqYHdqTZIDlqOW6b4-JMsDADRBLzpf7gdHrB4txkp3FaD4fultullezsDTHQvPeqvxfhM009nOx8ohJ8VTdzhipKDPK_F1ssRI4x/s1600/IMG_20190331_145650.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8mhbCM9YtBZraiDjCQOf49UpOtO6mIZpJPE-7swKyYqYHdqTZIDlqOW6b4-JMsDADRBLzpf7gdHrB4txkp3FaD4fultullezsDTHQvPeqvxfhM009nOx8ohJ8VTdzhipKDPK_F1ssRI4x/s640/IMG_20190331_145650.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyeYcFOUEvpwNiCLX6aN-JwAUk597ATEfzE3LGRIPlVOBtt2qOlp0KfDOuoRSHrtWCY4roKX4VXP2zGvwbOOZcF-5XusukYVWuL05cPZxW7brOxrcFjAFOMMUvwHSFDHDSjf5p6Lca2EuU/s1600/IMG_20190331_152823.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyeYcFOUEvpwNiCLX6aN-JwAUk597ATEfzE3LGRIPlVOBtt2qOlp0KfDOuoRSHrtWCY4roKX4VXP2zGvwbOOZcF-5XusukYVWuL05cPZxW7brOxrcFjAFOMMUvwHSFDHDSjf5p6Lca2EuU/s640/IMG_20190331_152823.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJzNRE6zBmb16RGMu4l8G9OiGjQEGPAE8_nr4xNsozpgeTeBZTaoQ6iihU9gJ-fefpcyNlAREdhIgyCsWGdZKlV8aaNy7ELQr5YUQTy7ZWyBGySVeFOn_zIyXNmIx4rGDaO-Nw-XQgqeNj/s1600/IMG_20190331_163824.jpg&quot; imageanchor=&quot;1&quot; style=&quot;display: inline !important; margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;290&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJzNRE6zBmb16RGMu4l8G9OiGjQEGPAE8_nr4xNsozpgeTeBZTaoQ6iihU9gJ-fefpcyNlAREdhIgyCsWGdZKlV8aaNy7ELQr5YUQTy7ZWyBGySVeFOn_zIyXNmIx4rGDaO-Nw-XQgqeNj/s640/IMG_20190331_163824.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv77f_NvAV0uoPMBkXuwCBQOwQ6ORsIyiaUXsN9OOoiDwac3PdjDgynHT_UgrBGlF9z2Jpyn9koLxoNArAP9OyifRsbpmbKjd1PjTuf0TWqNmgI5SE8waAq6sg7L5BLVi9oJ8HQ0mL53SW/s1600/IMG_20190331_175157.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv77f_NvAV0uoPMBkXuwCBQOwQ6ORsIyiaUXsN9OOoiDwac3PdjDgynHT_UgrBGlF9z2Jpyn9koLxoNArAP9OyifRsbpmbKjd1PjTuf0TWqNmgI5SE8waAq6sg7L5BLVi9oJ8HQ0mL53SW/s640/IMG_20190331_175157.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwCu_urcDVxjphEdBz5pD_CwD4gyNb0Z5gtY01J8g6Ibpnu1Ckq0K9Je5-v6rHpxxjMmlvnejuL9Gs7wD6RrtRl06YLpJB6zudngoCdyaqd2Gg_769O1jjdZ6FSSb-VnONo6IW2JEXa_YE/s1600/IMG_20190331_180741.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwCu_urcDVxjphEdBz5pD_CwD4gyNb0Z5gtY01J8g6Ibpnu1Ckq0K9Je5-v6rHpxxjMmlvnejuL9Gs7wD6RrtRl06YLpJB6zudngoCdyaqd2Gg_769O1jjdZ6FSSb-VnONo6IW2JEXa_YE/s640/IMG_20190331_180741.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiMabTWizhvCNAqKyhOCHDzPQz9XHv8tZC8O-90_8RgMNF8buztIj1f-a8s67MrzDbFZfC4ji5BqBOXGRptVTfSU44zH2DU-E0rXdtiR45maW_Tq2FNibTdryi7GTHXCbdgIB5hd5uoumh/s1600/IMG_20190331_183307.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiMabTWizhvCNAqKyhOCHDzPQz9XHv8tZC8O-90_8RgMNF8buztIj1f-a8s67MrzDbFZfC4ji5BqBOXGRptVTfSU44zH2DU-E0rXdtiR45maW_Tq2FNibTdryi7GTHXCbdgIB5hd5uoumh/s640/IMG_20190331_183307.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPp6uxljPcN5B9N_f4yNPAFxZaDkW-FwltGBVhxqoQ6BuAIrADXySFuDlWC2XLtcgBRv7nofhyzaYJG-NJNR7yg7bG47LdLX0lHl4iT-kriWZLg88lOmZlTuqoxIYxQmNfXG-tBPwfztyw/s1600/IMG_20190331_194837.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPp6uxljPcN5B9N_f4yNPAFxZaDkW-FwltGBVhxqoQ6BuAIrADXySFuDlWC2XLtcgBRv7nofhyzaYJG-NJNR7yg7bG47LdLX0lHl4iT-kriWZLg88lOmZlTuqoxIYxQmNfXG-tBPwfztyw/s640/IMG_20190331_194837.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr-3XeqfVOXaA472kExQjhwDbptwEbkxJs9w1Jw3h12eaiFNMRwAEF52ii0Jxsau2CWSRkHK9uDCBp3aVUyn0AsDQz7L6As1-_yltoozNRsickeyFQzESC8ypcaUrwpiFrHW9B7dgU5WZi/s1600/IMG_20190331_220224.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;734&quot; data-original-width=&quot;1600&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr-3XeqfVOXaA472kExQjhwDbptwEbkxJs9w1Jw3h12eaiFNMRwAEF52ii0Jxsau2CWSRkHK9uDCBp3aVUyn0AsDQz7L6As1-_yltoozNRsickeyFQzESC8ypcaUrwpiFrHW9B7dgU5WZi/s640/IMG_20190331_220224.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
Benchmarks&lt;/h2&gt;
Passmark9 shows some improvements in CPU and GPU as expected but still some strange comparisons when looking at global results. Why did the 9900K in this baseline score so low? Also curious that identically spec&#39;d 32GB memory modules performed better. Take these for what they&#39;re worth.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQqdiM_muM_RZ317dQQ5tuVVKwI2macmI7A1QBhHcgKZlvG6EBJsscJVfGi4ISV2WwGqqKS_HM2aByKZQy9ubRLQPeaRm_y0cmxBH-PU51qJV3pX5SwA2reFHYCMe38GZJwr_36RYzV7N/s1600/cpumark.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;593&quot; data-original-width=&quot;786&quot; height=&quot;482&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFQqdiM_muM_RZ317dQQ5tuVVKwI2macmI7A1QBhHcgKZlvG6EBJsscJVfGi4ISV2WwGqqKS_HM2aByKZQy9ubRLQPeaRm_y0cmxBH-PU51qJV3pX5SwA2reFHYCMe38GZJwr_36RYzV7N/s640/cpumark.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis699rDxur6SO9xht7zIhC7QTKOAx3grKES0LQ0EAMCM1e9QgThW8u09QEWbDrIoq4IldyR68IiJK44ctR9yYnmE0CzViTkCJVqEpl-R1hjVof6i_bfzei8nDo20r49yP-GhsT79JYi6vC/s1600/gpumark.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;593&quot; data-original-width=&quot;786&quot; height=&quot;482&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis699rDxur6SO9xht7zIhC7QTKOAx3grKES0LQ0EAMCM1e9QgThW8u09QEWbDrIoq4IldyR68IiJK44ctR9yYnmE0CzViTkCJVqEpl-R1hjVof6i_bfzei8nDo20r49yP-GhsT79JYi6vC/s640/gpumark.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKofOe7tWHRh9h-ilsl4MOLjC9nD-nPBDD02FH6Z_TuNWhnfCd0diHiH5bQysUzWyQugjhwOzt6Tg6KMqloGU-FfU1yuU2iZhsvZiZqb1EWjoJFZyc_lggnH_EG42gpT-1szF_81RI7zWZ/s1600/memmark.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;593&quot; data-original-width=&quot;786&quot; height=&quot;482&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKofOe7tWHRh9h-ilsl4MOLjC9nD-nPBDD02FH6Z_TuNWhnfCd0diHiH5bQysUzWyQugjhwOzt6Tg6KMqloGU-FfU1yuU2iZhsvZiZqb1EWjoJFZyc_lggnH_EG42gpT-1szF_81RI7zWZ/s640/memmark.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Cinebench R20 definitely pushed the CPU harder by indication of peak CPU temps under load, but this is clearly a bench generally favoring high core counts as indicated by the top 3 scoring parts.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3p3ikImAwJN8j0smaA90bUBEiSP2jyS_gcIWkgC9wyJNFFqQ6rRR9sWVgovlPo3zpSQzl-eavHuXdDJ8x4-9Q0TJ1c7n1D_cA11LdbtWW_kXDsCLsJ7MbxP7KzbI1xghANyctEH4jX1Td/s1600/cine.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;583&quot; data-original-width=&quot;495&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3p3ikImAwJN8j0smaA90bUBEiSP2jyS_gcIWkgC9wyJNFFqQ6rRR9sWVgovlPo3zpSQzl-eavHuXdDJ8x4-9Q0TJ1c7n1D_cA11LdbtWW_kXDsCLsJ7MbxP7KzbI1xghANyctEH4jX1Td/s640/cine.png&quot; width=&quot;540&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;
Final Thoughts&lt;/h2&gt;
I&#39;ve very happy with this powerful and nearly silently build that serves across a wide range of use cases. If you plan to use RGB-capable parts, consider how many different brands you are putting into your build. Each brand has it&#39;s own software load, so ideally you want to run as few of these as possible. I tried to keep everything Corsair, except for the GPU of course, which I ended up disabling RGB entirely via the on-board toggle.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Gaming performance is excellent as is web and office work. The 2080 Ti is more than capable of running current titles at ultra settings stable at 120 FPS linked lock-step to my G-Sync Alienware monitor. This is the biggest upgrade from my last build, no doubt. CPU and RAM really didn&#39;t make too big of a difference and my NVMe performance is the same as before: awesome. What has changed a bit are the thermals in this new build with the CPU running very cool nearly at all times.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Idle temps are very good with the CPU clocking a chilly 34C, as expected, thanks to liquid cooling. The mobo runs a bit hotter at all times:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNRSz14i43Ra946ocN7na6vCnT1fJFvF5uQCQq-3c3DFgRAalmGyqQYWMWX3QtvxWAXDUfHKQ1-2fcGrpyPJqHxvvmL9zo50NE7u9Bk7W1ZNxnMAIBQDaYvsgAuPaUTg6hQ6Id7s_BPPPB/s1600/idle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;793&quot; data-original-width=&quot;636&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNRSz14i43Ra946ocN7na6vCnT1fJFvF5uQCQq-3c3DFgRAalmGyqQYWMWX3QtvxWAXDUfHKQ1-2fcGrpyPJqHxvvmL9zo50NE7u9Bk7W1ZNxnMAIBQDaYvsgAuPaUTg6hQ6Id7s_BPPPB/s1600/idle.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Under load things get a bit warmer but more so on the mobo itself. The GPU definitely generates heat but low 70&#39;s C is the highest I&#39;ve seen it go and this will vary based on the title in play.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7S6HE5jvpEQs7vpTUJOBRmAHf333CWfE708zbXw7H2eTt7FwyzqDddUGfoR4JfkUepzgtuffbf0od2IQ9rsEwqdt2SiS7NCqQaq_3m4IXAdspHeN_rtYGujQRiWwHaCTBFWUw5odRj8yQ/s1600/load.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;793&quot; data-original-width=&quot;636&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7S6HE5jvpEQs7vpTUJOBRmAHf333CWfE708zbXw7H2eTt7FwyzqDddUGfoR4JfkUepzgtuffbf0od2IQ9rsEwqdt2SiS7NCqQaq_3m4IXAdspHeN_rtYGujQRiWwHaCTBFWUw5odRj8yQ/s1600/load.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;clear: both; text-align: left;&quot;&gt;
Costs&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;i7-9700K - $410&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Asrock Phantom ITX - $180&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Corsair RAM - $260&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Corsair AIO cooler - $170&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Cerberus case - $320&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Alienware monitor - $800&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Asus 2080 Ti - $1280&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Corsair PSU - $195&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;2TB SSD - $250&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Demci Filters - $65&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;CableMod cables - $170&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Case fans - $45&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Total - $4,145&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2019/07/new-pc-build-for-2019.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmTwF1o2jvEYcou47LR9Tw6sXE-RRqXR9TVFsQgyLXA8TWTuIadLlKyXWRPYp4W1sxj0G61V9Pp90ou56Q9oJzEokmQLKVub2mly_BGKV7b4J7BYy-WbKyYMpjetoqkFPgA1pEufeygZrM/s72-c/IMG_20190406_133627.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-7896782958563583097</guid><pubDate>Tue, 05 Feb 2019 06:09:00 +0000</pubDate><atom:updated>2019-07-31T23:15:17.117-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Storage Spaces</category><category domain="http://www.blogger.com/atom/ns#">Windows10</category><title>Failed Storage Spaces Disk Recovery</title><description>This wasn&#39;t a fun one to write considering the circumstances. Data protection tech is great when everything is set up fresh and working properly. Everything is just fine, until it isn&#39;t and Storage Spaces failed me here. This post applies to the Windows 10 variation specifically which shares some of the same general principles with larger enterprise deployments in Server 2016/ 2019.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
So, what happened?&lt;/h3&gt;
My setup:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Asus Mobo, Intel Core i7-4790K, 32GB RAM&lt;/li&gt;
&lt;li&gt;Windows 10 Enterprise, 1809&lt;/li&gt;
&lt;li&gt;120GB SSD (Boot)&lt;/li&gt;
&lt;li&gt;3 x WD Red 3TB HDDs&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;1 storage pool: 8TB&lt;/li&gt;
&lt;li&gt;2 x mirrored vDisks&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;D:\ (Docs) - 2TB&lt;/li&gt;
&lt;li&gt;M:\ (Media) - 2TB&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
The 3 x 3TB WD Red HDDs in my HTPC are going on 5 years old and were running fine, literally until I placed the order for new drives to replace proactively. Murphy. On the day I receive the drives, I see resiliency warnings in Spaces on one HDD and both vDisks. I also see in the System logs: &quot;The device, \Device\Harddisk2\DR2, has a bad block.&quot; Fun. Below is the what Spaces told me which seems to lead to a pretty obvious next step right? Remove the drive labeled &quot;Old2&quot; from the pool then replace it. Right? WRONG.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioYQpg_IvicTVKBleYZVwVF0iXCWMhKTmuKqp499v5bMIjNFFC2S1FDheNepzeSeWqgWF9TjvrFc7__-OhMzJQpud1hPqH1ENo6_kqCkBr3pwVESyUwsnnVY6mnYheoXju1iwNiA1j6crb/w689-h860-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The other bit of good news I uncovered was that Windows no longer recognized my Media volume, which instead of reporting ReFS was marked RAW. At this point my M drive was basically dead and I was unable to browse in File Explorer.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjseUlwlDQL_OcR2bKCT_Gn4nm3ko990CKfJfsh9FCJFc2NGoZnFenO-hhUkBpSarLvzNFeZh3lJ5H_QIj3L6Dd0e5qlmnir3UEfTlozMcXsB3lxIcdEcf8YU-_Ww1DWIOYUtsOhRfHg92/w335-h231-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Here&#39;s where things go from bad to worse and in hindsight I can confidently say, &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;DO NOT TRUST THE SPACES UI!&lt;/span&gt;&lt;/b&gt;&amp;nbsp;At this stage I&#39;m still hopeful that the repair process will remedy this. I click remove on the Old2 HDD which according to the UI, the process failed.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiciKpF-xisrXiFPNVl6wjaJ_eoUOkUVSsYijg0ZHEBOrjfbSoOzedQ7W7E3H9H7tybnqQGgYARPX9e_HE4VfVxByZLUxbSq_OGpuoL-wfdbwEuJSYZYaita9p0rwl79TRrT8F7CGp771s8/w600-h588-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
What I didn&#39;t know yet what that this drive marked as warning by the UI was not actually the drive having problems. Even better, this drive that supposedly &quot;failed&quot; to be removed from the pool was actually marked as retired which triggered repair and regeneration jobs for each vDisk. The UI later caught up and flagged Old2 as &quot;preparing for removal. So, I dutifully complied, shut the box down and added a fresh WD Red HDD. Below is the Spaces UI before I added the new drive. Something to note here, if you interrupt these repair jobs via reboots, they will start over at 0%.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib4eZzBEK326mRpyiGhxCXbBMyltdMBdfp4_vE-d3Mp3HbrnK5KHlrRPMrs84ZE15ZzLVutwFmx-4i7hv3Mt4A0YeI7m2Qz2b4ZJyZzWvn1mh2csMPNR6fQmTpoZY1qBb0SGkp3LwHpNaB/w668-h850-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
What I also didn&#39;t fully realize at this point was how Spaces actually behaves when you elect to voluntarily remove a drive from a pool. To see what&#39;s really going on, you have to use PowerShell, which is what I should have done from the start and ignored the UI entirely. The command Get-StorageJob will give you insight into the repair process. As you can see below I now have 4 jobs running, 2 per vDisk.&lt;br /&gt;
What is essentially happening here is that the disk I elected to remove from the pool is being indexed of all files and slowly drained from the pool as the files it hosts are being regenerated somewhere else in the pool from the 2nd copy in the mirror. Because I have 3 disks in my pool, no single disk has a complete copy of all files in a mirror set for a particular vDisk. This disk I&#39;m removing has 633GB of data from the Media vDisk and 197GB of data from the Docs vDisk. There also appears to be no way to stop or cancel this job once it has begun.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxqU6rMtiEehVGvm3n4MXr1rdIwVJLyz0hPRxD2XF6XSkS1RsuKijFqJ38907B97DKgK8Tzn6P18fxSD1T5E24yK29tDh078yNy9zfCXp3CgZ8Ms2gpc0oc_5G3f68TtRQ8ZxtEDBqbjIW/w694-h124-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Now we wait.&lt;br /&gt;
&lt;br /&gt;
My WD Reds are 5400RPM SATA drives, so the slowest of the slow. With 197GB marked for recovery on my first vDisk, my repair operation averaged 2GB processed per hour. Molasses. The net here is that for Spaces to recover 197GB on a 2TB mirror space took ~&lt;b&gt;43 hours&lt;/b&gt;. Ugh. Patience is very important as this is not a speedy process. The 633GB for the Media vDisk took even longer. What complicated the recovery process was that I was removing a perfectly good drive from the pool, because the UI, leaving the problem drive having to work with bad blocks to recover data. How long would this have taken if the bad drive was removed instead of a perfectly good one? No idea.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://crystalmark.info/en/software/crystaldiskinfo/&quot; target=&quot;_blank&quot;&gt;CrystalDiskInfo &lt;/a&gt;was useful here to shed some light on which drive was actually bad and why by reporting SMART data. There are a few interesting things happening in the image below that I want to call your attention to.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;First, the Spaces UI would periodically change from a Blue information banner to the red Error banner you see below flagging my M vDisk as having no resiliency. This error would clear on its own after a few minutes. Checking in PowerShell shows everything as &quot;OK&quot; but the disk Crystal flagged as bad has high read errors and pending sector counts. So far this jives with was is being reported in the System event log.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Windows originally flagged a warning on the HDD listed on the bottom &quot;Old2&quot;. There is no clear indication why although I have a suspicion a bit further down. Checking in Crystal, Old2 reads as good, echoed by PowerShell. Notice that Old2 is marked at &quot;Retired&quot; in PowerShell. The drive that actually has a problem, Old1, shows OK in the Spaces UI + PowerShell, but reporting bad blocks in the event log. Why doesn&#39;t Spaces see this drive has a problem?!&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The other interesting thing here is that although my new HDD, serial ending 68E3, is contributing capacity to the pool, you&#39;ll notice that no data is actually being stored on it according to the UI. This is after 8 days of data recovery!! I would have thought Spaces would make use of all storage resources in the pool when performing a repair/ regeneration activity. Apparently not! Guessing the process rebuilds using existing media then I&#39;ll have to manually run an &quot;optimize drive usage&quot; job to re-balance the pool when the repair is complete. Geez, wtf.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;As the HDD Old2 was very slowly being prepared to be removed, the % used as reported continuously dropped as the bytes were processed.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLBruDmFaghksfWTZMRY8nhStEeGMdRHaQwK4TkrR-QEXb2kdZdyMpbVkFts_bNR1PtTAW_MnuVClerIS9tm55SIWoAKo16QKDKUNnP6lZoja18r6gnIbNyl7YeoF0sdMHPE3v6142qlgO/s1600/spaces2b.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;777&quot; data-original-width=&quot;1178&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLBruDmFaghksfWTZMRY8nhStEeGMdRHaQwK4TkrR-QEXb2kdZdyMpbVkFts_bNR1PtTAW_MnuVClerIS9tm55SIWoAKo16QKDKUNnP6lZoja18r6gnIbNyl7YeoF0sdMHPE3v6142qlgO/s1600/spaces2b.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
While I waited and since there is no way to stop the jobs running, I dug more into the physical infrastructure of the pool. Get-PhysicalDisk will show the specifics of all physical media in the system, including the device ID. If you recall back to my System log entry, disk 2 was reporting a bad block which coincides with what Crystal is saying.&lt;br /&gt;
Piping Get-PhysicalDisk to Get-VirtualDisk will also show some useful information as you can see what exactly each disk is doing in regards to each vDisk. I did this below for each disk respectively and you can see that the Media vDisk is flagged as Degraded on Old1. Because no single disk, has a full copy of any mirror data set, disks Old2 and Old3 are flagged as no redundancy, as at this point there is none. This output also gives a potential clue to as to why Old2 was flagged by Spaces to begin with. Why does Old2 not contribute to the Docs vDisk? Could this be the cause of the original warning? Highly suspect that this was happening at the same time Old1 is reporting a bad block in the event log.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiFoeqShil0ldLxHRH2G3Fi5TTmenDXZN5kqjkBWg7QW8hyphenhyphenbQKGvm7q1MvAl5WPjfiOUmqjz4ouMwqZ_p_FsW7X_uxwUzzfkaV9qF-Js1QJzCCiytshgYT8-mykyBUAnkufADQ6fi6Hx4V/w839-h641-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately the majority of Spaces-related event logs are near useless and there doesn&#39;t appear to be a way to enable verbose logging for troubleshooting purposes. Four separate Spaces-related event logs filled with useful detail like this:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRG8qws34vvas9v2-Wponw3bZB14IcgcMf-CxDYxVC_dOrqRbUDEp1tq6bu5qDsbDEtaeqwJxYQqBD-RMMBlEcmIJeedLPwkDaYrJ_xF9F_qOCH4VtteIBoARX7BX5S6ScJQwcMH0NNErR/w837-h328-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
So how did it all end? In failure. Now to be fair the Docs vDisk was recovered successfully but I never lost the file system on this volume either. I was so excited, after 14+ long days I got so close to the end. .03% to be drained from Old2 but it never finished. It got into this weird loop of small 256MB and 512MB repair jobs that just didn&#39;t seem to complete, over and over. I even let it sit for a full 24 hours just to see if it would work itself out. Nope. So here I am, a Spaces recovery job that won&#39;t finish and a RAW volume that I can&#39;t browse.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6aEviTV6KTni4i9P006hWJKM3cAengW22VuXSWn4IaChGC30EDf97HgzQVDaXLrbz0tk6XA3GK2z6MFtZ6f6MKyp27Va9bHb1uY6yOFFH-GQKfsRbi0SIIl85nSjAeKLsNiJLFj4WeYfg/w1298-h935-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Great, what now?&lt;/h3&gt;
Luckily I have a good backup, so as much as I hate that its come to this, I&#39;ll be rebuilding and restoring from backup. If you aren&#39;t as fortunate, don&#39;t fret, you have options. I looked at a few different tools that are capable of restoring from ReFS RAW disasters. The way these tools work is that they offer a free demo build that will allow you to scan your disks to identify what exactly can be recovered. If you actually want to restore real files then you have to pay.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.reclaime.com/&quot; target=&quot;_blank&quot;&gt;ReclaiMe File Recovery&lt;/a&gt;&amp;nbsp;is a tool that specifically calls out support for ReFS as well as NAS systems. There is another variant I found on Google specifically for Storage Spaces data recovery but the logos while similar are different, the docs are old and aside from a link to ReclaiMe on the page, I&#39;m not completely sure it&#39;s the same company. File Recovery should be all you need here anyway as you are recovering whatever you can from bare drives. If you get to the point where you just need to save SOMETHING, for $79 ReclaiMe might be able to help.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.easeus.com/datarecoverywizard/free-data-recovery-software.htm&quot; target=&quot;_blank&quot;&gt;EaseUS Data Recovery&amp;nbsp;&lt;/a&gt;is another option and a name you might have seen before. They boast ReFS support as well as RAW partition recovery. $70 gets you an unlimited data recovery license for a single PC.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.r-studio.com/&quot; target=&quot;_blank&quot;&gt;R-Studio&lt;/a&gt; I had never heard of before but they offer a really impressive list of capabilities and supported file/operating systems. If you search there are some people in the forums reporting using this tool and having successful recoveries. $60 gets you a R-Studio NTFS license which also supports ReFS.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
If your drive has bad blocks you may have data loss. If you&#39;re recovering from a 2-way mirror in Storage Spaces, one of your drives from the pool should have the files you hope to recover.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Lessons Learned&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;First and foremost, I no longer trust ReFS. Search Google for &quot;ReFS RAW&quot; and look at how many people have experienced lost file systems turning RAW on their ReFS volumes. Completely unacceptable. If you value your data, stick to NTFS.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The Storage Spaces UI in Windows 10 is super buggy at best and completely useless at worst. Check in PowerShell and a third-party SMART tool like Crystal to see what&#39;s really going on before taking any action. Don&#39;t believe the UI if it flags a particular drive as having problems!&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Always, always, ALWAYS add a new disk to you Spaces pool first, then re-balance before you elect to remove anything! Would that have saved me here? Considering that I got screwed by ReFS leaving my Media vDisk in a Raw state, I doubt it.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Initially, this experience had me rethinking my 3-disk mirror setup. At the end of the day what I have is 1 column with 2 data copies spread across 3 disks. I&#39;ve proven &lt;a href=&quot;https://www.exitthefastlane.com/2014/09/fun-with-storage-spaces-in-windows.html&quot; target=&quot;_blank&quot;&gt;previously &lt;/a&gt;that performance doesn&#39;t change unless you&#39;re running 2 columns, which requires 4 disks minimum, so that 3rd disk really only contributes storage here. I can still only tolerate a single disk failure but what I&#39;ve done is spread my failure domain to a slightly larger surface. None of my 3 drives should ever have a full mirror replica of any vDisk volume. So in the event of a failure, what should happen is that I have less data to rebuild once the failed drive is replaced, thus speeding my recovery time. I&#39;ll stick with my 3-disk pool for now but will rebuild using NTFS. If I get burned again...&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;RAID and software-defined data protection are not means to replace backups! You still need to backup your data or roll the dice with the recovery tools should a disaster strike.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2019/02/failed-storage-spaces-disk-recovery.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioYQpg_IvicTVKBleYZVwVF0iXCWMhKTmuKqp499v5bMIjNFFC2S1FDheNepzeSeWqgWF9TjvrFc7__-OhMzJQpud1hPqH1ENo6_kqCkBr3pwVESyUwsnnVY6mnYheoXju1iwNiA1j6crb/s72-w689-h860-c-no/" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-1783588514205628255</guid><pubDate>Thu, 24 Jan 2019 03:08:00 +0000</pubDate><atom:updated>2019-01-28T20:46:08.308-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Woodworking</category><title>Jobsite Table Saw Router Extension</title><description>The same basic principles outlined here can be applied to a cabinet saw as well, but this post focuses on the portable jobsite variety. That tenet, portability, is largely why a table saw router insert makes so much sense here. I really don’t want to take up even more precious space with a dedicated router table, plus this way I can easily move and deploy two important tool stations with one action. Ah, the life of the driveway wood worker!&lt;br /&gt;
My table saw and router are both Bosch models which happen to be best-in-class contenders for these particular tools. Just about everything else in my tool chest is Dewalt but these Bosch models were very deliberate purchases based on overwhelmingly positive community feedback. I can personally attest, the hype is real.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Core Components&lt;/span&gt;&lt;/h3&gt;
The jobsite saw I’ll be modifying here is the Bosch 4100-10 (10” Gravity-Rise Worksite Table Saw). My plan is to remove the right side extension table and replace with a custom router insert: &lt;a href=&quot;https://amzn.to/2VBpbuC&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.amazon.com/gp/product/B07BZVKF8M/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B07BZVKF8M&amp;amp;linkCode=as2&amp;amp;tag=etfl-20&amp;amp;linkId=0b243322a11ea0114495f609ef72437c&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;MarketPlace=US&amp;amp;ASIN=B07BZVKF8M&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;tag=etfl-20&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;//ir-na.amazon-adsystem.com/e/ir?t=etfl-20&amp;amp;l=am2&amp;amp;o=1&amp;amp;a=B07BZVKF8M&quot; style=&quot;border: currentcolor; margin: 0px;&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The only non-standard feature I added to this saw initially is the Bosch Outfeed Support Assembly which doesn’t interfere at all with my router extension insert. There is also a left side outfeed assembly which I may add at some point later: &lt;a href=&quot;https://amzn.to/2LTqsJh&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;. My general feedback on the outfeed quality and functionality is very good, although you waste a bit of the shipped components since Bosch packs parts for two different saws: &lt;a href=&quot;https://amzn.to/2sf8DLL&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.amazon.com/gp/product/B0105D9LRY/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B0105D9LRY&amp;amp;linkCode=as2&amp;amp;tag=etfl-20&amp;amp;linkId=b9829011ea6897f25f9c19baace156dc&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;MarketPlace=US&amp;amp;ASIN=B0105D9LRY&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;tag=etfl-20&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;//ir-na.amazon-adsystem.com/e/ir?t=etfl-20&amp;amp;l=am2&amp;amp;o=1&amp;amp;a=B0105D9LRY&quot; style=&quot;border: currentcolor; margin: 0px;&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
My router is the Bosch 1617EVS which is a variable speed model generating 2.25 HP @ 12 amps. I purchased as a kit that includes both a plunge and a fixed base, along with collets for both 1/4” and 1/2” bits. The fixed base is what I used to attach the router to the insert: &lt;a href=&quot;https://amzn.to/2RCfay8&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.amazon.com/gp/product/B00005RHPD/ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B00005RHPD&amp;amp;linkCode=as2&amp;amp;tag=etfl-20&amp;amp;linkId=85c081a185e52d5e4cc6980686eb3d88&quot; target=&quot;_blank&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;MarketPlace=US&amp;amp;ASIN=B00005RHPD&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL160_&amp;amp;tag=etfl-20&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;//ir-na.amazon-adsystem.com/e/ir?t=etfl-20&amp;amp;l=am2&amp;amp;o=1&amp;amp;a=B00005RHPD&quot; style=&quot;border: currentcolor; margin: 0px;&quot; width=&quot;1&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Here is the end result, want to see how I built it? Keep reading:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1LW6uP8Mj9DUrvtr8GruIXCr0SGnkq00k9GGihhul79NSJc49-EAg65D3gbwqisEd8NIDJgnwmsiaC31_ubPiab6Vrm-0PuTppdMkh5WspRZOUrPlqnOEsp5E82rRpy1O-4i0Qk_IzF-t/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Parts List&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;3/4” MDF half sheet: &lt;a href=&quot;https://www.lowes.com/pd/MDF-Actual-0-75-in-x-49-in-x-8-083-ft/1000075253&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rockler Pro Plate (Model A): &lt;a href=&quot;https://www.rockler.com/rockler-aluminum-pro-router-plates&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Amana 5/8” straight cut bit: &lt;a href=&quot;https://amzn.to/2Rzfiic&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PowerTec T-Track (2 x 24”): &lt;a href=&quot;https://amzn.to/2SFNN3K&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PowerTec 5/16&quot; T-Bolt kit: &lt;a href=&quot;https://amzn.to/2RGE6oA&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4 x 5/16&quot; zinc carriage bolts + washers&lt;/li&gt;
&lt;li&gt;2 x 5/16&quot; 3-prong T nuts (for plate)&lt;/li&gt;
&lt;li&gt;12 x stainless flat head screws&lt;/li&gt;
&lt;li&gt;1 x 1/8&quot; x 2&quot; steel bar&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Minwax fast-drying oil-based poly: &lt;a href=&quot;https://amzn.to/2VXJZNm&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Minwax Past Wax: &lt;a href=&quot;https://amzn.to/2VV8eeV&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3M Rugged Comfort Quick Latch Respirator 6503QL: &lt;a href=&quot;https://amzn.to/2Wb33aK&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3M 2097 P100 Particulate Filter Pair: &lt;a href=&quot;https://amzn.to/2AVSKhP&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Titebond III wood glue: &lt;a href=&quot;https://amzn.to/2RHL4dq&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dasco Pro Cold Chisel kit: &lt;a href=&quot;https://amzn.to/2MmpiGu&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;
Cuts and Prep&lt;/h3&gt;
Why MDF you may be asking? A couple of reasons, first it&#39;s relatively cheap, it&#39;s super easy to work with having no grain pattern as it can be cut in any direction, it glues up strong very nicely without need for fasteners and lastly it&#39;s dead flat which is important for this particular use case. The image below shows the 5 parts for the fence which will attach to the stock Bosch table fence directly. Plus the triangular supports and the support plate to round out the cut list. The general idea here was to create an insert that sits between the table slide rails and a fence slightly larger than the width of the table. This is 100% custom and can be applied to any other similar jobsite saw.&lt;br /&gt;
&lt;br /&gt;
One quick note on working with MDF. Unless you have a stellar air filtration system you really need to wear a respirator. The MDF fiber particles are &lt;u&gt;extremely&lt;/u&gt; fine, much like powder and will get everywhere, especially into your nose and lungs. I linked the 3M gear I use above which works incredibly well for me on all woodworking projects.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyFhB7HT6-uXQbh9K8DPfiSUlhXoT5zbrprich66UeHobhJfkVWZMhw4rGZTW3JA5mx_7pI4OJEffB6O3tUnQCDPIh9YWVeCYryjGvns7nS5zcwMqLmihCUnPytzraO7_Mdh72iUVs3gvM/w960-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cut image for the router plate got corrupted so sorry that&#39;s missing, but you&#39;ll be able to see in later photos what I did there. The length of the piece is from table rail to rail and I made it wide enough to house the plate, a handle cutout and a T-track rail.I used 6 support pieces on the underside which I&#39;ll show a bit later.&lt;br /&gt;
&lt;h3&gt;
Router Plate Insert&lt;/h3&gt;
I chose the Rockler Pro Plate as its aluminum which is a strength upgrade from many of the molded phenolic you will find for sale. I read several anecdotal accounts that these molded plates will sag and warp over time due to the weight of the router. No thanks, do it right with a metal plate!&lt;br /&gt;
&lt;br /&gt;
Once the basic shape of the insert is cut, I created a simple template to cut the indention for the Pro Plate. Find the location on the board you want to the plate to sit, then surround with identical height scrap, hold down with double-sided tape. You want these pieces tight as possible to the edges of the plate. In hindsight using MDF around all 4 edges would have been better but what I did worked out ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDD_EdIJdF7wXg8Eqe1DKibY-qcWgdSQx19uaO7didypQ6w7eC_k72PWuRGYZRaietI93-C8F55Ids21ebFtJ9F3xzQa9J6rimYXiQxHvPxS5p-g0Sg14PFM-ZsDgYrsPIX9pid-Z7Hg6l/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Remove the plate and insert a center square piece which will be used by the router to rest on as it completes its task. Some people leave only a very tiny lip around the edge when doing these. A bigger lip equals more strength but also you really only need enough clearance for the router and base itself. I&#39;ll explain further just ahead. Set your plunge router at the exact depth of with width of your plate and route out the lip. Once the lip has been created, remove the center square and cut out the center piece of the board with a jig saw.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd7dxXdEaTSq0TxLAUcHQoV9Wxxyfq2fn7t7ywmspkjcKfF09jRik8lRnMs6-REEic9-bLtWHP3EXSQli_carqKpfN-CI6l5ImkYFZ82J5W-QzNgocPaEJR0424N-4t2zHTcDouP385EJR/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the front T-track slot I used the plunge base with the Bosch&lt;a href=&quot;https://amzn.to/2Mm1iTF&quot; target=&quot;_blank&quot;&gt; Deluxe Router Guide&lt;/a&gt;. I HIGHLY recommend this part as a worthy addition to the tool box. The edge the guide glides on needs to be straight and true, if it isn&#39;t, your cuts will be mirrored imperfections. For this step, I marked the depth I needed for my rails on the side of the work piece, then plunged the bit real-time to the proper depth.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRZnwSR0j6S1ku7kqrraozeZ5p3GsC6gMSj7n31MIuTLsjfLzAzghFX9DATuNb65X1-pvEACD_vb4rwqXUb0mQLLf53lkT_RVX6ZuxlIkcMN-OvJqdFTs8vpaKe9FxdhrpSBfyaKhx-1u-/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I needed to do a little flattening of my lip to get the plate to sit perfectly flush. I really don&#39;t want to mess with leveling screws in the corners but that&#39;s ok if you want to. I found that hand scraping with a chisel was a good way to remove material. Sanding just doesn&#39;t work very well with MDF and takes way too long. Check your level by using an MDF scrap sliding from the board surface over the router plate. If the plate is too high the scrap piece will knock on the edges. Keep scraping until perfectly flush.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge6pShNntjlhwfZovai6-jTRBIV5jPoNZTU76roMmAQLTgOn5qr6-MdjPYNEEDRsdZtDAgMUPajoq_pfDPqnOxcEBuEEqu9YUOmbE2WiW47oNJmbeYinCPKlHQ3vz3YVZBpC3M2LjhdGKx/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
So far so good.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5YJMDASSeNqVhascG_vmxslB8AUc9ZCFa5lctagfogVO8y3XuX-eQ6SZmPXIUJ-Phz3W7M8ElYqhJVOV00xH-jyIroBZ9LS-V1xnMyCiq2n0N2OjiNDPRNSZzuaIFrmcMIQBRb4sfvqTu/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Next I cut out the handle and pop-up notch to match the original extension wing that I removed from the table. Mark carefully, then cut out with the jig saw. I then softened the edges a bit with the rotary sander. This is similar to factory finish on the metal table edges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikEmNLL2dZcunCvOFp6nsEvipWZFnNLxUYx5ow8qO2EX4Mz_FLxfSmB-E3g-_STWavgzVtywVPinqySjR5ZvySFxueXh42Sdztvr65alZIMks6UIM7kH2sf0viQ0EKP4EKqKMf0pheTEXQ/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Moving on to the underside... Next, I drilled holes in the side support pieces that will ultimately mate up with the bars to slide into the table rails. I don&#39;t have a drill press yet so used a block of maple and walnut with a true 90 junction that I used to drill straight holes. In lieu of a proper drill press this works well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuy3qtZ609m_BbtW35DxlCEQpMqikOQ9BZ94yRNe5hhyphenhyphenJpinMX5UBPp9sbt0yJXiDkBaMjyaAWXeW-1U83uYwpK_j9JWf-MEOho68Hvy8U0OTPou1xEFuCoSSNx-vze_XO6MLVBbZ0oXID/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a look at the underside and how I did the support pieces. 2 for each of the long runs, 1 on each end drilled for the metal bar that will slide into the table rails with a bit of overlapping between the ends and side pieces. I used no fasteners here at all, just glue and clamps which worked extremely well with &lt;a href=&quot;https://amzn.to/2sF8ukP&quot; target=&quot;_blank&quot;&gt;Titebond 3&lt;/a&gt;. One thing to keep in mind here is that MDF is highly absorbent, especially on the ends, so any glue cleanup that you would normally do with a wood glue up won&#39;t work as well here. Some of the glue is going to get absorbed and won&#39;t wipe up well. I had no issues with adhesion on the ends either. You will read that some people go to careful lengths via multiple glue coats to maximize adhesion when attaching MDF end pieces. I really had no need to do that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR6cMEjjZk7zxQgJsoDEkL6sML8V1KFbkVOSFjFg1eIov2UvZth9YSuYNIudad-32xk9AmfXI2xAnp2Di6BXIm8WVyDNVT1PX_u-CKYz3bAzzhj0PmIKQO6qts82iAj4Z_7HHTzgvpkiz0/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Using my trusty router guide, I cut a clean edge on the 2 sides to match the cuts in the metal table top. Now the tricky part, lining up the bars to attach this thing to the table. With the insert in place and leveled, I slid the bars into the table rails and marked the holes from the underside for drilling. I also marked the bar length for cutting at this step which I did with my jig saw and a metal cutting blade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXtXOLUjeKHH52ncEKynjmrRTJjNaQjj1AU80yhrD0gHs0kgfRG3kBOgm_qD3t6xiZJlEczwdN9dLIcmbV5opHsQhjq7kpxT8RUwsseBY9zcY5H44QC4dQkQxwJoJy5FGZyM9sQoHbUK4R/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With the holes marked I used my &quot;drill press&quot; and a drop of oil for the bit to drill holes. Make sure your bits can be used to drill metal!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIZDvqFj0R_GgYwmd-mWvgEMNKg7mi4WOK6CD5KlG3TIaKaUcpC__55tUojgfubsR5c8HNBKeHV52n86RBpEl1Ii6pMHNNhCptGMNY0Jv3fMkkY4siLwzNl8t0GbeylC0vGv6UfuvY-tAW/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Because I intend to attach the bar to the insert using carriage bolts, I need the holes in the bar to be square so they will sit flush. This part is rather crude but it worked. Using a &lt;a href=&quot;https://amzn.to/2T7HlT9&quot; target=&quot;_blank&quot;&gt;cold chisel&lt;/a&gt;, I flared the corners on each side of the holes, then with the bar securely clamped in my vise I knocked each side flat with a &lt;a href=&quot;https://amzn.to/2CCobOa&quot; target=&quot;_blank&quot;&gt;3lb hammer&lt;/a&gt;. The best way to do this is to line up the edge you want to remove flat just above the vise jaw. Good work out on this step. Be careful here because the cold chisel will put gouges in your vise!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoc9Lej03S1YXpz8VM_rElxUBgAKg6wKaFyyZaauWJeFi04tkj0rQfxz7donR7Ewba2UnKMzzpEVwBzdw5ikUj_mJ3eXIxlrdXNUJTbHt5bKMKal1188dsAH9DcP4jt8g2O6poqYR_RrQI/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Ok so I&#39;m finally done making changes to the insert piece and can start on finishing. Using a 50/50 mix of mineral spirits and oil based poly, I saturated the entire piece as much as I could using an old sock, 7 or 8 coats at least. This thinning will cause the poly to soak deep into the fibers adding strength and resiliency. After this dries a few hours I&#39;ll add several more coats then finish with a full strength coat a day later. Make sure to do some light sanding between coat sessions, 400 grit will do.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgReXHCFk_PYwipcaz1OA8POPB6QMEWaUQRu40X8_ONMJB9n9t_4tXkd8JCmfhbe6iSjW_7MbtxY8UWxUdOoLkAKyXxxBXJgVeNJurHwl17uIxHkiQ4AvkDy3tDzYkN3UrTo5tzgTs7SdRw/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
If you have the &lt;a href=&quot;https://amzn.to/2Mo9suP&quot; target=&quot;_blank&quot;&gt;Bosch 1617EVS&lt;/a&gt; like me and want to use the Rockler Pro Plate, one small adjustment needs to be made to the plate. One of the cool things about this router is that the static base includes a height adjustment capability, built in. No need to buy one of the expensive (but awesome) &lt;a href=&quot;https://amzn.to/2CEn4gX&quot; target=&quot;_blank&quot;&gt;JessEm router lift kits&lt;/a&gt;. But, unfortunately, the Pro plate doesn&#39;t have a hole for the adjustment key, so you will need to drill one. Luckily this is aluminum which is easy as butter to work with.&lt;br /&gt;
Here&#39;s what I did to figure out where to drill the adjustment screw hole. I inserted screws into the 3 holes of the static base that will ultimately attach to the Pro plate. I then found a random screw of similar height for the adjustment screw and inserted that into the adjustment hole. Lining up the 3 pre-drilled holes on the plate, I was able to mark where the adjustment hole needed to go. Pencil around the screw head is all that&#39;s needed here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKTnUZkxJc9CIG6pIcHt82nQoigRt00a3ns4cXDbMrSLdALLr1KTEk_EXy49ZWNZ6csmeFLPkqrPP4NewqKBTAg1aRwFkDp74obs9bfsh9euwIiIWkVFqg7rT76K1E8-awZDBS6HrfDezC/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Mark the center of the hole with an &lt;a href=&quot;https://amzn.to/2U4aXkw&quot; target=&quot;_blank&quot;&gt;auto center punch&lt;/a&gt; and drill the hole using a bit of the same diameter as the height adjustment tool that came with the Bosch kit. Aluminum is so soft you don&#39;t even need to use oil to drill, but it won&#39;t hurt anything if you do. That small lone hole below is mine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU2K5uaxHaHGO1bTqABxnceUufQdrJwnu3SXMhF6nT8CqGvlrTFsuToRw9l_x3IqIhkP4lHPiOk6cBIypwZNxwttyy1WFvyEgLzXV8YpKkgVK8RmbA9AfbX6DnaJyqNTm13HrOFXGxCiyy/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Check for clearance, perfect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrIH3hK3nQ80QoQzKVtN3by3cT6qI_dOboL6aOvAQgNbjVEwfBtfRlmet7zCxvjuZA83BBeMCeDemDn4S8fDg7ForwB_7IJeavfn69XIszRDbPTdvjsQXKts-05lB8Grx_oT-RQ70yGcO2/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Next I secured the Pro Plate to the insert using my pronged T nuts. Mark the location with the plate in the insert and drill to match the diameter of the nut. Insert from the bottom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9MTQqqwaLCpMULuel6nNe-p3-YiJTIXPQtQah69xxV8whkZn2_7LpVQWvmDQc0gKikpm2pKsbeBJrEULWnHnjZjYVMMN_QQF_rK-bafXzSA2qROaXYsjPNlNVt3fiu16vLTNftCbPeWQ5/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The plate will come with the right size screws in black for the corners. Screwing these in will tighten the pronged T nut from the bottom. I also cut to the T-track to length and screwed down with stainless flat head screws. I cut the track in a way to ensure the screw holes were as close to the edges as possible to secure a tight fit. Amazon Prime boxes make great work surfaces. :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPhpBYpBHmrC9FJbUilMW-pYeSA-QVQYZP-eV9mU3Chr9FZcHJ-As5s8fmpRs-uzd5-pinbo4r8cCAHsx8EF2D8XGmNx82to7TzlAyqyi36fltnhikNtXakhppMtRyENze11o5gxmn9rI5/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With the plate securely in place, I screwed on the slide bars to each end of the insert. You don&#39;t want this fully tight yet, slide the insert on to the table first and square the rails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTsntOhQmbATJ2tNuc8TwBmv6aeCGt3UQU5pqlMxhfEVJuM_P9Acs8zZIpAVuaPdem68zCQkToyLztagkf0KuddseuKxEeAwdoLMlkZ-8WLpMmmx9XXSd-lVtJlr2nlaMQugIzlhFw3T2M/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Now, tighten the bolts of the new insert to the table rails. You can see that my insert deepened in color a bit after the poly coats. I also finished the piece with a coat of &lt;a href=&quot;https://amzn.to/2T7FOwq&quot; target=&quot;_blank&quot;&gt;paste wax &lt;/a&gt;at the very end. What do you think?&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNEQWq4VLKSGZk0a2MAlWYJH3XCSTY0DGqdX2jm16S29TVU6nT0qyZIQrku3x48gU6LOJTCvwcOB44fsbqTRW3zx21QsYAT54ze6kSWZSWsM9Fd6JBOHBv6rUtWyGQJ1ty0drao0aGAX4T/s1600/insert.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNEQWq4VLKSGZk0a2MAlWYJH3XCSTY0DGqdX2jm16S29TVU6nT0qyZIQrku3x48gU6LOJTCvwcOB44fsbqTRW3zx21QsYAT54ze6kSWZSWsM9Fd6JBOHBv6rUtWyGQJ1ty0drao0aGAX4T/s1600/insert.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Router Fence&lt;/h3&gt;
On to the router fence, for which the pieces I already cut out. There are a lot of variations on this piece but what I wanted for sure was something adjustable that I could later add a feather board via T-track. The first step is to mock up the assembly and plan the slots that allow the front faces to slide. This needs to be done in conjunction with where you intend to place the supports, since your knobs that hold the front faces will come in contact with the supports. Find 2 spots on the front faces to drill holes, then with bolts inserted, plan how you want the slots to lay out and mark. Here I cut the slots already but hopefully you can see what I mean.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ8I78Ab6UukiXhzEwUOWeWnIjvlboiwIJ7KRM13x0-ZM6fE0VDbG0e4-0bN6ZnCMsRn9xrtI4-MydDGCPvDPJ-Yswb6_BXxRpP3PXnzrbsXOGZDSozGeYANEHKPHNK2OlwkkiyWDCI-9K/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once the slots are cut and support locations planned, countersink the bolt holes of the front faces so they won&#39;t interfere with any future work pieces.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb5MqfxsAd9URwpqSCD1FD30SULb_bLVsFfyFPZgV5SGH7yL10i6aUoIL7YEgslL0H31chUGPK8HZKpIMoqcJ_hxtl9iIoloGaAb3PdMxP-GnEBR3yOEYdJzcRp_6YmSjNYWqaOmnv-06S/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Next I dealt with how to attach the custom router fence to the Bosch saw fence. Unfortunately the side slot on the Bosch fence is not a standard T track slot and I couldn&#39;t be bothered to run to the blue/orange store, so I cut two of my T track bolts down to size. Dremel + cut off wheel to the rescue.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMQvV740-oqo4OI07ElxJL0wocetSNlOj6xwmDu4GU6SRBylRu9XCMLT0qUjRrOQBdh1YD1V5uCA03BYHQRKBww2czziUcbKJVmIZLmLqw2LBNaDv3pCftMrdlW54tF05s6CUlamOOTI2d/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With the head squared a bit I was able to fit into the side slot. From here you just need to decide where to punch the holes in the MDF piece that will sit adjacent. I centered my piece and marked for holes near the quarter-mid of each side. 2 bolts is good enough for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4P7N1hq2N6PgaQgD7LWayJWNzRnaSBmIV8nz1dOJLHPHPiJTi2O3DQ5cxIBe2joi7IV7QWF8MbCNin3dECyhq4nT1jmZ9B8jhr2hCUNt3f_FOkSEB6StcQvdA9Z-bzHIBVWKvsx_xIvV/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Due to the height of the slot in the Bosch fence in relation to the table, I really had no choice but to cut a notch to clear the adjustment knobs. I got the smallest I could find so to limit the depth of the notch I&#39;d have to cut. A few bangs of the chisel and presto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7bc8B2tiixUDf6N_kHZ1LHCv9PNgCeZAQRmLMQYpD6j4jyUThzkE1xmLwK-ywU-N72Uc8hWWkeXnrYAXUrUFYaTL6tyw4UMUFATltH-lFb9TYAreWT-Zz-UaNt3BnZmGI7f_D95OtilMa/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With slots cut and holes drilled I felt good enough for another glue up. Both of the vertical pieces sit on top of the bottom piece which will ultimately sit flat on the saw table. You can also see how I marked the holes to center the bolts from the Bosch fence to my rear piece.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFgdXOKLSc7PqAZggincJe2KoD116gL7Md0tmHQiDoV2cry2pPSzSpECL-tyDbxZb9TaLeBHfKedQzaRuHnNfMPJ6hDzzV22_pEhYghr2tJ2Rgdpz2NsEfKi1QKVp2UO57HepTrOs6yAZ0/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
While I glued on the fence face T-track carrier (upper portion of front fence face) I measured and cut supports. I wanted the triangular parts of these as flat as possible for the middle supports just in case I ever want to add a dust collection port.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSwxbTzj2BJBLJVjnp2QnRIloblIZgfuYrolGAkap_93WQ3yIr413Y_KWwOu2rNIpBycn2T9RCYvI-4BfpHaYieuVrxPgw2wINjy7WKn1QiYi5umUtxCynySj8CRCkVXgFzxdsBYsZmhum/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With the supports cut, time for more glue, more clamps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheLdMrMUX9SAXpxpAkpScxwqRUXI8WuchlyRKytYpD-tDkOrjWDJ77zHGzcJuw1TrV-d0uaGxoB3S2JEPIGgshAgazSYJeukxeNppdIbGf3UbtyyQdDZWi3MOVGw6ajJPd0o6_RiIuYDTj/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I let the glue harden overnight then moved on to another 50/50 poly/mineral spirits soaking. I honestly lost count of how many coats I did, I just kept soaking until my mix was gone, hitting the exposed edges especially hard.&lt;br /&gt;
&lt;br /&gt;


&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtgSFFZ3WIj-Bvk85Rhihh5guXxcV_BinIcYtZf6MAWDTkHiiyFgJuzXKiqjU9xn4hE_8TrF02sghccXYqPwjRDKJjJLeTc59mgPykjmwUp9xeM7CmIy88CzIs8P5a7xLoqSITusDsWbgu/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
I let this cure overnight again then did one last pure strength poly coat following a light sanding. After one last overnight curing I bolted on the front faces and screwed on the upper T-track.&lt;br /&gt;
&lt;br /&gt;


&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPYgjtL4lMy4CtZxd8Xkq5vKUa0Q7_qT0u8aLOvA5HjgfcV5h39Kfdr2y6FVTIsBcIjzsQjFnYYcSa-C14kTGsqvuYnIocjOT0UDl0zpw0oiiNbjPNOd9jf92tlby67i4P2nhDEsS7kV5/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Here&#39;s a look at the &quot;knob chamber&quot; so you can see each in relation to the slots and the supports. It&#39;s a little tight but plenty of room to move things around without collision.&lt;br /&gt;
&lt;br /&gt;


&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh62W7z6QPq7DXZksYLTkwBxmOS3FewMfH4sb-CCsX73Px2jYm8uIIDbsqtiqYbsCUmeflsu3Asax-XsV30rMlyMOMlyjOz7OLGtEc9NUgPlK8NSHLLUsjG4JGJYKtUhMyfAycXbZ3pPtHY/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
There you have it! The project before the &quot;project&quot;. Let me know what you think or if I can answer any questions. Thanks for stopping by!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnxkWNVjTsMETfMqugKdXR4PtwJ9medRoIKH5uOAO6tDkCJTUD0m6p3o5Ej2w0TeYr6rbSAYSynme-5eUG74GiYEt39FrC3rzXlo1d-72-1jiKMmzRIPOskZ6j0xwfoRz9TcOfkVHT8q5W/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;


&lt;div&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpVdIpnJYckCJVzryJIB05OsiNlHmjT3T1H7-sXF_dShEls66G4dMoPEooynV7X2cT-wLcqfK13-3fqV5nvCiD6_EcXs5khyphenhypheno0r5sGg06Lu9qs2StG2QX9rQ2hQhhYLtVRX2dpvQGlkzEb/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM60hIYVns4NW8h-vk9m1GVLsbuq2kxvUzUjep7Gr4qF5ak9s7fYO9EakxEYz1Ln7-UrdoxqaJYi8OYwT3w9CkXSnLvf332wqKuuMmrtgYvWfefcK-BW7NFrmzt_Z5oN6bx935q6T6LgKU/w1707-h1280-no/&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlNh3GmChK5B8JAh1E9mEW48JzNAQiXoMj6PHm0d7pcaPfi3j8Rrrpj2A2Sn6H6b2l47cf9xHmJcTBAiSIdaz5WsYwp8IGkxTr2VoS1VGs-Yq-P8-_5T7GjVtKBNRNhWpPXuQnquxDRbjS/w1707-h1280-no/&quot; /&gt;&lt;/h3&gt;
&lt;h3&gt;
Inspiration&lt;/h3&gt;
&lt;a href=&quot;https://bethepro.com/forums/topic/bosch-4100-09-router-insert-2-0/&quot; target=&quot;_blank&quot;&gt;BethePro MDF Router insert&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://youtu.be/OGTDKzoq9eU&quot; target=&quot;_blank&quot;&gt;Benchtop Router Table&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2019/01/jobsite-table-saw-router-extension.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1LW6uP8Mj9DUrvtr8GruIXCr0SGnkq00k9GGihhul79NSJc49-EAg65D3gbwqisEd8NIDJgnwmsiaC31_ubPiab6Vrm-0PuTppdMkh5WspRZOUrPlqnOEsp5E82rRpy1O-4i0Qk_IzF-t/s72-w1707-h1280-c-no/" height="72" width="72"/><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-834541826843781675</guid><pubDate>Fri, 13 Apr 2018 21:33:00 +0000</pubDate><atom:updated>2018-04-13T16:33:56.705-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>The Future of Windows Server Management</title><description>&lt;p&gt;Say hello to what will very likely be the Server Manager replacement in Windows Server 2019: &lt;a href=&quot;https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/understand/windows-admin-center&quot; target=&quot;_blank&quot;&gt;Windows Admin Center&lt;/a&gt; (WAC). Formerly Project Honolulu, WAC has officially gone GA with build 1804. Microsoft clearly has big plans for this tool which has the potential to replace everything and anything currently based on the well aged Microsoft Management Console (MMC). It will probably be the release that follows Server 2019 before we see any possible real deprecation of MMC. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;98&quot; height=&quot;93&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIuKtZmSsOq_tv4bLmtQSFaHgMTbZxTTrwxbDcPtvRObOEvqrVL5ma4Ti_gbRvgAfzm74FOT0fqjxdpxnjrYh7e23r9UTm3hUzClnNcAkTDkoYjERtacVujKZvu5dd0awIGPBV2ppR2B1X/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Installation&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;Because WAC is a web service that manages individual servers, it must be installed on every node you intend to manage, for Server 2016/ 2012R2. Installation is a pain-free affair requiring only permission to modify a particular server’s trusted hosts settings, a designated web port for management and either a 60-day self-signed or other generated SSL cert. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;495&quot; height=&quot;388&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkNhyphenhyphensIkBAD0Agq4CpAkSmBBsGq19t5MJeqNxymyCRXD1-OENQkOjsfnBHRd3Nc9sdvF7wbEkdW2fwIYeGakh5qFQPjQvpBCyUVX7AeIxV0Q0eqbG9mk6l5b9ruh9tSyUwWqBgk-ohiwPd/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp; &lt;img width=&quot;494&quot; height=&quot;385&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb-wcbyEw3aoPq47cefbdkVp58MIr0KAj0h9jUkgOmMTtdZDcr9DS_FbCRCaNqjEZP6Q_SwXHrzXosw44QQo6kMDMmaDHvDJIgjqR0SoEUWoHKRu2ZkrAXGu5O3OpOLyqexjdaUjlJU8aX/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;If managing a cluster or larger environment, whichever node you intend to use as a gateway for management access must have visibility to all other nodes in the cluster or environment. Here I’m using S2D1 as my gateway and have manually added all relevant hosts and cluster objects. You can optionally use any Server 2016 or Win10 PC as a gateway to provide management access to all other servers in your environment. From what I can tell, the only thing that truly designates a node as a “gateway” is by adding other objects to it, per below. &lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;928&quot; height=&quot;429&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnRgZFpuuQm8ylxif7z6093c4FjzbSKpiT_NlLw3j9XlUGdUYbCZsPIUsaGrL4_iCOmyvpJALpD5Kbv32uCTzrpcIYa6QpFSqJ_6jOY6dGi1AF42_P_HLBcuN_KG-2fbrnKH0mSVNUNafr/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;The designated gateway itself can then authenticate assigned users or administrators based on local or Azure AD. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;1000&quot; height=&quot;417&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPAACMbNYTaRsfNwOs4-KVmzba0StpFg24ILB20MT2v9xFA_3HZoUzWAcsZYK8bp5YNdMNJYFHrL-vKozKzYbU8_KYCjKQ1YOIUsOEHI8ejVRQLylnMxVQwQmCmDe64-x_JmHzr4HroLs/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Upon installation, WAC will enable a few additional solutions depending on the features installed on your server. For my scenario WAC provided 4 distinct management panes: Server Manager, Computer Mgmt, Failover Cluster Manager and a brand new Hyper-Converged Cluster Manager. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;503&quot; height=&quot;225&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVcIHN-LYEqP79iSCvDzbWf6y0u0L5OB1r1hLFB-6YgbBOQboUqtaMd4HAF4xl-pMOhvWXCuURzXBz2UWRK2WKW87FT9VcGfbrl3cl2wQelwapHayFsPGkolBTRLdvcyRjDYBE7bQhmGym/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Additional modules and configuration pages will be installable as extensions within WAC. All of the configuration pages in the sections that follow are essentially extensions so the extensibility of this tool is really only limited by the extensions available. Read: this tool has been designed for big things!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1005&quot; height=&quot;358&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdfxBI8UpRBVjeWCAZJn_sh0ZYaBqt52A0tVFZLp55jUdB_kd3-jiDpG4DniJfrUed3SuEbjIxgyTsXcixTX7tyOXEAIVIOj8EV5njY69F5OSiR7NCrez_L_hBPYb3uTbZdkEeP-CPQGYn/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Computer Management&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;A notable change possibly coming here is that Computer Management will be for Win10 PCs only at some point. Right now you can use Server or Computer Management on servers, as neither tool is capable of completely replacing the other. “Computer” in this context will soon mean “PC”. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;872&quot; height=&quot;513&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIo0sPJHCWohdU8XUAU6nC3YYIiuhJ0IF42_AzB2jWjVwmMTz_S4H8w14We3ec3lBUUicS8XftVSyfEfTaTXDzq6de88_cq2-a0AHkA3jtFzFWTGPDqyEv_jThah2QKfuj_GkBBjC132w-/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Server Manager&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;This is where the majority of new functionality exists currently. To a large extent, this is a combination of the legacy Server Manager tool with a few of the MMC-based tools and a nice coat of webby modern polish. Not all functionality is present here and for many things you will still need to access the MMC tool counterpart. A lot the items available are self explanatory but I’ll showcase a few of the interesting additions below. &lt;/p&gt;&lt;p&gt;Real-time system performance charts are visible on the Overview page with an option to enable disk metrics separately. The warning that follows suggests that these metrics consume a great deal of overhead so to only use when you must and then disable when you are finished. Notice that only my C drive is visible here, no Cluster Shared Volumes in use by S2D running on this same host. This appears to be a Server 2019 feature only.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;1000&quot; height=&quot;683&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCSbIx3-YGMLx2QRLG8KLq2opoo-ABzfHMYMBzWbpNZ0vAy9feiLf4guByfXxbxVbq7tBxpoOgLetduH4to_Ap6xZjLb0D71Ts4gW5fV3Wyew60mysCe0FGNQtukmDaV6wx59iayIGcw1M/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Some areas are surprisingly good with new concise takes on existing models, such as the Firewall configuration. I can very simply see all incoming/ outgoing rules and easily create a new rule without having to use a series of wizard-driven questionnaires or multi-tab MMC dialogs. This is a fantastic example of what this tool should endeavor to change in future versions of Windows. If more granular manipulation is required, the settings dialog of any rule can be accessed to change things further. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;1000&quot; height=&quot;664&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-v4Z8BRkqCjXyvNQp1bXYg1xDTJAt9ObpWxWyblhVXHkmOgEdtLEA5QcSabrbK9VJgkdKEPlWfRSQIHQ8HgKCs3bPhQHBK29ASBY4Wgy-PqdcZHylG1y8cDDaid3akhhX5DUNwttL0yKO/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;A largely-functional network management stack is a welcomed addition here, no longer requiring ncpa.cpl to alter IP or DNS settings. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;931&quot; height=&quot;776&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigOpnKdSqla9XE4ukjAIU3_FLZebljWouKnJ0X3syRCx7GsUM0f9mTHLcUTHo-KFzwDdVsHtxTva5aiba-RWHCLiNWs7Y25tLPSsitc-QyaNSwcKbhfEglzofNuaPivPRsC05tKo9R90GC/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Another nice addition here is a fully functional and integrated Shell window. I can do whatever I need to within PowerShell right from WAC. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;854&quot; height=&quot;557&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcWqbih4DhtRJgQ_1ZHPQNhEH_Tw0S6f3vWYKgH8B4PBv2m1GCBVq5qc53zn0Qa0-lSw4cgth9EzvPpZXACJRBKsi8Uz3QYucTHZ80KTNdXJn5GH2Ic6qgpu4SbwVYcO0dWiUW1SNxkQna/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The registry editor makes an appearance here, no longer requiring regedit.exe to make any needed changes.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1000&quot; height=&quot;665&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9aJl5-kLzJUGafRAAu3Qx02EsOqhoVRPMeHrWjfMPG5wVU3mLIxsHYACyFRxbmewoXDDyLXcwJ3GUDQKJWHKbdygkO8QQyyKhk7qGLz-6l8AmWAyeiYWOMUKiEBYCfce4DfxYmxYx7CW6/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The Remote Desktop page provides an embedded frame for direct RDP connection to the server you are connected to. No need to launch a separate RDP client. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1000&quot; height=&quot;664&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh42oqhoM5RKGIQ9faJ8v8Zvgkok-S_tFAzBEwlAoNg1_iYz9ImeFJXImW-ggnFF7z1y_rYTel1Wl0tEEkzY_z7FQfwLvIjuJlp5bIbRGVp9Pg8su3PtGGolaXvkUK5Dev86TLGztNh2JA/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The Updates page in WAC appears to be a bit better than the Windows Update tool in the newer Settings UI. Windows Update says I only need a SQL SP2 update:&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;618&quot; height=&quot;226&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjq43S_VTUAhszpzcIqKqnr2hDSBRCLYybkZuSnjDZFFaVhsFKbvNi6AuVLWqalt9i4-U6sTHT2gMy2TVSRR5xwJcdqBB_l124h8ncMase6WX4QZD7P4sntw6MDpCVQB6AlRAl-kpahXcw9/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;WAC shows me this same SQL update but a slew of others too, including Intel hardware driver updates. Awesome!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1004&quot; height=&quot;680&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZp1xK7eHrlhpmt123eV9UwLTsHw-WQ4RN6vQI1ukyydUWvX5C_8U7l-Lpb-Lqmhbd98SFknM7YA1XriEElezTA7iBkAEVJw5quvled4cg3PZjze2SeRhDrpwaZnVV8UtBKSjgXcxb5EtG/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Hyper-V can be managed from WAC as well providing useful event and resource usage data including the ability to manipulate the VMs directly. One thing I don’t like about the current toolset is that when attempting to connect to a VM I am greeted with a popup to save a .rdp file, no direct/ protocol-less console. Hopefully this will get better.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1004&quot; height=&quot;737&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieqA3x7bZbO9ZemsTHpc37AF9jR_UiJ6ewdbpvFd7Iq7E5Tkukk4HS8CxMMNl59BqEaJzF4am7-JhjhbwhKvT6zrUWAXpOivnKd9NGaqVrPeoRjYCwCqSf2PlYX8IjucfFmP4isD7BoIl2/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Virtual Machine Inventory shows a summary view of all VMs on this particular host along with real-time resource utilization and clustered status. Important to note that VMs running as clustered on other nodes are not shown here. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;888&quot; height=&quot;386&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNkTRKqdwIWUZb7dDF3C24YDVcZU2Inr3z-y_MuYDmJH7czMZGm9Zu1Rtu3XsEkvu_LORuKy_VKBVrtcZlR2Jt3wcUuPUiLAi4WJDqzwCwhf0JOxFs9N9IyIjPb_KJttyW6AhK-MgiKmI3/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The new VM dialog is simple and consolidated enabling quick deployment via minimal hoop jumping. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;869&quot; height=&quot;680&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEqpLbs0JuXOGPE-7WbZRFKWwmJEce6lxyt_fNEW5kMwMsmK4EMNgSq2JoemzN3LypJMsTplv1mNGGOKc6CkoHw5dLEinEuyO5450-BeHjlbEWwWHm4mQrweDGRNqihZCpIEjgdGAw8J02/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The full VM settings dialog is also available here for granular settings changes. This may actually be good enough to almost completely deprecate Hyper-V Manager for day-to-day use. Awesome!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;704&quot; height=&quot;570&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF76YajJ_qW3_euZubrTsh1LDrSLagOMcNPcVT7YCW-vLln_lz9yLtC-rfZ-pv537Dg-yl1v4GKlnGLNPMfDMnlcqcmcY6By5D8jclBrrx20vzbLQJzj2hvEF-82wK2mupD_TkdHEbsiSs/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Hyper-Converged Cluster Manager&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;To fully manage S2D clusters with Admin Center you need to be running a preview build of Server 2019, which I don’t have yet. Even though the error dialog below says an April patch is required for Server 2016, per &lt;a href=&quot;https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/use/manage-hyper-converged&quot; target=&quot;_blank&quot;&gt;this article&lt;/a&gt;, that’s not accurate. This gives a sense of the things the UI will let you do here however. It’s unclear if Admin Center will facilitate S2D setup or not, or if PowerShell will still be required for this in Server 2019.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;img width=&quot;1000&quot; height=&quot;676&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQuFnd35UV6N-qO9cjop1v3UrpI7L85Ynv_iHIW1fdd060L7fnVz3TtIv7x2he0Yv1Iwq0hRAmzGqYLLQHKMYWSAnG4_m0pPRedaCmkmC5iGATIC-74Tsx16N9KZ9lXtPKyVm2frMNDECA/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Failover Cluster Manager&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;While Hyper-Converged Cluster Manager does not work for Server 2016, Failover Cluster Manager does, to some extent. If you have a S2D cluster some of this will not work, namely the details section on the Disks page. Anything touching S2D directly will likely fail and as a result may require a restart of the WAC service if the UI becomes unresponsive. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The dashboard page shows general status of the clustered components including options to start, stop, remove and simulate failures. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1000&quot; height=&quot;631&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyJFgJkYoKO9NueYKLsNHsPWfiZZnMTaYvLpNPcJ_LrL8FN8mBpYUWIrpFH5etFvdqDRuq71SZDYgUzWgCEOWjy8LOPGt71jJHqj00rSypqfIqu7m5n6vbzKXTCrs4_pSZgpGG0KI5tk58/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Many of the page tabs are fairly basic at the moment, so WAC doesn’t yet replace any MMC counterpart for full functionality. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;1000&quot; height=&quot;368&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV8h751EUjaEPiicw1ZkBEv1LeGk6zayDUD_TL-NakMpKHz3UEg7U446JNVJp7mAVn1Sx3VOI6-RnP94xevekE9DLJrcCuvtPNaSHdAsiO-pNQLUzLGsAzi0xZrbtj6NonTU4G8HH0LNvt/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Similar to the Virtual Machine page in the new Server Manager, the dialog here should be familiar although now we see which host server is running a particular VM in a clustered state. There is still this split brain problem in Hyper-V clusters where VMs are ‘optionally’ clustered or left local if you want. If you are running a cluster your VMs should be part of the cluster, storage resiliency is only possible if the VM lives on clustered storage. In the split brain model I now have 2 classifications of VMs, clustered or not and still require 2 distinct tools to manage each: Failover Cluster Manager for clustered VMs, Server Manager for non clustered VMs. I doubt this will change any time soon. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;1019&quot; height=&quot;433&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFc4NNWDjWiD2BtcYp7OKJp_i3AC4GHbevD7CQnrAETxah2NNcfO5GnZoHeUbb5xdzdbf395nzVMwa1umKGBDpiIXCF0BkWRMjG23P91it4sIwG3_rd651GTCrDXoMbHy8e9h_iURLWVwk/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Other Items of Note&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;No love for IE. I got this somewhat hilarious error suggesting that I install Chrome or Edge to use Admin Center on the server itself, considering Server 2016 ships with IE only by default. Most will manage remotely but it would sure be nice to be able to do SOMETHING locally if I needed to without having to install another browser! Just another nail in the coffin. RIP IE. &lt;/p&gt;&lt;p&gt;&lt;img width=&quot;997&quot; height=&quot;300&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSn95KMkTMADpoHDWu83Au1ZMMPlCzL-aZuPOwDnWH37l2UknzRWCl_rkdHnkYuwEpUtR7mcXF-onHdunZbqLUf0Q4EQ6sjESORTwsStQryriJf_ZC2G9QEPboUixlzmUmIk1LubsY9hwx/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;The need to re-authenticate is definitely excessive, over and over and over again. Every piece part that you connect to, even sub-elements on particular pages sometimes prompted additional challenges for authentication. Even after entering explicitly defined admin credentials for “all connections” I was still prompted continuously to authenticate. In a large environment I would be tearing my hair out. This must be resolved!&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;463&quot; height=&quot;549&quot; title=&quot;&quot; style=&quot;border: 0px currentcolor; border-image: none; display: inline; background-image: none;&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLGoKMNgS8dBf3fNhT5fU-ur4KnidQOG2E-UcF8elZSrHbzkYoewDoOdj1XTTLo13XpA3JH6pT_h5K5OR6TmjyrDoOkCGhmn57T1dxW-OlT_X9NcC8ZFZxN_D_j3g66VKRrVPKmXldb7of/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Watch this space, managing Windows Server is about to change in a big way!&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2018/04/the-future-of-windows-server-management.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIuKtZmSsOq_tv4bLmtQSFaHgMTbZxTTrwxbDcPtvRObOEvqrVL5ma4Ti_gbRvgAfzm74FOT0fqjxdpxnjrYh7e23r9UTm3hUzClnNcAkTDkoYjERtacVujKZvu5dd0awIGPBV2ppR2B1X/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-8746494717419911574</guid><pubDate>Sun, 25 Feb 2018 20:12:00 +0000</pubDate><atom:updated>2018-02-26T10:18:10.178-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows10</category><title>Minecraft LAN Gaming on Windows10</title><description>&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;125&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyBsz6pWNfZ5KyegMKISB98VsFtaLSgUJmZrXBTNRx_zUUQ5pXkkQTHP-pDPYMIrefb8vl4lnKZlomT1ECAiBPFvUpS-OPnTkv8PVXW4AYhqvLjGJnYqPdUpEg2uIjV7wyVL5QmX5VGGhR/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;591&quot; /&gt;&lt;/div&gt;
Everybody loves Minecraft, especially your kids. They can play together easily using split screen on the PS4 but what if your kids are like mine and prefer to play on the PC? They can always find each other on a public server like Hypixel with other people on the internet, but sometimes it’s more fun to play together locally on the private LAN. This guide will provide the steps necessary to safely enable Minecraft LAN gaming without having to disable their firewalls. This has come up several times for me personally so time to document the steps. &lt;br /&gt;
So how does this work and what are the problems in native mode? Minecraft LAN mode takes a world from one hosting PC and makes it accessible to other Minecraft clients on the local network. As you have probably discovered, this doesn’t work at all if you just open up a game and start a LAN world. The joining PC you hope to share with just can’t see the world to join, resulting in a screen similar to this:&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;455&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgosFWHlEdK-9X7dnC7Zvs7nIFMwY3O_w9sTs1ZFFHMpIzA4WtWE4PMNvewx0IJbZaB0ssQrP25YqTpEhJdbcgcSlLIx7lSeEsD00Haoa0uen2XMuTBec8MxBSg5W05R8xmaRY6cFtER0gN/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;657&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The problem here is that the hosting PC is successfully sharing the game but the joining PC can’t see it because the inbound traffic is being blocked by the firewall on the joining PC. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj01qMlN3zSEfuFwNMQFxR2jgEd2cHBWxZmLMEV6j6kqMeAbIGAa_tKolfd4OQjPy-tzeWLJ_DfyroTAPLgtzZvmbobLuKILqLS6Eglvk3nUQxtVNi2uPUsgcti2hJoR6GtogmFc8gufDi/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Network Profiles&lt;/span&gt;&lt;/h3&gt;
The Windows 10 firewall works by shifting rule sets tied to specific network profiles, Public, Private and Domain. These profiles will take affect and do different things depending on the network you are attached to. By default, Win10 is configured in “shields up mode” with the network adapter set to the “public” firewall profile which is the most restrictive. While this is appropriate for public places or other people’s houses, I recommend changing this to the “private” profile, especially if on your trusted home LAN. This step is optional but makes general consumption of resources on your home network much easier and is relevant to the firewall rules we will enable in the next step. This step can be performed on all PCs on your local network.&lt;br /&gt;
First, while logged in with an administrator account, click the Wifi icon in the system tray next to the clock, then click the Properties link below your active connection. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;474&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkOKO5_Sew7HcKLR8pePBMinh2aeUf62Mlku_GKNpb4AfzzqTf_XbpkmgvCPZwpMyrAaiDZzgjFWHJ3xb5ZmhTmeoL3ITG8D1CQ8MLvi8V_qIHAEcQUNWZA5BoOrAbnuqNEnyNxBj-10G_/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;355&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
This will open the Win10 settings dialog with more options, click the connection itself beneath the Wi-Fi toggle.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;421&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHcv11UjqAPVrpi-hVjKfSO1Y7N-y-84tNEC2Xqb3i4rYiY_g-Qj109cLTil2STeT7EnS421slKlEIzVGPGeeTrKzvApPtMC-82NOjqN6n48Q5sQB-PvaT4RdJaUzbMvg-yFDzurbk4Fn9/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;556&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
On the next page, click the “Private” radial button to switch the network profile. Important to note that if you access this page while running as a non-administrative user, you will not see this option. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;530&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXn7HjXEzEJAcDBalbCxqboq7ayJ8DkcfurZ1figeEba5f_tZViGnNfTxXPylhOjN5XltG5L4JjOsa-fpkgkEYJ5bbn009AfLncjUCZwCAQSYFIZbLrTW8dAbubaKqwp71XxX1la_v76hn/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;531&quot; /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Firewall Rules for &lt;span style=&quot;font-weight: bold;&quot;&gt;Minecraft &lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
Now that we have changed the firewall profile, we need to enable some special firewall rules on each joining PC. Important to note that any PC that wants to be a joining PC will need these rules in place. The key to enabling LAN gaming is by enabling a very specific Java executable through the firewall on the &lt;strong&gt;joining&lt;/strong&gt; PC(s), as the PC hosting the game is initiating an outbound connection which will be allowed out by default. First, find the directory path that houses “javaw.exe”, this will vary depending on the JRE version you have installed but notice that this executable lives within the Minecraft program file space directly. The full path in this example is: C:\program files (x86)\minecraft\runtime\jre-x64\1.8.0_25\bin\javaw.exe.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;346&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_2rG-HNOHwRSxIZB-3IjyPOW8QcQ0n0HrthNBPZ8l5TUVRiz5VbiFKCqjlYX_T-jGUJ3CafqH0CGxjkeAK0Bf1fCskyZVEkCUEqKQHxviUQ19mfX8hS7Kuj4YRIpeXBs5UnzzrLDPhsF2/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;753&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Next, open the “Windows Defender Firewall with Advanced Security” app either as an administrator or right-click and choose “run as administrator”. Click the “Inbound Rules” element then in the center pane, look for 4 Java(TM)… rules that should have been created when the game was installed. You should see 2 rules for Public and 2 rules for Private profiles. Each rule set contains a rule to allow TCP connections and another for UDP connections solely for Javaw.exe. By default these rules are created and enabled but the connection is specifically blocked, hence the no symbol icon next to each. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;237&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrgLU8HQs0Ia2OK0K6skklYyZeoTv_CwQGoLOEtqrYLi6zIVQ2YaZ4Jz0pnrqlumMiZ5b9eZDNStwLWdrqV900fjvvU360qhv-SeTwsIEESDxJLI0YcJTeTq9USJ8CWm2ceuVVWMezAFJ8/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;731&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
To enable the connections, open each rule individually as appropriate for the active profile you have in place. If you followed the steps above, you will need to change the Private profile rules. On the General tab of the rule, select the “Allow the connection” radial.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;378&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO5KwHmo2HJXPpRgdpsLbMmzfYj4V4W_tCGQr9eOm5nlxEcdtsXhc6v52E86PZMN8vkSAgPGHTy0eA8T7i-ykW2BdjTrvM_Bv7a0UIqiHLvdgNTnqFVIgkgNWwLYKdYZxxL8fgIpanGrG0/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;428&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
If you click over to the Programs and Services tab, you will notice that the specific program specified in these rules is javaw.exe. Click OK to save the rule.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;440&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGkPr9iXtQ986mrwQNKPOzrx6BeS_QoL-yG7XGr9Z7VqQsGpgblnA0gyp0VLM1Z8hH-tX36uzJlc9I27bKJ8A5-mpVj0YmxGAOzpn5EERI7vx0Wq1GKT9fWNAwC2eW68hPXlxuDj7m2yYg/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;431&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Once the rules are properly modified, you should see a green check icon next to each in the Inbound Rules list. This shows that the connection is allowed and that both rules are enabled for the Private profile. If you have the need to enable these rules for the Public profile, repeat these steps.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;236&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PDe09lclEy_f8d6UsQAlW2DzL0KtHMz9JU_bkzmqNmsGMrF2KIA5ZAMr4z5cyRmRaxyZOv5tWtktgOD55cDSmTx6sjMEU-r0L4pGiMi4jlcfs1nOGYjH4m2yjjRkE84arcC6opEPCaUT/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;741&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
If you do not see these rules in your list by default, not to worry, we will create a new rule to cover the same actions. Right-click the Inbound Rules element in the left pane and select “New Rule”.&amp;nbsp; Choose “Program” on the rule type page, then browse to Javaw.exe in the directory identified previously for the program path. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;390&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEkYDnOt42MlnkUgDu4gSV8WsXFiXEdwu80NvNij7cb1knYx8wPeTIgH6J2cCyJ6WmLX3dGlxkgh3X74MayOd4ItK_okRHpG_ZiktQTGfB8QDTvPo6ijFySv-of9TWToQkrKsofEcLBjd5/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;479&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;390&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj522VMRS6_7T4da4M53lBrEEw7uV0w_deJQzQBTSkRmKqfI5hJeMoitXe2YnfPulZi4bF_V59XFqGVPpDcUKHcaMi3JdrTdaMeB7sX4Y73VYqBr0GQ08AByRg7pP5dpF0ld7NBxJj9ZB3S/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;479&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Select to allow the connection on the next page, then select the network profiles to which the rule should apply. If you or your kiddo will go to other untrusted networks (friends houses) to play Minecraft, you may want to enable the public profile here as well. Finally, give the new rule a name and click Finish to enable the rule. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;389&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-EOFVqBQj7QHctVcTAfhZG3YHGJVHBjulasQOF6Xmf_eTjmugKksDns-GEGvE5uf0vRFmwgIvOIJaK_h5EjuI2S43OFjRBNyo4DUoxgiAWs3N6e_ya8_6E0DV8Cdf5YpckJKJ0A71ZPDC/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;479&quot; /&gt;&amp;nbsp;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;388&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz0iXesh8irhMcspe_OndLxMEGxhg2iKbV80m6mVl9wJbmxKCosk52hZrl9yGpvXaN4C6GoOzHfV-Cuyqgb_QpFIR8Fhx08PH__ETJtBQfd46sbl_ywwDY89yX0JwdTG_djPbsGeadzn0N/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;479&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Start the LAN Gaming&lt;/span&gt;&lt;/h3&gt;
To begin, from the &lt;strong&gt;hosting PC&lt;/strong&gt; start a Singleplayer game and load the world you wish to share, in this example we’ve selected “#Building World”:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;398&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5KCE5AQWXYRMAEU_2aBRVamsWg_UbnnENxQJWfra9-FMMhkx3Zsc3UAJQO9bMODT_Nuc08JJ9JdDTZkOFcM746BhUIsaYUXeoygqpGSpdsv7sRpyEkYrC2Kao6UtniA5mwrLHrQQoaoYt/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Once the map loads, press ESC to bring up the game menu and select “Open to LAN”. Next, choose the game mode for the session and whether to allow cheats, click “Start LAN World” when ready.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;337&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBTPZh1FQAk701OujZ0vWv8rWck2UqH2M_BfTiwjp6ykU5s5GMN5gTuQLNM7M8tTQYRLN34Jcf-GH-vRaoOk09C5bODp0kbpUDd0QwV08aSzDKGR1SPLXAcYTqSOTd2WhOrO_RVhUOqPqI/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;475&quot; /&gt;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;336&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt8nC3awPoOEtfiGGZ240BHQYS_Ubvaej4J5P-Gd_xQzP9K4B2B7QCRmzQgJzCQNMv6hvp8A7L183qmmW7pUJ-YeIZTTO-9WaHhLJvus36oMIAqg0G5lyyk6KAyEVYNEcCAHxyS8kFhQtT/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;485&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
From the &lt;strong&gt;joining PC&lt;/strong&gt;, start Minecraft using the “Multiplayer” option. You should now see any public servers your have configured as well as the game hosted on the LAN. Join the server and PROFIT.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;429&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidF4UXTI_dQpKmuDyMe4DgcTDGToZWqbII-ToPW0YQPBV442q75NCSzYvgEPPZdzJOzCmO1Dhac3lzdL23__j5Aph6Axj5Xt-IieNgjYVMMddb3EYDusaqcOtDYlocKo21FXgGya2-0Qdj/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;700&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Resources&lt;/h2&gt;
&lt;a href=&quot;https://youtu.be/_xMvs-nYuNk&quot; target=&quot;_blank&quot;&gt;They Talk too Much!&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/08/minecraft-lan-gaming-on-windows10.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyBsz6pWNfZ5KyegMKISB98VsFtaLSgUJmZrXBTNRx_zUUQ5pXkkQTHP-pDPYMIrefb8vl4lnKZlomT1ECAiBPFvUpS-OPnTkv8PVXW4AYhqvLjGJnYqPdUpEg2uIjV7wyVL5QmX5VGGhR/s72-c?imgmax=800" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6477016561443467291</guid><pubDate>Thu, 15 Feb 2018 20:19:00 +0000</pubDate><atom:updated>2018-02-20T13:44:05.116-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDSH</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>Resource Sharing in Server2016 RDSH</title><description>I first &lt;a href=&quot;http://www.exitthefastlane.com/2012/06/resource-sharing-in-windows-remote.html&quot; target=&quot;_blank&quot;&gt;explored&lt;/a&gt; this topic several years ago for Server 2012 which remained applicable through the R2 lifecycle. Now with Server 2016 RDS alive and well, let’s see if anything has changed. What was true then is also true now and way back before when this was known as Terminal Services: a host’s physical or virtual resources are shared to several simultaneously connected users, each of which executing applications installed locally on the server. Remote Desktop Session Host, or RDSH, is what we call “session based” virtualization meaning that each user is essentially provided apps or a full desktop experience, but each user is simply a remote session, all existing within a single Windows Server OS. An RDSH host can be physical or virtual, virtual being more common now as you get the additional benefits of virtualization including clustering and HA. This is in stark contrast to desktop virtualization, aka VDI, in which each user is assigned a pooled or persistent desktop VM that has dedicated hardware resources provisioned from a server hypervisor. RDSH works great for application virtualization the likes of office and web apps. In short, RDSH = a single Server OS that users connect to, all CPU and RAM shared amongst all. Desktop virtualization = several desktop VMs each with their own assigned CPU and RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What comes with Windows Server?&lt;/span&gt;&lt;/h3&gt;
Starting in Server 2008R2, a feature called Dynamic Fair Share Scheduler was introduced which aimed to proactively and dynamically distribute CPU time based on the number of active sessions and load on each. After all, CPU is the resource consistently hit hardest in this use case. Additional drivers were added in Server 2012 to fairly share network and disk utilization, but not memory. This all remains true in Server 2016 with no apparent changes to the base mechanisms. Ultimately if memory sharing between user sessions in RDSH presents a challenge for you, based on user or application behavior, adding third-party tools or Hyper-V + desktop VMs may be a better option. That said, since your RDSH environment will likely be virtual, these elements are controlled on a per RDSH server VM basis. So balancing user load between these RDSH instances is the more important concern as no single server instance will be allowed to overwhelm the host server. &lt;br /&gt;
The CPU scheduler can be controlled via group policy, which is enabled by default, but not disk or network, also enabled by default. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;311&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENx9AGdW9Y1B2sSWZMsjncZHm1Yz4lYmbxkg4OW_PBLoc7PWMzR4RIA2P4G-K8KwlCL9br-XN9oHXLamjn56HlY9olPU39iWeqmbQ-g22WmOJLc5Q1CdQl8URxNfBe-7WYGvJUspzX4mO/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;619&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
This GPO element toggles the switch found in the registry at \HKLM\System\CurrentControlSet\Control\Session Manager\Quota system:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBLzOistwfO3b4SrepDkargZ0VWmp4mgZP0ay8rY2xeRwxet2fuiBQFXpBZyCcqiFGQqlP5R7clY86uCNTJpRYNsrZiXJVJt8uV53Zfo90ZDOmn28aoNqIEjYMfnXE9Gt-gNYfAKknPf3-/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;656&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
The other Fair Share components, can be found in the registry as well in a different location, each provide a binary on/off switch.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;273&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbr1jUzZL8MYGxPOUWRwtoG_zzjLOX6dD85AiCSi4E84bFsn-GEUZC3sRQaz3QTaCe3HS3cSG-zjx7Po9XMMhp1_yGadCBPZ2eWxau1yIy9xrGjNJFNEauOdwf37q0daJcJc2c0rvP9Lyl/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;654&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
These elements can also be controlled via PowerShell through the command (gwmi win32_terminalservicesetting -N &quot;root\cimv2\terminalservices&quot;). Here I have DFSS disabled but disk and network enabled. Not sure why network shows no value here:&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;591&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHQNAFIwWA4wrwMDhM74WV_ZS_8uZ-lxHPmpmiRrPGP9vH1X-0jVg2m29O_RzsjLzmPWG4wDh7NjMjVKkMqfs3OHvvXjmEpzUPggDjUROmS6NL80DO9ENWg_yfJgxQCIaBEGb0H1umNMR3/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;842&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Test Scenario: CPU Fair Share&lt;/span&gt;&lt;/h3&gt;
The output below was generated using the following configuration. Please note this does not represent an optimal or recommended RDSH configuration, it is intentionally low spec to easily showcase this scenario:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Host: Dell EMC PowerEdge R630 &lt;/li&gt;
&lt;li&gt;Hypervisor: Server 2016 Hyper-V Datacenter&lt;/li&gt;
&lt;li&gt;RDSH: 1 x Server 2016 VMs configured with 1 vCPU/ 4GB RAM&lt;/li&gt;
&lt;li&gt;Users: 3 total sessions represented by RDP-TCP, ICA-CGP/ pfine/b/c in the graph&lt;/li&gt;
&lt;li&gt;Workload: Prime95 blend option &lt;/li&gt;
&lt;li&gt;Monitoring: Perfmon captures from RDSH1 VM&lt;/li&gt;
&lt;/ul&gt;
This run demonstrates three user sessions executing Prime95, I spaced launches a few seconds apart, ending with all three competing for maximum CPU. As you can see, DFSS does its thing to limit CPU, 50% at two users, 33% once all three are active. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;542&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV0NAhmWE6tDIAMyoAC6Lf7C_eRkCdrVuH7Z8PP9RG8znG1VLs2ZgLfsjk-4EGn3IU8mrQv1jw1NGX7vcaPIc7ib3Ouf-t7DwLbhNZeDpuVLhXHU_J3m7ovgioJManKrOWdsUIyESro6qW/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;image&quot; width=&quot;903&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Network and disk IO fair share will work similarly should contention arise in those resources. So in a very basic form, as is the case with most Windows-included services, Microsoft gives you the bare functional minimum, which indeed works as intended. To take this functionality any further, you have to look to the partner ecosystem. &lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about Citrix? &lt;/span&gt;&lt;/h3&gt;
Citrix offers a number of products and services famously targeted at the EUC space, most notably XenApp and XenDesktop. Speaking of RDSH and user session/ application virtualization specifically, XenApp essentially encompasses the connection of your RDSH VMs running the Citrix VDA (Virtual Delivery Agent) to the Citrix management infrastructure. “XenApp” is the larger holistic solution which includes connection brokering, policies and management. For app and session delivery alone, you still need the RDSH role installed on Windows Server but run the VDA in addition on each instance. Previously resource management was enabled via policies in Studio but this has since migrated to Citrix Workspace Environment Management (WEM), which is the result of the recent Norskale acquisition and now represents the primary Citrix UEM tool. WEM does a whole lot more than resource management for RDSH, but for the context of this post, that’s where we’ll focus. WEM is available to XenApp &amp;amp; XenDesktop Enterprise or Platinum customers which you can read more about &lt;a href=&quot;https://docs.citrix.com/en-us/workspace-environment-management/current-release.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. &lt;br /&gt;
WEM requires a number of components on its own, including Infrastructure Services (SQL DB, SyncFx), an agent for each RDSH instance and a management console. WEM includes a utility to create the database, another console for the infrastructure service configuration and finally another console to manage WEM as applied to the XenApp infrastructure. Once everything is created, talking and operational, WEM will require access to a valid Citrix license server before you can use it. Needless to say, WEM is usable only within a Citrix infrastructure.&lt;br /&gt;
To get started, make sure your agents are talking to your broker, which is set via GPO on the computer objects of your RDSH VMs. The requisite ADMX file is included with the installation media. Verify in the WEM management console under the Administration tab: Agents. If you don’t see your RDSH instances here, WEM is not working properly.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;399&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglls2B7eCVXgATnQt8oZWi9Va6dQZv5ZkuGfG1GctFL_zUA75AEKH5ae8HvUxnbeAHlVhVQd-3rt3S3l1UVRwRTUPNKWP0P5R_ZJg2xK1XV9gRyuMqIfNmGb4JVCbrYXXTF2gStS50cLK0/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;940&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
WEM provides a number of ways to control CPU, memory and IO utilization controlled by configuration sets. Servers are placed into configuration sets which tells the installed WEM agents which policies to apply, an agent can only belong to one set. If you want a certain policy to apply to XenApp hosts and another to apply for XenDesktop hosts, then you would create a configuration set for each housing the applicable policies. For this example, I created a configuration set for my RDSH VMs which will focus on resource controls. &lt;br /&gt;
The System Optimization tab houses the resource control options, starting with CPU, provides high level to more granular controls. At a very basic level, CPU spike protection is intended to ensure that no process, unless excluded, will exceed the % limits you specify. Intelligent CPU and IO optimization, highlighted below, causes the agent to keep a list of processes that trigger spike protection. Repeat offenders are assigned a lower CPU priority at process launch. &lt;span style=&quot;background-color: yellow;&quot;&gt;That is the key part of what this solution does: offending processes will have their base priority adjusted so other process can use CPU&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAMgZaVnI51YRkWR8iwJCDx-TnTqd_7mxs8b5tik7gJUHhh3Nyp3fi416FTUhhAWB0PZhIlejUgZhYCS_3R2Uaof_imN0fnTRIHWGUlRwnvdDrwwZ3dU4XhCHDelZZh0hsrtIt4vQUsmBw/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;763&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
To show this in action, I ran Prime95 in one of my XenApp sessions. As you can see below the Prime95 process is running with a normal base priority and happily taking 100% of available CPU. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;539&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDT8ctCu2NsslypsRmf7elNq_5b_x8B3TJAKx2SZ5Drke6fgUlZJ8_82AjKqO2ZpwOJjoxWeFFJunLMsF2-j9iI56GhswPgUk4g_m8e_BnrjtCoJ2vsuvEU7tAm36yn894lnHjcwNeDZzc/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;753&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Once CPU Spike protection is enabled, notice the prime95 process has been changed to a Low priority but it isn’t actually limited to 25% according to my settings. What this appears to do in reality, is make problem processes less important so that others can take CPU time if needed, but no hard limit seems to be actually enforced. I tried a number of scenarios here including process clamping, varying %, optimized vs non, all in attempts to force Prime95 to a specific % of CPU utilization. I was unsuccessful. CPU utilization never drops, other processes are allowed to execute and share the CPU, but this would happen normally with DFSS. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;552&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmlsWyIIWDLf9VyYtCyv297o9nWkEmsq-qDzwzECcHOmNhgeIW0tTEeSMI9IpV7sjWiZuxGl77T7dTDSGQb5eC__A_cAdHMX_0HrmR02zUHCr9TzMWmtkXz3fHQ_11x7favg4Fe4YV9iuJ/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;829&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
I also tried using the CPU Eater process Citrix uses in their videos thinking maybe Prime95 was just problematic, but if you notice even in their videos, it does not appear that the policy ever really limits CPU utilization. The base priority definitely changes so that part works, but “spike optimization” does not appear to work at all. I’d be happy to be proven wrong on this if anyone has this working correctly. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;553&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCq7xttV2qYKjNI09MOwl6szNhrccoJMzJo5AQKvYWmhZAKkomMf0-Gl92hn0AhE7Wa8nM7rusFqFQfONWBTCMxjg_Xdtk908qp073DP6Qt7nudQOeeJ0pADrICH_rzGxRLXwpl5r07dTk/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;833&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
For memory optimization, WEM offers “working set optimization” which will reduce the memory working set of particular processes once the specified idle time has elapsed. Following the Citrix recommendation, I set the following policy of 5 minutes/ 5%.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;182&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn2ht1_L2Xfunse4w-eOz3s90wSrvd5-ZW37VsK07YIC9x6r8GCuIxe3klnsgLwwq2mpn0o3LRdtEuokA0cv-mEy-QSuR430wa6pZwjk3unPoQMj17ckimtulZEWSxbF8lATn0CGJIBTag/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;644&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
To test this, I opened a PDF in Chrome and waited for optimization to kick in. It works! The first image shows the Chrome process with the PDF first opened, the second image shows the process after optimization has worked its magic. This is a 99% working set memory reduction, which is pretty cool. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;263&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuIb3JlYwkHiHwColHcrv-klXl85Gad2m7I-SEAfSi_Ul5vPo8q2zZN-SihB_lbS-gFpWoicloQOUq2orleCS9iY5LmJuMf_BevKhStDLVnpRLiaoo1Zr7W2WOU9z_OijiAnCUVHS6ATWI/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;472&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ_74wkFh17Inn_zDyR4By2regHdZ5lzG1vlVZPE01XWTVIcKeP0IRgXT5akPO_xAnwC0MN6g7gRGrKYZ_yEbq7g3Q5uLFMRQ3lHLYI-eQBLoXSoDaLLjmpTQ_0ICjMQfsfuVG4ElD7xsL/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;479&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
The IO Management feature allows the priorities of specific processes to be adjusted as desired, but not specifically limited by IO. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8BZ49rNrf82UVfZBmi1S3mr2req0pN5Vvbg9mAG9lT_FMuiZkLMGSj6y1bl0QURxkrer_q0yqmzregEYv6PHrjA_EmfMnzXiPU2b1tNGwdy_F-neSXudcuo4acU-S54mp2PXiWv3zZ17A/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;771&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about Citrix XenApp in Azure?&lt;/span&gt;&lt;/h3&gt;
XenApp can also be run in Microsoft Azure via the Citrix XenApp Essentials offer. After the requisite Azure and Citrix Cloud subscriptions are established, the necessary XenApp infrastructure is easily created from the Compute catalog directly in Azure. The minimum number of users is 25 but your existing RDS CALs can be reused and Citrix billing is consolidated on your Azure bill for ease. Azure provides a number of global methods to create, scale, automate and monitor your environment. But at the end of the day, we are still dealing with Windows Server VMs, RDSH and Citrix Software. All the methods and rules discussed previously still apply, with one important exclusion: Citrix WEM is not available in Azure/ Citrix Cloud, so DFSS is your best bet unless you turn to supported third-party softs. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1087&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0SMQCRWIsukZdOBSNZm-OQ9lfFMV5OSUHAjezwYzpFkp4T-XLs3BAZ1K81pDm5tT6dqiqbn1qywTS5KH4VAuenSrdjh04m7EDjTjiKkNr342dKzt828XhEE592ipXUWRxdyipftdX8Var/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;806&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once the XenApp infrastructure is deployed within Azure, the Citrix Cloud portal is then used to manage catalogs, resource publishing and entitlements. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;593&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT1t9tqWHped9uZzf4zrzHSyghmz4wcRtqJ4vLfWl2woL7nXT-ebGP5OIwMWlBjli9LnKHCE22Z3xvJA7SAUMTcOnWYnKg3ZpHstYtvK2Ltj1crLD7pc-XaAuuOlKKF-139eYfXcXQVYb-/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;929&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about VMware?&lt;/span&gt;&lt;/h3&gt;
VMware also provides a number of methods to deploy and manage applications, namely: ThinApp, AirWatch and App Volumes while providing full integration support for Microsoft RDSH via Horizon or Horizon Apps.&amp;nbsp; For those keeping count, that’s &lt;strong&gt;FOUR&lt;/strong&gt; distinct methods to deploy applications within Horizon. Similar to Citrix, VMware has their own UEM tool called… VMware UEM.&amp;nbsp; But unlike Citrix, the VMware UEM tool can only be used for user and application management, not resource management. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;636&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2S6M_hCuaEgZcOI4O9y7F3Xchh9CrjQg7K83_qBB-kNeEyNR8hRf2vpjHvxaS9A0xaHqO4r3yaJXzQoQRhoqiuN52FIvBeSbXIY-L1vzrQv7RxKocJ3_yIeilHsOxdJxnn-MgjiHC7AHM/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;1017&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
While Horizon doesn’t provide any RDSH resource-optimizing capabilities directly, there are a few settings to help reduce resource intensive activities such as Adobe Flash throttling which will become less compelling as the world slowly rids itself of Flash entirely. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI-hs6XIt65iUNH56au1oytwaLrOxzryMxUqnjkpHvAkqWfP6kANltL6YtqgmwTsbIojU8tdzAV_0RB32CiE3uEI9x13rfTxf2mvwdt_jZxRwE-wSEDTAJi_7pn106lhbeOh2OnjMLOBMq/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;664&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Something else VMware uses on RDSH hosts within a Horizon environment is memory and CPU loading scripts. These VBscripts live within C:\Program Files\VMware\VMware View\Agent\scripts and are used to generate Load Preference values that get communicated back to the Connection Servers. The reported value is then used to determine which RDSH hosts will be used for new session connections. If CPU or memory utilization is already high on a given RDSH host, VCS will send a new connection to a host with a lower reported load. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9AzvT4FMjRTZKdE3SOsHQ4H6eFr9w-JP9kJkFoPv1Q166sg0jYAgCtchalPgmeUJ4uNtIjlc7tc-IXDjjE9Y5MeG6Xc0RG-HA5ycYLTQUH24QNBi9Zld-PrUYz_hACmdBo0jlqcutdX4B/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;622&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about VMware Horizon in Azure?&lt;/span&gt;&lt;/h3&gt;
VMware Horizon is also available in Azure via Horizon Cloud and has a similar basic architecture to the Citrix offer. Horizon Cloud acts as the control plane and provides the ability to automate the creation and management of resources within Azure. VMware has gone out of their way to make this as seamless as possible, providing the ability to integrate multi-cloud and local deployments all within the Horizon Cloud control plane, thus minimizing your need to touch external cloud services. From within this construct you can deploy applications, RDSH sessions or desktop VMs. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;485&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIKoauGLhYsfQwXykk2mrmhId5JI53oDI7VC_bYVj_mLXNVXFn-CErQWCDH1sMmCm4uFfdRl1XYwyoRMonxLZ84mNUBecgf1xTNpvYff7PCHMZweEmywo4fqN50KE5Xx2Pej07HU5zIcDl/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;894&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Horizon Cloud, once linked with Azure, provides full customized deployment options for RDSH farms that support delivery of applications or full session desktops. Notice that when creating a new farm, you are provided an option to limit the number of sessions per RDSH server. This is about it from a resource control perspective for this offer.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;710&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2h4iMzDZk8q2A_tgW7CzXG6odXyIlM3d0fe_u_7taQgEPihWPpQUFfBICyxesvuAAMBITzFRlV7wjPzyqFVDR-qQDq6XVwG3lghwASX56LUzC2DiI3DVlsu0SEL0a_UmXpLHW7McWeoun/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;669&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about third party options?&lt;/span&gt;&lt;/h3&gt;
Ivanti has become the primary consolidation point for predominant EUC-related tooling, most recently and namely, RES Software and AppSense. The &lt;a href=&quot;https://www.ivanti.com/products/performance-manager&quot; target=&quot;_blank&quot;&gt;Ivanti Performance Manager&lt;/a&gt; (IPM) tool (formerly AppSense Performance Manager) appears to be the most robust resource manager on the market today and has been for a very long time. IPM can be used not only for granular CPU/ memory throttling on RDSH but any platform including physical PCs or VDI desktops. I didn’t have access to IPM to demo here, so the images below are included from Ivanti.com for reference. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;558&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCUcUCh8Xi27jT0GUfuZ6LhyQZKuTKY41zvfzG9OHfM0_lak2GxLehB4fSJmx1hzxy3cJXkrntYcEEk4ltktqWDKUTI9prjPwr7WlFZRaiIjSUH-wrKv4xtFi0hyF5efgyC7brWY7Jg3aZ/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;867&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
IPM provides a number of controls for CPU, memory and disk that can be applied to applications or groups, including those that spawn multiple chained processes with a number of options to dial in the desired end state. Performance Manager has been a favorite for RDSH and XenApp environments for the better part of a decade and for good reason it seems. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;541&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjotKhLswzVUCFRdLOYfN21VPGO0IZANNlJf8kIPXAzO5s7TVnMKJIwCSBdJZ-At3xRXV6-_9V4tSyeHTe0UAcGk3xv3T3fsvNLKrkDIXX5qMcXA5vYRCHLlv4SQqsKoSWEG-erpPHjMfG2/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;843&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
Citrix WEM product documentation: &lt;a href=&quot;https://docs.citrix.com/en-us/workspace-environment-management/current-release.html&quot; title=&quot;https://docs.citrix.com/en-us/workspace-environment-management/current-release.html&quot;&gt;https://docs.citrix.com/en-us/workspace-environment-management/current-release.html&lt;/a&gt;&lt;br /&gt;
A year of field experience with Citrix WEM: &lt;a href=&quot;https://youtu.be/tFoacrvKOw8&quot; title=&quot;https://youtu.be/tFoacrvKOw8&quot;&gt;https://youtu.be/tFoacrvKOw8&lt;/a&gt;&lt;br /&gt;
Citrix XenApp Essentials start to finish: &lt;a href=&quot;https://youtu.be/5R-yZcDJztc&quot; title=&quot;https://youtu.be/5R-yZcDJztc&quot;&gt;https://youtu.be/5R-yZcDJztc&lt;/a&gt;&lt;br /&gt;
Horizon Cloud &amp;amp; Azure: &lt;a href=&quot;https://youtu.be/fuyzBuzNWnQ&quot; title=&quot;https://youtu.be/fuyzBuzNWnQ&quot;&gt;https://youtu.be/fuyzBuzNWnQ&lt;/a&gt;&lt;br /&gt;
Horizon Cloud Requirements: &lt;a href=&quot;http://www.vmware.com/info?id=1434&quot;&gt;http://www.vmware.com/info?id=1434&lt;/a&gt; &lt;br /&gt;
Ivanti Performance Manager product guide: &lt;a href=&quot;https://help.ivanti.com/ap/help/en_US/pm/10.1/Ivanti%20Performance%20Manager%2010.1%20FR4%20Product%20Guide.pdf&quot; title=&quot;https://help.ivanti.com/ap/help/en_US/pm/10.1/Ivanti%20Performance%20Manager%2010.1%20FR4%20Product%20Guide.pdf&quot;&gt;https://help.ivanti.com/ap/help/en_US/pm/10.1/Ivanti%20Performance%20Manager%2010.1%20FR4%20Product%20Guide.pdf&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2018/02/resource-sharing-in-server2016-rdsh.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENx9AGdW9Y1B2sSWZMsjncZHm1Yz4lYmbxkg4OW_PBLoc7PWMzR4RIA2P4G-K8KwlCL9br-XN9oHXLamjn56HlY9olPU39iWeqmbQ-g22WmOJLc5Q1CdQl8URxNfBe-7WYGvJUspzX4mO/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-3610310126274831993</guid><pubDate>Fri, 15 Sep 2017 19:25:00 +0000</pubDate><atom:updated>2019-01-26T19:02:55.428-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><title>Google Wifi Behind a Firewall</title><description>&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;102&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim-ru0Y3IJ6mRn0NBr4O7fqav326YXIwyQkF730gXnHI2mPpQoKy_0CWD7tuwcZoeaeXxsXFijX2YPTAKI_9h47qLQoIpStnkrer-cvyDal94cPB1zF-C3ROfkQ4UmBiZWPKOQDfHkRupu/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;100&quot; /&gt;&lt;br /&gt;
More specifically behind a &lt;em&gt;FIOS&lt;/em&gt; firewall but really much of the information below applies to any firewall you might put Google Wifi behind. I’ll dig into what you need to know and how to make some key services work while buried in a double-NAT, double firewall deployment.&lt;br /&gt;
&lt;a href=&quot;https://madeby.google.com/wifi/&quot; target=&quot;_blank&quot;&gt;Google Wifi&lt;/a&gt; (gWifi) is a relatively new mesh networking solution from Google that has a simple goal: Provide stupid easy, crazy fast, blanketed wifi coverage for your entire house regardless of size. This is done via very small (4.17” diameter) but very aesthetically pleasing Wifi “Points”, as Google calls them, that you place in key areas of your home to provide coverage. One Wifi Point will act as primary and connect via a BaseT Ethernet cable to your existing modem or router. The other Points will connect to the primary wirelessly and expand the signal of a single Wireless LAN (WLAN). The gWifi solution operates on both the 2.4GHz and 5GHz bands but unlike most other wireless routers, gWifi enables seamless and automatic switching between the bands as required, using a single SSID. Every client available today is supported here: &lt;a href=&quot;https://madeby.google.com/wifi/specs/&quot; target=&quot;_blank&quot;&gt;802.11a/b/g/n/ac&lt;/a&gt;. No need to set up and manually switch between discrete SSIDs for each band. gWifi will place your device on the best possible band given its capabilities and proximity to the gWifi Points. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img height=&quot;825&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVa_hChMA4KYL7S0cM1Nhi7w510uPydkVDdXvE-EY8CS7EA6jVyxbrMfu1Y9RcOeJbIyUwzeqAI6zKvo_PAuPovG3wg2dKtOFPMycsgraZ_99jqRujpc3umgH0qZEC9Ta4Y_O5j5cwYjNP/w1394-h1045-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;1100&quot; /&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;Easily one the prettiest networking devices around&lt;/span&gt;&lt;/div&gt;
With the primary router cabled to the FIOS router, there is one additional switched Ethernet port available on that device and two ports available in each secondary mesh Point for wired Ethernet clients. Need more coverage? Add more gWifi Points. Unlike most routers there is no web interface here to access for management, you must use the gWifi app installed on your mobile device. The available features are intentionally limited to keep ease of use high, so those looking for advanced features like VPN may not find what they need here. Luckily, everything I need appears to be intact: custom DNS, DHCP reservations and port forwarding. Another important callout is that you cannot currently change the IP range that gWifi uses for DHCP assignment, it is and always will be 192.168.86.0/24. If this range is already in use on your network for some reason, gWifi will shift to &lt;a href=&quot;https://support.google.com/wifi/answer/7014518?hl=en&quot; target=&quot;_blank&quot;&gt;192.168.85.0/24&lt;/a&gt;. &lt;span style=&quot;color: red;&quot;&gt;**Update &lt;/span&gt;- Google has now made it possible to change both the router LAN address as well as the DHCP pool range, so .86 is no longer required. If you don&#39;t care or have a good reason to change, honestly, just leave the default.&lt;br /&gt;
&lt;br /&gt;
General setup is fairly simple: Connect an Ethernet cable to the WAN port of your primary gWifi Point from the switch side of your modem or firewall and power on. Download the gWifi app to your phone or tablet, find the device and follow the prompts to configure. Additional Points are easily added through the setup process which will help to ensure ideal placement for maximum coverage. Connect your wireless clients to the new network like normal and you’re done. The rest of this post will dig into more advanced topics around presenting services connected to the gWifi network out to the internet, or to clients connected to the FIOS network. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;578&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw_w2Bg9LobunNblCwIsMApvYLyjuTRUQZn7Z8vYdzph8gREhKMFV7P5m3LrPtaixm7mctgbHapxRvP6Qd4xm5EU6KYXZTnc8UAfz2J05G_05qXiz80LmjlTqf2eA63ct8usH6yWrQPaMj/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;View of my gWifi mesh network&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Network Architecture&lt;/span&gt;&lt;/h3&gt;
In Google’s Wifi documentation, the clear preferred deployment model is the Google router connected directly to a broadband modem. This enables Google Wifi to be the primary router, AP and firewall of the house brokering all connections to the internet. Well, what if you don’t have a cable modem because you have FIOS or similar service? Or don’t really want gWifi as your barrier to the big bad web? In my particular case I use FIOS for internet access only, my TV service is provided via PlayStation Vue so I have no Set Top Boxes (STB) and my phone service is provided by Ooma. For those of us with FIOS, we have ONT boxes in our garages that connect to a router inside the house. If you have speeds &amp;gt;100Mbps this connection is made using a Cat5e cable instead of coax for lower speeds. I’ve read that while it appears possible to successfully replace the FIOS router with gWifi, there are some mixed results doing this. Really, this should only be considered if you are an internet-only customer in my view. If you have STBs, this won’t work as you need a coax connection between them and the router to complete the MoCa network. The easiest thing to do is simply leave the FIOS router in place as is and install the gWifi pieces behind it. &lt;br /&gt;
What this will create, is 2 stateful firewalls, directly connected LAN to WAN, each with their own separate subnets, with the Google device having a leg in both networks. Leave DHCP enabled on the FIOS router to serve the clients directly connected via the Ethernet switch, including the WAN port of the Google router. There is no way currently to manually specify a static IP address for the gWifi router, so it must receive via DHCP. &lt;span style=&quot;color: red;&quot;&gt;**Update - you can now set a static IP for the WAN side of the primary gWifi router if you wish!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
Important to note that the gWifi router can be put into bridge mode, thus making your FIOS router ‘primary’ but doing so will disable the mesh capabilities of the gWifi system. Only do this if you have a single gWifi router or knowingly want to disable mesh (why buy gWifi??). &lt;br /&gt;
&lt;br /&gt;
The diagram below displays my home network and how I installed the gWifi system. The FIOS router is still my primary firewall and gateway to the internet, everything ultimately connects behind this device. I have a few devices that connect directly to the FIOS network and a 1Gb run that goes between floors that feeds the primary gWifi router from the FIOS router. The only device I have currently hard wired to the gWifi network is my media server (Plex/ NAS). This gives me 1Gb wired end to end from my PC to my NAS downstairs. All other devices like my PS4, Smart TVs, kid and Chromecast devices connect via wifi. The gWifi devices are depicted as G1, G2 and G3 below.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;958&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2FvPSX1AFcxR75tfEIjrNcmjMowvPnZQ8sFdNsLaQlfkP7k8R_Tr2CtjCFAxIQa3R98JLv7EczcwJrtpRYNfqhcJejq7h4bMnUSx_iGoH0de1DW0wFApZ5XPhOTE6jmY09fzv7H1dXiAh/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;650&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
You’ll notice that the G1 router depicted above, has two IP addresses, 192.168.1.22 on the WAN side and 192.168.86.1 on the LAN side. The .22 address was assigned via DHCP from the FIOS router which I reserved so the G1 device will always receive this IP. This is important as we will configure an upstream static routing rule later that will point to this address, so we need it to not change. The gWifi routers will assign all IPs to all clients they service directly, wired or wireless. The G2 and G3 routers simply serve as extensions of G1 and will serve any clients that connect via proximity. By default, any device attached to the FIOS network (192.168.1.0) will have no knowledge of the .86 network, nor how to get to anything that lives there. So we have to tell the FIOS router how to find the .86 network, if I ever want my PC to connect to file shares hosted my my NAS, for example. &lt;br /&gt;
&lt;br /&gt;
The main configuration activities I’ll cover here are:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Reserving IP addresses&lt;/li&gt;
&lt;li&gt;Routing between networks&lt;/li&gt;
&lt;li&gt;Port Forwarding key services&lt;/li&gt;
&lt;li&gt;Configuring the Windows Firewall&lt;/li&gt;
&lt;li&gt;Plex remote access&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Reserving IP Addresses&lt;/span&gt;&lt;/h3&gt;
&lt;h4&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;In FIOS&lt;/span&gt;&lt;/h4&gt;
First, find the IP assigned to the WAN side of the Google router via the gWifi app under Network Device Settings: &lt;em&gt;Settings &amp;gt; Network &amp;amp; general &amp;gt; wifi points &amp;gt; [primary device] &lt;/em&gt;:&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;580&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivOhCMs-MDFzy9LV6uIzhXWe7adNg8LhL15sj-ydJR1medYznjnp-dJHJevDiDl0MQs-ON7y44Gz-175asOdmODnaMerrnlBNDaMcvtpfnfajD9ZUUXE8pb4S8su3bSEx1hP04B46r-Jph/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&lt;br /&gt;
Login to the FIOS router and navigate to: &lt;em&gt;Advanced &amp;gt; IP Address Distribution&lt;/em&gt;, then click the “Connection List” button. Find the gWifi WAN IP assignment in the connection list, click the pencil to edit and check the box to set the “Static Lease type”. This will ensure that the Google WAN port will always receive this IP. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidPt_iA81zWft8b-TN5WHG2vdGANi2OMss4rL_WQlh-s5pMNYYowNjVzFRWa6ukzhaB0tKwuAH-5QB0ifvAmLJzH2xWmpjgzvXiTAVJrC4a5AArKxmrUQmPYmKW4cNE4o5U3PrVzCPulQ2/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;597&quot; /&gt;&lt;/div&gt;
&lt;h4&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;In gWifi&lt;/span&gt;&lt;/h4&gt;
Port forwarding rules can only be applied to reserved IP addresses, so lock in any PCs or Servers you intend to be configured with rules. To reserve an IP address assigned to any client on the gWifi network, open the app and navigate to: &lt;em&gt;Network &amp;amp; general &amp;gt; Advanced networking &amp;gt; DHCP IP reservations&lt;/em&gt; and tap the green + button in the lower corner. Select the chosen device in the list and tap next. The MAC address and type of device is displayed, along with the gWifi Point to which the device is attached. Accept the current IP assignment or change it to suit your needs and tap next to save.&amp;nbsp; &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;576&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_YOB6u4O_lkoaXjF8Rwhm6osDjl9iBuSfs2mNDdwS3MhFShu8TcPynmqBDOAO2CkAEQQuBgRxJqbVqldoAzooK6MxDDszADcqTFUZ7C1gFmSU0qNY95EpE2mEp0mDNPuxUwLaEBXQYNyJ/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Routing &lt;/span&gt;&lt;/h3&gt;
As the network exists right now, my PC can’t reach my media server on the .86 network as it doesn’t know how to get there. I could add a persistent route on my PC which would solve the problem for my PC, but a better option would be to configure a global routing rule on the FIOS router. This will enable any client on the FIOS network to be able to connect to the hosts or clients on the gWifi network. Let the router do its job: route traffic. The WAN port of the gWifi router is the gateway for any traffic destined to the .86 network. All traffic in or out of the .86 network will pass through this port. So my routing rule needs to send all traffic from the 192.168.1.0/24 network destined for the 192.168.86.0/24 network to 192.168.1.22. To illustrate this further, the image below depicts the connection from my PC to the the media server and associated hops along the way:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;376&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtJygxlxzG0CtXZG5PCAd1SKhSLt5wZj_CO6u_9QaOSFf8ZG_WdaJInFVRk6cV9HBosu8n_tJ_b2RIKdG-VdEh3-T268Ebjs_ca4Ua0aC0nP28dIUnA2A2tZ48ReP9durWvSqbA4dC0_mF/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;517&quot; /&gt;&lt;/div&gt;
On the FIOS router, navigate to &lt;em&gt;Advanced &amp;gt; Routing&lt;/em&gt; and click the “New Route” link in red. Enter the pertinent details and click apply. Traffic is now flowing in the right directions. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKKiBMbsrk6YESn5ea67HGzjR6ke6D-CNogqmfM1NHbBFu37xsn5eTKjZKEzAYacbH8ifaEzNsDYnrJhWahrLAjNQ2Nl07PJTkFmNsos8BRtSQP4aZK_ADFF5MNpG-Cuj-RY0Img99H3Iw/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;500&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Port Forwarding&lt;/span&gt;&lt;/h3&gt;
All network-accessible services, running on a PC or server, listen for connections via network ports, opened within those applications. TCP and UDP protocols with specific port numbers are assigned to applications and made available for access, such as HTTP (web server) listening on TCP 80. For my scenario, I have several ports that I need to open from my media server to make accessible to my PC. Per the diagram below, TCP 445 = SMB (file services), TCP 3389 = RDP and TCP 32400 = Plex server. Anything on the gWifi network that you wish to expose to the internet will need to be port forwarded on both the gWifi and FIOS routers, unless it advertises itself as a UPnP (Universal Plug and Play) capable service that can set its own rule on the router, which gWifi will allow. Plex happens to be one of those services, so TCP 32400 is automatically opened through the gWifi router. Currently there is no way to view or control UPnP-configured rules in the gWifi app, so you could have a slew of ports opened and not even know it. The only option at the moment is to disable UPnP entirely within the gWifi app. Hopefully Google will fix this in the near future. &lt;br /&gt;
&lt;br /&gt;
The other two ports to be opened are done so with manual port forwarding rules in the gWifi app. Navigate to: &lt;em&gt;Network &amp;amp; general &amp;gt; Advanced networking &amp;gt; Port forwarding&lt;/em&gt; and tap the green + button. Choose a device to forward a port &lt;em&gt;from&lt;/em&gt;, which will only be possible if you reserved the IP address on that device. Select TCP, UDP or both as well as the internal and external ports. Both are required here. Tapping done will create the rule and set it as active.&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;578&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-VSeHqvts8EUmDV1uV6pQXGOz56A9AvebzBU62Ctbm0bfReGeW8IZg0sg9TPlVYA8t10CBoB7AgLjZpyN_1MfBBpHEEqhdasvx3kIZaC7nUFVMjGDpROTauPtAyEKHIWdXaTTvkJ__S34/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;580&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTR-Kp9wfuh4uq4Fyi0vfuzy3vzsMP4klJJWlLQ9GsPPotQ5HPQpjCrrnQP2pbydAxJbsy5X9D2Jk2CbFOgOCiFQeY1lUFQ_P-inSGDB0mOLsfP1972QlNPFDdTMqecmAcumVNolCyr7b1/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
After this step all required rules are in place on both the FIOS and gWifi router and the media server is accessible from the FIOS network. The image below shows everything configured so far along with the traffic flow. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;708&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kLbl6EPmblrv16V_CFZa8wxDQ0P2C_gGrmYikzQgYkJzsPIublmVd-AbSCWXtQ2-EPobLYFOIzpUb8vUV9-p7U599YFJYkuMcQpllOxDXrne_fCdPCFpf8sYtqTJ1Z9ag_U_AsuiDPFC/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;588&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Windows Firewall&lt;/span&gt;&lt;/h3&gt;
Because my media server is a Windows box, if you need to access resources connected to the gWifi network such as NAS or Plex, you must allow these connections through the Windows firewall. By default, the Windows Firewall blocks all inbound connections unless a specific rule exists otherwise. Create a new custom firewall rule on the PC or server allowing traffic from the gateway of the FIOS network: 192.168.1.1/24. This will treat all traffic sourced from the FIOS network as trusted. Remember this entire network segment is already behind a firewall to the internet, the FIOS router. So you can safely port forward hosts on the gWifi network to the inside of the FIOS network.&amp;nbsp; The new rule should be custom allowing all programs and all ports when applied to the remote IP address of the FIOS router. If you want to get more granular and only allow access to the specific ports you are exposing, that is an option as well. &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;470&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVonm0efzo8h411H09dJkP7qJ0CKuaDALA0abNQPb5D9U0tg47i5Gi8X-Xe67Zd56hYg-js7Q4A_SlhrZJ9BM-EVwaBT_bssx91ORABekq9xO3xO7yK8dUhzpApmSP4TFopppkqvY_2TT-/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot; width=&quot;489&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Plex Remote Access&lt;/span&gt;&lt;/h3&gt;
One additional step is required if you want to configure Plex with remote access. An additional port must be forwarded out from the FIOS router to allow an internal connection to TCP 32400. Log into the FIOS router and navigate to &lt;em&gt;Firewall Settings &amp;gt; Port Forwarding&lt;/em&gt;. Add a new rule and make sure to click the Advanced button. Enter the IP addresses, ports and dropdowns per the screenshot below. Choose specify IP, enter the IP address of the Plex server, forward to port 32400. For the destination port, which is what will be exposed to the internet, you can either custom create the number or match the random 5-digit port generated in the Plex settings. Either way, these port numbers must match between the Plex server and the FIOS router. It’s probably best to not expose TCP 32400 directly to the internet. I don’t know of a Plex specific exploit but the service behind this port is well known so best not to advertise what it is. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj25xiHFDm2ZsC8df0feFVEWOwo7XjUYw_-ifoHxUow-ot4IfZPk1joe3GlYI_eXXGrYK54RvOc24hrXCjZONL-R_bzzjyqYxWjfLJZyLPLYyhVTK8xnPyyk12oJwFDJM7SivlfL9rKY-L5/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;805&quot; /&gt;&amp;nbsp;&lt;/div&gt;
Once the rule is in place and active, the Plex service should report as fully accessible. If the following dialog reports any issues, try specifying a manual public port and recreate the port forwarding rule on the FIOS router. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;374&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoe9lWyChCyKj9FQJz7rd5IBkol_x7v-OpMqZtHrQJk68aEs49Y6JuwVQbMVNDBtQYe0fIG-nMol5LQTnlfdOvxjflFHvLDDbaHFEOfD0zUneCoUoLBvLtzQI6IPtGkwByge07NlCHGXI9/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline; margin: 0px;&quot; title=&quot;image&quot; width=&quot;830&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
The diagram below depicts the remote access connection originating on the public internet, forwarding to the Plex service inside through both routers. Now your Plex server is accessible from anywhere on the internet. Remember that the public port can be any number you want. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;708&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFty5XjLHGWJAqV4WWK1XQCRmy6772KAqs13x26ROf7d32JKDTihyX-5wJ4pxA2GrqhfRDKGq7kq9rS1IbZCKuAvfGKBZzAPIGaYSU72iyWO-fASlNDmLOKDUAQFZkWFzDZ45VQLWJtZet/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline; margin: 0px;&quot; title=&quot;image&quot; width=&quot;539&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Final Thoughts&lt;/span&gt;&lt;/h3&gt;
Overall my experience with the gWifi system has been quite good. Elegant, unobtrusive, high performance and so simple. There’s a lot of high-end competition in the mesh wifi business right now and Google does a really good job, assuming you don’t require too many advanced features. Google also includes some decent performance testing tools in the gWifi app so you can gauge the performance of the speed to the internet, the wifi clients and the mesh itself as well as figure out where any problems might lie. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;579&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxazhTN1X3cRVQRJTfpOIWoBeFAdg2mLR_ELASpNLmoptgeYbzv4Ib4JdcxUtOcS5cfLe3__JQJ0LUOSeBmtraPhA-QpmtRBSILLulqAXNVVcvTBCMpQucJ81PoLwMfc7E6FR9cpwNRRX5/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&amp;nbsp;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;578&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnmhwwBETooPU_yl4nLfVwqSiZQb69aqk4BUqaFztcZrNwPxaYSikDC69bizdOJ9ePsCM-igJux7zwuEGgfWcPp1Rlwm4bXAngGUBhrX7johMup2cxJIiir8ceG8eiOlkJ6BQqCdkkMiBH/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&amp;nbsp;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;579&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivy_z4VvjxdXMhFfIGME2xEjM6vk5Q3gzqOgj8YKVf4iq0Fc7r7_JbjFI4Fr-W7qh9EzP0fiFFHe7coKKsBN_YVABZ7Nr1wqfcroZwSIy41LtHNuO24AvbegGyFFLiheRbYIF6afPU1Lg-/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;581&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd2Jn_rGo1oblhTrL11SrZcoaltJxP-Vf9PPX3ZdvTmAkkKYO8hqJjjQaafpmlFu1uCzfLMvAl_iYFLICLV52rVBCsnDvusovfLZy1N91ko_nRs_0NxpbrPptqLaSXM80w_hYJQA1th0Tp/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;&quot; width=&quot;350&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
You can view a device’s network consumption real time and shut down any client you choose or give that device network priority for up to 4 hours. Being able to group and schedule internet access for particular devices is especially useful as a parent. If you have Sonos in the house, make sure to setup all devices using &lt;a href=&quot;https://sonos.custhelp.com/app/answers/detail/a_id/3046/~/choosing-between-a-standard-and-boost-setup&quot; target=&quot;_blank&quot;&gt;Standard mode&lt;/a&gt; connected to the new gWifi network. Boost mode will still work if required, but make sure to keep all devices on the same network for ease of interoperability. It appears problematic to have a controller on the other side of a firewall with all the Sonos devices behind it, due to the number of ports and connections required. &lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/09/google-wifi-behind-firewall.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim-ru0Y3IJ6mRn0NBr4O7fqav326YXIwyQkF730gXnHI2mPpQoKy_0CWD7tuwcZoeaeXxsXFijX2YPTAKI_9h47qLQoIpStnkrer-cvyDal94cPB1zF-C3ROfkQ4UmBiZWPKOQDfHkRupu/s72-c?imgmax=800" height="72" width="72"/><thr:total>15</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6181034837296140744</guid><pubDate>Thu, 29 Jun 2017 18:55:00 +0000</pubDate><atom:updated>2017-06-29T13:56:15.352-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">vGPU</category><category domain="http://www.blogger.com/atom/ns#">vSphere</category><title>VMware vSphere HA Mode for vGPU</title><description>&lt;p&gt;The following post was written and scenario tested by my colleagues and friends Keith Keogh and Andrew Breedy of the Limerick, Ireland CCC engineering team. I helped with editing and art. Enjoy.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;VMWare has added High Availability (HA) for virtual machines (VM’s) with an NVIDIA GRID vGPU shared pass-through device in vSphere 6.5. This feature allows any vGPU VM to automatically restart on another available ESXi host with an identical NVIDIA GRID vGPU profile if the VM’s hosting server has failed.&amp;nbsp; &lt;br&gt;To better understand how this feature would work in practice we decided to create some failure scenarios. We tested how HA for vGPU virtual machines performed in the following situations:&lt;br&gt;1)&amp;nbsp; Network outage: Network cables get disconnected from the virtual machine host.&lt;br&gt;2)&amp;nbsp; Graceful shutdown: A host has a controlled shut down via the ESXi console.&lt;br&gt;3)&amp;nbsp; Power outage: A host has an uncontrolled shutdown, i.e. the server loses AC power.&lt;br&gt;4)&amp;nbsp; Maintenance mode: A host is put into maintenance mode.&lt;/p&gt; &lt;p&gt;&lt;br&gt;The architecture of the scenario used for testing was laid out as follows:&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;ao&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;ao&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCgTbIAdZFUyipZe0gD_vLZKTIyDFPY2vLOzcRoYum2dDeFUtDVYsyylqQ_8htMzXqaHhoiiWFJd2aGibfiL9VAMfJOu-Sfg7_k531uEhWbkDd8fZ_hjKE_XpHKQxe6vav8r_vU1BTcsrW/?imgmax=800&quot; width=&quot;931&quot; height=&quot;454&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Viewed another way, we have 3 hosts, 2 with GPUs, configured in an HA VSAN cluster with a pool of Instant Clones configured in Horizon.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;clus1&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;clus1&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSLvKHOb87b-0wMnSP1O7RoBY8vpSYEv25fXcWU6yVID-4AibK99VSScrwbHkbex2-TKxizELUdqam6YApwayxdmszXuVBZqyfj3rQLDPZwGWQ9lk9PaKAne3lAF4xDI8z1iqg6x5YhpWB/?imgmax=800&quot; width=&quot;477&quot; height=&quot;578&quot;&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;1)&amp;nbsp; For this scenario, we used three Dell vSan Ready Node R730 servers configured per our C7 spec, with the ESXi 6.5 hypervisor installed, clustered and managed through a VMWare vCenter 6.5 appliance. &lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFhlemHK9Bay_5G_xIA8YQ-CvYzZiSKjlcLj2w5rYkaZ2CtRq5tJGxDZNeNrnaQN4v7RANQkLp_hbqQfkhQtIXRX0EmBAlrSUZR_E-uLnBnUpCl0cOB6vhjATG55y_FL-taoVtzQEwJsE7/?imgmax=800&quot; width=&quot;432&quot; height=&quot;385&quot;&gt;&lt;br&gt;2)&amp;nbsp; VMWare VSAN 6.5 was configured and enabled to provide shared storage.&lt;br&gt;3)&amp;nbsp; Two of the three servers in the cluster had an NVIDIA M60 GPU card and the appropriate drivers installed in these hosts. The third compute host did not have a GPU card.&lt;br&gt;4)&amp;nbsp; 16 vGPU virtual machines were placed on one host. The vGPU VM’s were a pool of linked clones created using VMWare Horizon 7.1. The virtual machine Windows 10 master image had the appropriate NVIDIA drivers installed and an NVIDIA GRID vGPU shared PCI pass through device added. &lt;br&gt;5)&amp;nbsp; All 4GB of allocated memory was reserved on the VM’s and the M60-1Q profile assigned which has a maximum of 8 vGPU’s per physical GPU. Two vCPU’s were assigned to each VM.&lt;br&gt;6)&amp;nbsp; High Availability was enabled on the vSphere cluster.&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;&lt;br&gt;Note that we intentionally didn’t install an M60 GPU card in the third server of our cluster. This allowed us to test the mechanism that allows the vGPU VM’s to only restart on a host with the correct GPU hardware installed and not attempt to restart the VM’s on a host without a GPU. In all cases this worked flawlessly, the VM’s always restarted on the correct backup host with the M60 GPU installed.&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;s1&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;s1&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisFCeiLNxuuVKuqkqNBbfFMhOJq8Hn185VA_8y4eXy-NlCtAWwJKcyLlDk0b4Sx2V22RTd76wIVDDxypuLVJKQCgnQUCmhUPi5W3v4HNpLc7MhPyBDiL4Up1_ZZNs1K82dxupUF-6CQwsc/?imgmax=800&quot; width=&quot;488&quot; align=&quot;left&quot; height=&quot;602&quot;&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Scenario One&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;br&gt;To test the first scenario of a network outage we simply unplugged the network cables from the vGPU VM’s host server. The host showed as not responding in the vSphere client and the VM’s showed as disconnected within a minute of unplugging the cables.&amp;nbsp; After approximately another 30 seconds all the VM’s came back online and restarted normally on the other host in the cluster that contained the M60 GPU card.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Scenario Two&lt;/font&gt;&lt;img title=&quot;s2&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;s2&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWVMeK_NcRBo2ZiQqiO8UAQsDSjoigO_c0Ixh_2uy6llQo-d18tdXccJdjOU39VIjZ4kNckDzhzBry4uIgKQYefnAWxjtJmdPaXw9TThx0pY4XP1WVHzGF-LK6UWxZsZcNJLX55rHvG1Qg/?imgmax=800&quot; width=&quot;421&quot; align=&quot;right&quot; height=&quot;582&quot;&gt;&lt;/h3&gt;&lt;br&gt; &lt;p&gt;A controlled shutdown down of the host through ESXi worked in a similar manner. The host showed as not responding in the vSphere client and the VM’s showed as disconnected as the ESXi host began shutting down the VSAN services as part of ESXi’s shutdown procedure. Once the host had shut down, the VM’s restarted quite quickly on the backup host. In total, the time from starting the shutdown of the host until the VM’s restarted on the backup host was approximately a minute and a half.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;s3&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;s3&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilULCv9eDVaRky6xgRVp_R5Cd1bOTdNP6vUQJPF8KXxUqeQOwYsvAbOaqC0VX4X9BY0_MCEhdkpA-RkIp0SxDPGwfpgiqu25lDoF_9AXeonYALIWAAwS1faHs-P4mBNXtdl8yCoUqd8mU4/?imgmax=800&quot; width=&quot;451&quot; align=&quot;left&quot; height=&quot;588&quot;&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Scenario Three&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;br&gt;To simulate a power outage, we simply pulled the power cord of the vGPU VM’s host. After approximately one minute the host showed as not responding and the VM’s showed as disconnected in the vSphere client. Roughly 10 seconds later the vGPU VM’s had all restarted on the back up host.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;s4&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; border-left: 0px; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;s4&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgfiE-JOUa5ytVLa42a_kBE35szsE5_7iyar1LQukd7WKtbCnS4Yl1t1O8McNK98rc5nPhEdTo_q4uYR81HlvPkowi2I6H4NKV7UPNaGq1PsvvWYo3dfLd8g62rW6c_ExfYRKBudjhHQvq/?imgmax=800&quot; width=&quot;441&quot; align=&quot;right&quot; height=&quot;591&quot;&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Scenario Four&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;br&gt;Placing the host in maintenance mode worked as expected in that any powered on VMs must first be powered off on that host before completion can occur. Once powered off, the VM’s were then moved to the backup host but not powered on (the ‘Move powered-off and suspended virtual machines to other hosts in the cluster’ option was left ticked when entering maintenance mode). The vGPU-enabled VM’s were moved to the correct host each time we tested this: the host with the M60 GPU card.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In conclusion, the HA failover of vGPU virtual machines worked flawlessly in all cases we tested. In the context of speed of recovery, we made the following observations with regard to the scenarios tested. The unplanned power outage test recovered the quickest at 1 minute 10 seconds followed by the controlled shutdown, with the network outage taking slightly longer again to recover.&lt;br&gt; &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; width=&quot;1265&quot; border=&quot;0&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;&lt;strong&gt;Failure Scenario&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1086&quot;&gt;&lt;strong&gt;Approximate Recovery Time&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Network Outage&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1086&quot;&gt;1 min, 30 sec&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Controlled Shutdown&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1086&quot;&gt;1 min, 30 sec&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;177&quot;&gt;Power Outage&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1086&quot;&gt;1 min, 10 sec&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;In a real world scenario the HA failover for vGPU VM’s would of course require an unused GPU card in a backup server for it to work. In most vGPU environments you would probably want to fill the GPU to its maximum capacity of vGPU based VM’s to gain maximum value from your hardware. In order to provide a backup for a fully populated vGPU host, it would mean having a fully unused server and GPU card lying idle until circumstances required it. It is also possible to split the vGPU VM’s between two GPU hosts, placing, for example 50% of the VM’s on each host. In the event of a failure the VM’s will failover to the other host. In this scenario though, each GPU would be used to only 50% of its capacity. &lt;/p&gt; &lt;p&gt;&lt;br&gt;An unused back-up GPU host may be ok in larger or mission critical deployments but may not be very cost effective for smaller deployments. For smaller deployments it would be recommended to leave a resource buffer on each GPU server so that if there was a host failure, there is room on the GPU enabled server to facilitate these vGPU Enabled VM’s.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/06/vmware-vsphere-ha-mode-for-vgpu.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCgTbIAdZFUyipZe0gD_vLZKTIyDFPY2vLOzcRoYum2dDeFUtDVYsyylqQ_8htMzXqaHhoiiWFJd2aGibfiL9VAMfJOu-Sfg7_k531uEhWbkDd8fZ_hjKE_XpHKQxe6vav8r_vU1BTcsrW/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-505511931949742877</guid><pubDate>Fri, 07 Apr 2017 04:12:00 +0000</pubDate><atom:updated>2018-02-21T09:43:16.037-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">S2D</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>The Native MSFT Stack: S2D &amp; RDS – Part 3</title><description>&lt;a href=&quot;http://www.exitthefastlane.com/2017/01/the-native-msft-stack-s2d-rds-part-1.html&quot; target=&quot;_blank&quot;&gt;Part 1: Intro and Architecture&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-2.html&quot; target=&quot;_blank&quot;&gt;Part 2: Prep &amp;amp; Configuration&lt;/a&gt;&lt;br /&gt;
Part 3: Performance &amp;amp; Troubleshooting&lt;strong&gt; (you are here)&lt;/strong&gt;&lt;br /&gt;
Make sure to check out &lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;my series&lt;/a&gt; on RDS in Server 2016 for more detailed information on designing and deploying RDSH or RDVH. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/?imgmax=800&quot; /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Performance&lt;/span&gt;&lt;/h3&gt;
This section will give an idea of disk activity and performance given this specific configuration as it relates to S2D and RDS. &lt;br /&gt;
Here is the 3-way mirror in action during the collection provisioning activity, 3 data copies, 1 per host, all hosts are active, as expected:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;570&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9PDtgs6WCZ5ThNf5jdut6SyXMuEJpto1sraW3zqPIzArK4n3hS1L0rRji7qg-hgME9E6Ph5btl71mbYFmyZpqK9ReMkobOXZl9ONZMlbik6v4lcpUoGAb5VzY7JY8Ks0F6wP67QGmm7e2/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;797&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Real-time disk and RDMA stats during collection provisioning:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;648&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVC_kZXcnU_OSKZgy-vDOeDn_jpN3UPhuwbooOIyYYsCvNFOOZp3zTGasOdmHfB2l_9ij3-HJoox8XD2X9pR0_RgLLa0KAg5TIfa4YT3IFjWF_oE9uewGlKgNN9riQupFq9QrLBY7KGukG/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;1006&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
RDS provisioning isn’t the speediest solution in the world by default as it creates VMs one by one. But it’s fairly predictable at 1 VM per minute, so plan accordingly. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;450&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIdZrX2fF-tMyKHS-bH9YavW_DI7pbzTx23MbuqkZyfnYaCyGNkDhRsq8b4zAQhStcxRm0xfwFv8ZAP1ppRbjRP11Im_g7a60ScWqgbF-rqnpXNG-E3pr1E5PSnG0jLkEPbBgf3dQZL8LN/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;758&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Optionally, you can adjust the concurrency level to adjust the number of VMs RDS can create in parallel by using the Set-RDVirtualDesktopConcurrency CMDlet. Server 2012R2 supported a max of 20 concurrent operations but make sure the infrastructure can handle whatever you set here. &lt;br /&gt;
&lt;pre&gt;Set-RDVirtualDesktopConcurrency –ConnectionBroker “&lt;span style=&quot;color: red;&quot;&gt;RDCB name&lt;/span&gt;” –ConcurrencyFactor 20&lt;/pre&gt;
&lt;br /&gt;
To illustrate the capacity impact of 3-way mirroring, take my lab configuration which provides my 3-node cluster with 14TB of total capacity, each node contributing 4.6TB. I have 3 volumes fixed provisioned totaling 4TB with just under 2TB remaining. The math here is that of my raw capacity, 30% is usable, as expected. This equation gets better at larger scales, starting with 4 nodes, so keep this in mind when building your deployment. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;118&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2WH2z3Mi5OiLBQ0Qmt-fMyFmqZ_tPhcgqo0GpYT939A-x95wYpiHzw5dCcly0eFhm1j_4lFH5962NDF4BB84kKAOYOe8p3aw_w1nCoFtFW6J4EHwp1ScIRT0pEeojEL35qcxurNbLwvCg/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;797&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Here is the disk performance view from one of the Win10 VMs within the pool (VDI-23) running Crystal DiskMark, which runs Diskspd commands &lt;a href=&quot;https://crystalmark.info/software/CrystalDiskMark/manual-en/Overview.html&quot; target=&quot;_blank&quot;&gt;behind the scenes&lt;/a&gt;. Read IOPS are respectable at an observed max of 25K during the sequential test.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb[3]&quot; border=&quot;0&quot; height=&quot;547&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9gBvRQLm8rS-9hG5feZLONu16QEKsz9NbTXg6xotHxNXezX14SKwmV-8QlWiXyzSywLQz6NQISGus_aNLSpFxVu0bAs2DadEyQWsSBKaaZML0itwWSjjKwqMOyeeOSp39d9UwadXR-Rri/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[3]&quot; width=&quot;780&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Write IOPS are also respectable at a max observed of nearly 18K during the Sequential test.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb[4]&quot; border=&quot;0&quot; height=&quot;554&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPApw69tS9C670Fd_Y-hHD0ZqwWm03090oB3PrcI40Wwb37HuFR5Scv2lGwKnxCIXIu1V70H2ypCSN3-Ut-8x9aN9xOrQJqA_2Gj4uz-96pY1dFENyZxSq2rKdrUpV2BHELO7Kgw0BjfP/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[4]&quot; width=&quot;779&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Writing to the same volume, running the same benchmark but from the host itself, I saw some wildly differing results. Similar bandwidth numbers but poorer showing on most tests for some reason. One run yielded some staggering numbers on the random 4K tests which I was unable to reproduce reliably.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb[5]&quot; border=&quot;0&quot; height=&quot;366&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaAOsjrejq7uvXpDSNclfSZyaImUCYY8VIUtQo7nd37VzoCdrOOX7kbzz59VrtEhF9_Vmhm9Cg4zqnhConYkBUifiIAeWsmKDpI5350qGwjTKM552oPEeGyQ1wgwd_1mxRZuSiACCtvaCZ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[5]&quot; width=&quot;689&quot; /&gt;&lt;/div&gt;
Running Diskspd tells a slightly different story with more real-world inputs specific to VDI: write intensive. Here given the punishing workload, we see impressive disk performance numbers and almost 0 latency. The following results were generated from a run generating a 500MB file, 4K blocks weighted at 70% random writes using 4 threads with cache enabled. &lt;br /&gt;
&lt;pre&gt;Diskspd.exe -b4k -d60 -L -o2 -t4 -r -w70 -c500M c:\ClusterStorage\Volume1\RDSH\io.dat&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb[6]&quot; border=&quot;0&quot; height=&quot;503&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM6G4ZaxJRBLkzk1cCmPq863ePemqMVUm95Bc2_rw-iGMGqfoHD5Bi-D5siLibgRlHkdNSUva191YXYS7VSmLGfKNcxKWwwkCrm2_Qoryupp4lsAVwjiyaKEQJQGxIUyOB6ZvTYHCPVYth/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[6]&quot; width=&quot;844&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Just for comparison, here is another run with cache disabled. As expected, not so impressive.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb[8]&quot; border=&quot;0&quot; height=&quot;502&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8sVygMtOm8Eru5sDioVMpjLKmx0aPbPfumfwej8tLxYjYvJ0AG8CfRlqiHy7nB9yjS6iqNxEQs2t9XAxT86mPTOddrZugwHED4MCjal0NBL31FzzGMDmk50yaaby21o_7ymr67v8W6uok/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[8]&quot; width=&quot;840&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Troubleshooting&lt;/span&gt;&lt;/h3&gt;
Here are a few things to watch out for along the way. &lt;br /&gt;
When deploying your desktop collection, if you get an error about a node not having a virtual switch configured:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaYQ7wa3EEruwHdZPlyIKK1Qz1iMGt_jkdAwKIjTgs9u8rEcKLuCIijB4XQvWJB4zvnDWTFwJrGh2fm-isH0EjXnW_2rN8GB38REdC9_K-HeDnIdw_KR2RiZ-P47aRiOlMLfNLD4dJZESN/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;487&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
One possible cause is that the default SETSwitch was not configured for RDMA on that particular host. Confirm and then enable per the steps above using Enable-NetAdapterRDMA. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL_yfOzasUrPyH-MhObW6s758fZboeTJh7RE74Z223pnFz6-VSTN6LnljuSOzjFZun2W1wnFlRwCzRSh7SE_aS6V2DYZqFAGMeLPhh4J_ooGqpNvX3svF0VgmgUtJ8UoBbwqK5GdmvsnBg/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;677&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
On the topic of VM creation within the cluster, here is something kooky to watch out for. If working on one of your cluster nodes locally and you try to add a new VM to be hosted on a different node, you may have trouble. When you get to the OS install portion where the UI offers to attach an ISO to boot from. If you point to an ISO sitting on a network share, you may get the following error: Failing to add the DVD device due to lack of permissions to open attachment. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJpJM224Y-0eVWGozgshskzY4-C62Am_Ck7fxNeWot3IZd6TpNgAj9lDiM8HLurDuqd0xz4nhVzWV1CxQAZjJRJdVncvtXJBg9TBE4IHJy_VcUguWq8fWg5TzKU51LiEYfsPkZk2ZKhcn/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;413&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
You will also be denied if you try to access any of the local paths such as desktop or downloads.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;165&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjngoWtOXroTejIczHcWPoYtoYyrhMl45-xmjEr2xX2Y-wRs5wVenNl2loC9vexAwf6jeduLcbeV0AVX9tZXbVe-TlED4bWQH2JzOXH3SluUUL0fJBy5haTCClHnfZ5YMaIsnWf_wUyGKqD/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;482&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
The reason for this is that the dialog is using the remote browser for file access on the server you are creating the VM. Counter-intuitive perhaps but the work around is to either log into the host where the VM is to be created directly or copy your ISO local to that host.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Watch this space, more to come…&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/01/the-native-msft-stack-s2d-rds-part-1.html&quot; target=&quot;_blank&quot;&gt;Part 1: Intro and Architecture&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-2.html&quot; target=&quot;_blank&quot;&gt;Part 2: Prep &amp;amp; Configuration&lt;/a&gt;&lt;br /&gt;
Part 3: Performance &amp;amp; Troubleshooting &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/hyper-converged-solution-using-storage-spaces-direct?f=255&amp;amp;MSPPError=-2147217396&quot; target=&quot;_blank&quot;&gt;S2D in Server 2016&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/storage-spaces-direct-overview&quot; target=&quot;_blank&quot;&gt;S2D Overview&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/create-volumes&quot; target=&quot;_blank&quot;&gt;Working with volumes in S2D&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/understand-the-cache&quot; target=&quot;_blank&quot;&gt;Cache in S2D&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-3.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-340925573267347871</guid><pubDate>Fri, 07 Apr 2017 04:05:00 +0000</pubDate><atom:updated>2018-02-21T09:43:29.983-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">S2D</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>The Native MSFT Stack: S2D &amp; RDS – Part 2</title><description>&lt;a href=&quot;http://www.exitthefastlane.com/2017/01/the-native-msft-stack-s2d-rds-part-1.html&quot; target=&quot;_blank&quot;&gt;Part 1: Intro and Architecture&lt;/a&gt;&lt;br /&gt;
Part 2: Prep &amp;amp; Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-3.html&quot; target=&quot;_blank&quot;&gt;Part 3: Performance &amp;amp; Troubleshooting&lt;/a&gt;&lt;br /&gt;
Make sure to check out &lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;my series&lt;/a&gt; on RDS in Server 2016 for more detailed information on designing and deploying RDSH or RDVH. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/?imgmax=800&quot; /&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Prep&lt;/span&gt;&lt;/h3&gt;
The number 1 rule of clustering with Microsoft is homogeneity. All nodes within a cluster must have identical hardware and patch levels. This is very important. The first step is to check all disks installed to participate in the storage pool, bring all online and initialize. This can be done via PoSH or UI.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;370&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFII-O8HS1T0SAtwI3-5-tw45RnuPs_HUopDv-E8n0drc1LIsg3Bsx_9EEBKaRoJCdsbPxUD5nn2V1Zqu1DUKHHieHl_jCqgfiXu7ONBhXEYP-1G4D_2Ce-K768A8lZ_hlncqXGvYrEHzK/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;751&quot; /&gt;&lt;br /&gt;
Once initialized, confirm that all disks can pool:&lt;br /&gt;
&lt;pre&gt;Get-PhysicalDisk -CanPool $true | sort model&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;166&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4i6l0AvsdaZlNCSB9K5UHdS5xlMyXLGXjkJF_nAWsVlWC0lx0p_kIGu6GXlmIYBjChHGtDlBV3JALdem6dKIkGu8DhknKyedDneJsU-MI6ioL3bbLXHPpHdVJ6i8Xj5h77V8DwxhHaZb/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;709&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Install Hyper-V and Failover Clustering on all nodes:&lt;br /&gt;
&lt;pre&gt;Install-WindowsFeature -name Hyper-V, Failover-Clustering -IncludeManagementTools -ComputerName &lt;span style=&quot;color: red;&quot;&gt;InsertName&lt;/span&gt; -Restart&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;86&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgokamoXL9wZUJPaX_8diTvc7kibJ54rCyLVR9gmlwzTarG8Mm1qWWMAyvIqp5GkaQT9uyrMRw_mI-8JTNdcxi51sAvlwJtfoF6Py-ifL3YZSPjd9Z1H0_MZsd5Ci9CCyNu3cvJbmQDE-0z/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Run cluster validation, note this command does not exist until the Failover Clustering feature has been installed. Replace portions in red with your custom inputs. Hardware configuration and patch level should be identical between nodes or you will be warned in this report. &lt;br /&gt;
&lt;pre&gt;Test-Cluster -Node &lt;span style=&quot;color: red;&quot;&gt;node1, node2, etc&lt;/span&gt; -include &quot;Storage Spaces Direct&quot;, Inventory, Network, &quot;System Configuration&quot;&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;76&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbi1ejLOevzV7tmGK47fCdFT-5T-A8OnUUlXbbWh-U5RtwZvV6J_WQfS0sTeSCucE0gzMs09UTU5a1Hjo6Dsnt8lq9mZwtLZ-jyQZKOqYp4LiMEXlFAiOkWJBGgt4I8r03hdiFowAjhWrw/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The report will be stored in c:\users\&amp;lt;username&amp;gt;\AppData\Local\Temp&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;513&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWYNTJQVcYEJfbKxf0Hpn08c_5yLiAYqFKo0IN2m0zbtf7tDtGuULOkEpvpzdvNmx9df5-jf1da4zCFI58NrhOJ4xk4WkVt6PjRftrGR3yND0WtjuL_0kPyLLvywrrorb3WAcirDSQYm6F/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;759&quot; /&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Networking &amp;amp; Cluster Configuration&lt;/span&gt;&lt;/h3&gt;
We&#39;ll be running the new Switch Embedded Team (SET) vSwitch feature, new for Hyper-V in Server 2016. &lt;br /&gt;
&lt;br /&gt;
Repeat the following steps on all nodes in your cluster. First, I recommend renaming the interfaces you plan to use for S2D to something easy and meaningful. I&#39;m running Mellanox cards so called mine Mell1 and Mell2. There should be &lt;strong&gt;no&lt;/strong&gt; NIC teaming applied at this point!&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6horkI6Nzp9ukJxgCNUkZy9aX6aFZ1QWeBfEV223lX-_Ltvu3nITrZhbmXczh9luc6LUodralwyCdVDbUb-KTRKMEnZHftt53aVQXqHKVxsmEtFzp17fbCImjFhb9t0yjpauPKA-QP9LL/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;660&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Configure the QoS policy, first enable the datacenter bridging (DCB) feature which will allow us to prioritize certain services the traverse the Ethernet.&lt;br /&gt;
&lt;pre&gt;Install-WindowsFeature -Name Data-Center-Bridging&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;75&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizMLTddSli8s4vg4zGKOCnxaXVmq7TStCVRUGGLmDfBpuX1j7wEX9nIkvXUYZdaxe1-qC6H4vUAWF-hIusZz48kiFDWXQUA2DljDPmLb1wA6DdQzA_liZCGxh9axrrraIeuX6rnVfMSUw9/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;536&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Create a new policy for SMB Direct with a priority value of 3 which marks this service as “critical” per the 802.1p standard:&lt;br /&gt;
&lt;pre&gt;New-NetQosPolicy &quot;SMBDirect&quot; -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;124&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSJmzquu8J1ZsInhePTxUf0yHXv7-i23eBYZ-GIuyGB8Qd42mzBbFiqDgqqt4CbbqunOJE77ElWFzKteIFMn_-9UUK0UrHevXMItIDDQEXJqnX-4koTk9-gDMW05PLp5CF9PIHY5tLfeGr/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Allocate at least 30% of the available bandwidth to SMB for the S2D solution:&lt;br /&gt;
&lt;pre&gt;New-NetQosTrafficClass &quot;SMBDirect&quot; -Priority 3 -BandwidthPercentage 30 -Algorithm ETS&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;76&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivwjF0ZUnCY6_wrJMvWW3vEut1Twcgjxrw-qQnrfJTWmleguZqS8ci6Cjq8xsAowvDuY8yL2V9jMtPtjTZ6ApWxrHz54jDxq1_KEIfyEto02tGXAjt92-VuZfpwGLYG6bs8whwW7NTvXa_/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;798&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Create the SET switch using the adapter names you specified previously. Items in red should match your choices or naming standards. Note that this SETSwitch is ultimately a vNIC and can receive an IP address itself:&lt;br /&gt;
&lt;pre&gt;New-VMSwitch -Name &lt;span style=&quot;color: red;&quot;&gt;SETSwitch&lt;/span&gt; -NetAdapterName &quot;&lt;span style=&quot;color: red;&quot;&gt;Mell1&lt;/span&gt;&quot;,&quot;&lt;span style=&quot;color: red;&quot;&gt;Mell2&lt;/span&gt;&quot; -EnableEmbeddedTeaming $true&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisdXYQtVAeIZOFQT57FqcXBMYNQaEMSNE9Ppt25XES69AFZyRZIUZsixUbiTm9jhkjlGavBCOR7sPSQWg-t-KE3sFK0DTWeTb8qtneyQvZYr42ZYCBSKG3r__b3MTx1EDIU5VoQycdiuwP/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Add host vNICs to the SET switch you just created, these will be used by the management OS. Items in red should match your choices or naming standards. Assign static IPs to these vNICs as required as these interfaces are where RDMA will be enabled. &lt;br /&gt;
&lt;pre&gt;Add-VMNetworkAdapter –SwitchName &lt;span style=&quot;color: red;&quot;&gt;SETSwitch&lt;/span&gt; –name &lt;span style=&quot;color: red;&quot;&gt;SMB_1&lt;/span&gt; –managementOS
Add-VMNetworkAdapter –SwitchName &lt;span style=&quot;color: red;&quot;&gt;SETSwitch&lt;/span&gt; –name &lt;span style=&quot;color: red;&quot;&gt;SMB_2&lt;/span&gt; –managementOS&lt;/pre&gt;
&lt;br /&gt;
Once created, the new virtual interface will be visible in the network adapter list by running get-netadapter.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb&quot; border=&quot;0&quot; height=&quot;219&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoNnlafIjUGhRC-TkHOzl2vcobGjII3W9AT2Uor1YKglhKcSMQLkPz8AyAZgQni0rfUmCVGZsABkgr_Cb1BMx4-6Tg_c4WDOsa1hs0ky0TR6k9FW9mRJAIPeHGWleq9eM7vljjFmgGBkEx/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb&quot; width=&quot;1095&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Optional: Configure VLANs for the new vNICs which can be the same or different but IP them uniquely. If you don’t intend to tag VLANs in your cluster or have a flat network with one subnet, skip this step.&lt;br /&gt;
&lt;pre&gt;Set-VMNetworkAdapterVLAN –VMNetworkAdapterName “SMB_1” –VlanId 00 –Access –ManagementOS
Set-VMNetworkAdapterVLAN –VMNetworkAdapterName “SMB_2” –VlanId 00 –Access –ManagementOS&lt;/pre&gt;
&lt;br /&gt;
Verify your VLANs and vNICs are correct. Notice mine are all untagged since this demo is in a flat network.&lt;br /&gt;
&lt;pre&gt;Get-VMNetworkAdapterVlan –ManagementOS&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb1&quot; border=&quot;0&quot; height=&quot;124&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHEGxk4D6u6g2fCoQeH3GdlTEcbzoxSU0ZuY_rEyBES5Tj0wtqpVNggFRuPD6lH-VF30J_safh8f_kwAJGiSwJ1s0_qbsFNt-cYyRSFHM-GpufTi3lP_M2WpF71fv5rPMYyxw_VB4TfwEu/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb1&quot; width=&quot;575&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Restart each vNIC to activate the VLAN assignment.&lt;br /&gt;
&lt;pre&gt;Restart-NetAdapter “vEthernet (SMB_1)”
Restart-NetAdapter “vEthernet (SMB_2)”&lt;/pre&gt;
&lt;br /&gt;
Enable RDMA on each vNIC.&lt;br /&gt;
&lt;pre&gt;Enable-NetAdapterRDMA “vEthernet (SMB_1)”, “vEthernet (SMB_2)”&lt;/pre&gt;
&lt;br /&gt;
Next each vNIC should be tied directly to a preferential physical interface within the SET switch. In this example we have 2 vNICs and 2 physical NICs for a 1:1 mapping. &lt;span style=&quot;background-color: yellow;&quot;&gt;&lt;strong&gt;Important to note:&lt;/strong&gt; Although this operation essentially designates a vNIC assignment to a preferential pNIC, should the assigned pNIC fail, the SET switch will still load balance vNIC traffic across the surviving pNICs.&lt;/span&gt; It may not be immediately obvious that this is the resulting and expected behavior.&lt;br /&gt;
&lt;pre&gt;Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName &quot;SMB_1&quot; -ManagementOS –PhysicalNetAdapterName “Mell1”
Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName &quot;SMB_2&quot; -ManagementOS –PhysicalNetAdapterName “Mell2”&lt;/pre&gt;
&lt;br /&gt;
To quickly prove this, I have my vNIC “SMB_1” preferentially tied to the pNIC “Mell1”. SMB_1 has the IP address 10.50.88.82&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb3&quot; border=&quot;0&quot; height=&quot;125&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX7UZtAtFfRs3fZKm0DBhrkhfcre0yQKQGVKQGrkhOThfjYz5fYUKaTMnUFpcbRPQkEn2b2kLsfW97Ks7T7shBjhNrakX-Z01pF24mRJ_u2eqot2Ft0Ne_HNyViGVPXiHaoTjoaNDgRG6-/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb3&quot; width=&quot;622&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Notice that even though I have manually disabled Mell1, the IP still responds to a ping from another host as SMB_1’s traffic is temporarily traversing Mell2:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb4&quot; border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu7Lblg82Sx0B_KZCNycGfQoiOT8pE5K1FXdN6Jh_dWh-FXB7qyk8e99gcEYEAkVIExcaDNhIxT6PWSGEIfGqL_DKlJQpUZU6Cqi2Ga5uViin2d4Sw5SQeRO6NshjbfWDCMaYnhDIP-BQ6/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb4&quot; width=&quot;663&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Verify the RDMA capabilities of the new vNICs and associated physical interfaces. RDMA Capable should read true. &lt;br /&gt;
&lt;pre&gt;Get-SMBClientNetworkInterface&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image_thumb2&quot; border=&quot;0&quot; height=&quot;270&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWgtGDZcX5Lymqv2M2abY8soU5XX5bkOoXy451uaH8YFYi16nhb4NQYTXHcN5pTrZ3LYvuWp5KGcypd1rJvoHNOhskpqm9N93sfh5bODya-mUbu3a2gLHh7uVIP0w5vBDqoAil8zjflb2o/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb2&quot; width=&quot;895&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Build the cluster with a dedicated IP and slash subnet mask. This command will default to /24 but still might fail unless explicitly specified.&lt;br /&gt;
&lt;pre&gt;New-Cluster -name &quot;Cluster Name&quot; -Node &lt;span style=&quot;color: red;&quot;&gt;Node1, Node2, etc&lt;/span&gt; -StaticAddress &lt;span style=&quot;color: red;&quot;&gt;0.0.0.0/24&lt;/span&gt;&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;113&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEginsG2Fyq_GnzwN9sC6rEZYNe6U_81B48qCjyp1RHJr7z3CwAv2wZfBeJXxxZzreZr-shyphenhyphenNKaelfPeZleGBsJ13FSvBoX8Tg8n2Q6Mov7h_xXKUEQkpUbdghi4VWaGNO2fvTVPkhQ2LIl8/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Checking the report output stored in c:\windows\cluster\reports\, it flagged not having a suitable disk witness. This will auto-resolve later once the cluster is up.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;194&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaXfOUysPqckoTARJqtmOj7YZCedCLWenllxoa7AXgkdidbAaiKS4xTeB7KQl7RMkb_Bh348xaf7K5ZUuySqyyNGcaG8-y5DLZo_ByMU-j8ydzLWOh5SHCsK6zvJZcoaYGaGJmV97cZOK4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;757&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The cluster will come up with no disks claimed and if there is any prior formatting, they must first be wiped and prepared. In PowerShell ISE, run the following script, enter your cluster name in the red text.&lt;br /&gt;
&lt;pre&gt;icm (Get-Cluster -Name &lt;span style=&quot;color: red;&quot;&gt;S2DCluster&lt;/span&gt; | Get-ClusterNode) {
Update-StorageProviderCache&lt;br /&gt;

Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue&lt;br /&gt;

Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue&lt;br /&gt;

Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue&lt;br /&gt;

Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue&lt;br /&gt;

Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {&lt;br /&gt;

$_ | Set-Disk -isoffline:$false&lt;br /&gt;

$_ | Set-Disk -isreadonly:$false&lt;br /&gt;

$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false&lt;br /&gt;

$_ | Set-Disk -isreadonly:$true&lt;br /&gt;

$_ | Set-Disk -isoffline:$true&lt;br /&gt;

}&lt;br /&gt;

Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName&lt;br /&gt;

} | Sort -Property PsComputerName,Count&lt;/pre&gt;
Once successfully completed, you will see an output with all nodes and all disk types accounted for.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;629&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE4mMBY96HnsX04SdmHp4TcxBxfE7S6IveKZkvD1WXI56wyz3a0uORBzhFJJYYoYEN0DGp9Ka2xA4JD0HVm41gAakd7fygQNJjhgy_T0bKI6In_M7xS2F83dn9XR5-jSURhJ8_mOtb4lhZ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;783&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Finally, it’s time to enable S2D. Run the following command and select “yes to all” when prompted. Make sure to use your cluster name in red.&lt;br /&gt;
&lt;pre&gt;Enable-ClusterStorageSpacesDirect –CimSession &lt;span style=&quot;color: red;&quot;&gt;S2DCluster&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Storage Configuration&lt;/span&gt;&lt;/h3&gt;
Once S2D is successfully enabled, there will be a new storage pool created and visible within Failover Cluster Manager. The next step is to create volumes within this pool. S2D will make some resiliency choices for you depending on how many nodes are in your cluster. 2 nodes = 2-way mirroring, 3 nodes = 3-way mirroring, if you have 4 or more nodes you can specify mirror or parity. When using a hybrid configuration of 2 disk types (HDD and SSD), the volumes reside within the HDDs as the SSDs simply provide caching for reads and writes. In an all-flash configuration only the writes are cached. Cache drive bindings are automatic and will adjust based on the number of each disk type in place. In my case, I have 4 SSDs + 5 HDDs per host. This will net a 1:1 cache:capacity map for 3 pairs of disks and a 1:2 ratio for the last 3. Microsoft’s recommendation is to make the number of cache drives a multiple of the number of capacity drives, for simple symmetry. If a host experiences a cache drive failure, the cache to capacity mapping will readjust to heal. This is why a minimum of 2 cache drives per host are recommended. &lt;br /&gt;
&lt;br /&gt;
Volumes can be created using PowerShell or Failover Cluster Manager by selecting the “new disk” option. This one simple PowerShell command does &lt;strong&gt;three&lt;/strong&gt; things: creates the virtual disk, places a new volume on it and makes it a cluster shared volume. For PowerShell the syntax is as follows:&lt;br /&gt;
&lt;pre&gt;New-Volume –FriendlyName “Volume Name” –FileSystem CSVFS_ReFS –StoragePoolFriendlyName S2D* –size xTB&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTNM60xxgJKGmiafM6V-E-hBohTBl3vw95LUPZZqkjDEWWUoEWHKLiwlXyxCI_bO_7yOnLI7t7gRv-AwiAyapaKzzAhmA8ZaPjZlQNuAU96L7am45pehp4_hICUHCfKTwu0JZ5EIFK_x6q/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkTKzIWSpigoGpvC23VnCM8ioIWVbRyQvSJ3-aknwyK4sDjdyY3cUjBWkCz_fVbJg6MCki2ll2VeY8Ov37f5X4BmobGPWpFi_dKh-fSWwrnjl8Om3lGtqZudK52GY49go-eiPV9EDq_GrR/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
CSVFS_ReFS is recommended but CSVFS_NTFS may also be used. Once created these disks will be visible under the Disks selection within Failover Cluster Manager. Disk creation within the GUI is a much longer process but gives meaningful information along the way, such as showing that these disks are created using the capacity media (HDD) and that the 3-server default 3-way mirror is being used. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;425&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj34RioH2mS0YdnDUtSveh9MGmR95dXZEXj9hjfwurLhSiidZ6dc8Ai6ZgtfprpaoTyqeuR7raLv36Z_eUrKMwErBhB-p3VEurGQ_yyQyVuvXzkBM2aLGbnZZ6_HPZQSK27B_4aFfxidspj/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;570&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
The UI also shows us the remaining pool capacity and that storage tiering is enabled.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;500&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguc5DMOwJyWbCESlwfbvtSXu94pp8Qjtq8WrRgUhM0EnKrYrM9_Eg0YYHQrpQF-v9ZSBtbo_EPJawgBu0H6zTDx5cQkkfuF7c2PRScHkdPSrQ1sQGd-HFc6ztA8CLamxlkmWRb6wc9zVgy/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Once the virtual disk is created, next we need to create a volume within using another wizard.&amp;nbsp; Select the vDisk created in the last step:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;419&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWsq5cDVHLZCiJ9DiANXatwB715yllIr9JuRXgkSJDxmqYMTCA0PFPB_aY7vxHIYiKgcSXafzQjlxyZdliBJnX0ZoeKsNv5d-3hdXNwXh5FspqTy-hDmACIKcag4uPRLSePE_WoiJ5haPY/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Storage tiering dictates that the volume size must match the size of the vDisk:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;545&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuipyPVnpDdnyxla75Da5Ual-4Yf1u6F0lr1o1oUpKCX02EikccPDGdMo7V0B22P4LVq1QBjTxb_anmg4x0VsMJ1gDkLxLeB1P0WCpRTgWBrm7WMO-xdIxjvLNug11OsseKYu52pN3ZX6K/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Skip the assignment of a drive letter, assign a label if you desire, confirm and create.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;522&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsnKtkX5vtf5V12339olgUknbiO8X18jGfGFj8CeyIAXYGJwRQaCc_MuhfuwwF0PtUcIemuxkbqQdytnppx3ByBNAIkcdvlj5-RsFIlRigtUy3nxJqRwVS5ZoiUyMq2Atq51tx4bBIpXPC/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
The final step is to add this new disk to a Cluster Shared Volume via Failover Cluster Manager. You’ll notice that the owner node will be automatically assigned:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibumrdkmNQ7BDk0vqNZ6yCEEdSDRXKAobF1ovnEb_K2O2AfhdZNsQaCbZdah03y_gGt9gj7VG0JkGfvl9eFt7cupMwAj4pbzgalkj5HHHYP4XiE5_NWR-DhRjsS4_Cb5WMQBL2CiwpOIZe/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Repeat this process to create as many volumes as required. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RDS Deployment&lt;/span&gt;&lt;/h3&gt;
Install the RDS roles and features required and build a collection. See &lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;this post&lt;/a&gt; for more information on RDS installation and configuration. There is nothing terribly special that changes this process for a S2D cluster. As far as RDS is concerned, this is an ordinary Failover Cluster with Cluster Shared Volumes. The fact that RDS is running on S2D and “HCI” is truly inconsequential. &lt;br /&gt;
As long as the RDVH or RDSH roles are properly installed and enabled within the RDS deployment, the RDCB will be able to deploy and broker connections to them. One of the most important configuration items is ensuring that all servers, virtual and physical, that participate in your RDS deployment, are listed in the Servers tab. RDS is reliant on Server Manager and Server Manager has to know who the players are. This is how you tell it. &lt;br /&gt;
&lt;img alt=&quot;image_thumb[1]&quot; border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDdPYWaDDVUM2BCEWGuoNoMb1-SH1viGFkkQnNhJGPiCmXSaSsXbI_8PiawDEfkbhvm0Q6TcMr-hTZ09C-MF44W4MenfiIE6geNGqKg8NKqlKdBIvtXmdmdWKSINcUjuOXQ8i6nzqaFOJB/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image_thumb[1]&quot; width=&quot;613&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
To use the S2D volumes for RDS, point your VM deployments at the proper CSVs within the C:\ClusterStorage paths. When building your collection, make sure to have the target folder already created within the CSV or collection creation will fail. Per the example below, the folder “Pooled1” needed to be manually created prior to collection creation.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;566&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE3eTzDXM7ZsUgW_aJgusTLv0KmL03NcEmaEEN0hpEv81QwvL425r6vjdkiVYNty7XwSXcsvYuGGEJzPPZkluv7Ot4tVqrqELfb2ZteHTPF7M_CXUsCJR7iug2qlbfv8j_V-k29hfgD9eZ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;771&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
During provisioning, you can select a specific balance of VMs to be deployed the RDVH-enabled hosts you select, as can be seen below.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;574&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibgC4ygEHpXxDi7ytW7vC9rsmdA7vmE7E8M-wKGTz1FIJwpMA8qgoE3MfZQJXPLRH3nDjOskUxCaV3hr2nNKkXB1k9sCtbidP5o6BFAtB6cBj3A4lTVhvWEUvGS5yxqyVAVb2WF0ML1fK4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;775&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
RDS is cluster aware in that the VMs it creates can be created as HA within the cluster and the RD Connection Broker (RDCB) remains aware as to which host is running which VMs should they move. In the event of a failure, VMs will be moved to a surviving host by the cluster service and the RDCB will keep track. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;456&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhonIvDRkaBo1FGoLFCItVZWTA_znUP82tvYgKcvwngGnE3jgy8AxYpIAcpL08wuCUs1llbDeQ7m_YS3xJ0gt3YH53WKECugGwYNb2a8JprFgdq6A5DL4ObuZ8kldHVauGRmItE_caciQXV/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;527&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/01/the-native-msft-stack-s2d-rds-part-1.html&quot; target=&quot;_blank&quot;&gt;Part 1: Intro and Architecture&lt;/a&gt;&lt;br /&gt;
Part 2: Prep &amp;amp; Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-3.html&quot; target=&quot;_blank&quot;&gt;Part 3: Performance &amp;amp; Troubleshooting&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/hyper-converged-solution-using-storage-spaces-direct?f=255&amp;amp;MSPPError=-2147217396&quot; target=&quot;_blank&quot;&gt;S2D in Server 2016&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/storage-spaces-direct-overview&quot; target=&quot;_blank&quot;&gt;S2D Overview&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/create-volumes&quot; target=&quot;_blank&quot;&gt;Working with volumes in S2D&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/understand-the-cache&quot; target=&quot;_blank&quot;&gt;Cache in S2D&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-2.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-931855061137388817</guid><pubDate>Fri, 07 Apr 2017 04:03:00 +0000</pubDate><atom:updated>2018-02-21T09:43:42.273-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">S2D</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>The Native MSFT Stack: S2D &amp; RDS – Part 1</title><description>Part 1: Intro and Architecture &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-2.html&quot; target=&quot;_blank&quot;&gt;Part 2: Prep &amp;amp; Configuration&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-3.html&quot; target=&quot;_blank&quot;&gt;Part 3: Performance &amp;amp; Troubleshooting&lt;/a&gt;&lt;br /&gt;
Make sure to check out &lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;my series&lt;/a&gt; on RDS in Server 2016 for more detailed information on designing and deploying RDSH or RDVH. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/?imgmax=800&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
For Microsoft purists looking to deploy VDI or another workload on the native Microsoft stack, this is the solution for you!&amp;nbsp; Storage Spaces Direct (S2D) is Microsoft’s new kernel-mode software-defined-storage model exclusive to Server 2016. In the last incarnation of Storage Spaces on Server 2012R2, JBODs were required with SAS cables running to each participating node that could then host SMB namespaces. No longer! Server 2016 Datacenter Edition, local disks and Ethernet (10Gb + RDMA recommended) are all you need now. The setup is executed almost exclusively in PowerShell which can be scripted, of course. Microsoft has positioned their first true HCI stack targeting the smaller side of SMB with a 16 node maximum scale. The S2D architecture runs natively on a minimum of 2 nodes configured in a Failover Cluster with 2-way mirroring. &lt;br /&gt;
NVMe, SSD or HDDs installed in each host are contributed to a 2-tier shared storage architecture using clustered mirror or parity resiliency models. S2D supports hybrid or all-flash models with usable disk capacity calculated using only the capacity tier. SSD or NVMe can be used for caching and SSD or HDD can be used for capacity. Or a mix of all three can be used with NVMe used for cache, SSD and HDD providing capacity. Each disk tier is extensible and can be modified up or down at any time. Dynamic cache bindings ensure that the proper ratio of cache:capacity disks remain consistent for any configuration regardless of whether cache or capacity disks are added or removed. The same is true in the case of drive failure in which case S2D self heals to ensure a proper balance. Similar to VMware VSAN, the storage architecture changes a bit between hybrid or all-flash. In the S2D hybrid model, the cache tier is used for both writes and reads. When the all-flash model is in play, the cache tier is used only for writes. Cluster Shared Volumes are created within the S2D storage pool and shared across all nodes in the cluster. Consumed capacity in the cluster is determined by provisioned volume sizes, not actual storage usage within a given volume. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;586&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhidyfgIgyXWqYeuzz31E0t3459lI7A5Ek4Vkx7ZKTgTbw7abOiWnho4EBTB_QRJ69rwBOTi2nWYq_Ich41TKFUTDkmflil4jE0eyq6T3wkY0wKI6gIaRmNKYpZKZTojOctYzrXRtPyMPBn/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;659&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
A new Switch Embedded Teaming (SET) model brings NIC teaming integration to Hyper-V in a way that provides easy pNIC service protection and vNIC scale out for distributed management architectures. By contrast, in 2012R2 the teaming mechanism exists at the Windows OS layer with a few load balancing modes included. For Hyper-V in 2016 SET is the model you want to use. Important to note that this should not be combined with any other NIC teaming option, you need to use one or the other. vNICs are created to connect VMs to the SET switch or used by the Management OS for clustering or other services. If you want to use different VLANs for specific services, a vNIC per VLAN will be required. At a minimum, you will want three vNICs, one for mgmt and two for storage IO. Things like CSV, cluster heartbeating and Live Migration can easily make use of the RDMA/ SMB vNICs. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;354&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCFVUpiflbn196ayabHuMgo5xpbxBgPERNl0EAiulNxYAAZtM_K5YVzmtwdL2oAgSVgdo6McZ1LFHxlTztMwsKS_Y9Vj8lHc0Pu4npAiYJ_9fMjeSMMY42fGZDV3eviBT_keZ1ohgd-XaU/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline;&quot; title=&quot;image&quot; width=&quot;486&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
NTFS is available but ReFS is the recommended file system for most implementations which currently doesn’t support deduplication. Storage capacity efficiency is directly related to the resiliency model you choose to implement for your volumes. Mirroring does as it suggests by creating 2 or 3 copies of data on discrete hosts. Parity, also known as Erasure Coding, is similar to a RAID model which uses less storage for resiliency but at the cost of disk performance. New to Server 2016 is a mixed parity mode that allows a volume to exist as part mirror and part parity. Writes would first go to the mirror portion then later be de-staged to the parity portion. A desired level of fault tolerance will affect the minimum number of nodes required per a given configuration, as outlined in the table below.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;0&quot; style=&quot;width: 951px;&quot;&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;149&quot;&gt;&lt;strong&gt;Resiliency&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;138&quot;&gt;&lt;strong&gt;Fault Tolerance&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;161&quot;&gt;&lt;strong&gt;Storage Efficiency&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;501&quot;&gt;&lt;strong&gt;Minimum # hosts&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;149&quot;&gt;2-way mirror&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;138&quot;&gt;1&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;161&quot;&gt;50%&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;501&quot;&gt;2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;149&quot;&gt;3-way mirror&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;138&quot;&gt;2&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;161&quot;&gt;33%&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;501&quot;&gt;3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;149&quot;&gt;Dual parity&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;138&quot;&gt;2&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;161&quot;&gt;50-80%&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;501&quot;&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;149&quot;&gt;Mixed&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;138&quot;&gt;2&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;161&quot;&gt;33-80%&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;501&quot;&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Much more information on S2D resiliency and examples &lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/storage-spaces-fault-tolerance&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. As a workload, RDS layers on top of S2D as it would with any other Failover Cluster configuration. Check out my previous series for a deeper dive into the &lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html&quot; target=&quot;_blank&quot;&gt;native RDS architecture&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Lab Environment&lt;/strong&gt;&lt;br /&gt;
For this exercise I’m running a 3-node cluster on Dell R630’s with the following specs per node:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Dual E5-2698v4  &lt;/li&gt;
&lt;li&gt;256GB RAM  &lt;/li&gt;
&lt;li&gt;HBA330  &lt;/li&gt;
&lt;li&gt;4 x 400GB SAS SSD  &lt;/li&gt;
&lt;li&gt;5 x 1TB SAS HDD  &lt;/li&gt;
&lt;li&gt;Dual Mellanox ConnectX-3 NICs RDMA Over Converged Ethernet (ROCE)  &lt;/li&gt;
&lt;li&gt;Windows 2016 Datacenter (1607)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
The basic high-level architecture of this deployment:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;424&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZY4re9q5svKfXVKPTGJAsljBAMakEP1tpr-VbB-LmmfBTCdtPZC4_fdlFms-ILBpowtcejqgNzxuaVubTFWSvmSd8ipRtC0nlaJ2kmCq6tUCO7XyjJtI5SNIKxu6Z8FCNhqN1N1CTU4L0/?imgmax=800&quot; style=&quot;background-image: none; border: 0px currentcolor; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;830&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Part 1: Intro and Architecture &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-2.html&quot; target=&quot;_blank&quot;&gt;Part 2: Prep &amp;amp; Configuration&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2017/04/the-native-msft-stack-s2d-rds-part-3.html&quot; target=&quot;_blank&quot;&gt;Part 3: Performance &amp;amp; Troubleshooting&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/hyper-converged-solution-using-storage-spaces-direct?f=255&amp;amp;MSPPError=-2147217396&quot; target=&quot;_blank&quot;&gt;S2D in Server 2016&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/storage-spaces-direct-overview&quot; target=&quot;_blank&quot;&gt;S2D Overview&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/create-volumes&quot; target=&quot;_blank&quot;&gt;Working with volumes in S2D&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/understand-the-cache&quot; target=&quot;_blank&quot;&gt;Cache in S2D&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/01/the-native-msft-stack-s2d-rds-part-1.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-776282821783762925</guid><pubDate>Wed, 01 Feb 2017 22:27:00 +0000</pubDate><atom:updated>2019-07-31T22:34:52.164-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PC</category><category domain="http://www.blogger.com/atom/ns#">Windows10</category><title>New PC Build for 2017</title><description>&lt;img alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgp2q1QRBukYJvxCtPRYfNN345xTDwNK0RTRAuW8SzWinXDZwfZQC-M6ZhtmSz7ZUasrc6U-vsvjE35Sl-_1dePl4A8U2ptZmLcauWjrH2sSHrkrV2FiBs26Ft5x4Xjx3688nAaBrLQZig/?imgmax=800&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; title=&quot;&quot;&gt;  &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: BitFenix&lt;/span&gt;&lt;/div&gt;
I can&#39;t believe it&#39;s time already, 2 years has flown by! I&#39;ve managed to stick to a 2-year upgrade cadence for the last 8 years, performing meaningful upgrades at each interval. This year I debated skipping but I pressed forward as there are a few key technologies I want to enable: Pascal GPU, M.2 NVMe, DDR4 RAM and the Z270 chipset. 2 years is also a great time frame for reasonable cost reclamation on my used parts. The new Kaby Lake CPU upgrade doesn&#39;t look to be a massive jump from the Haswell chip I ran for the past 2 years (4790K) and an even smaller step from Skylake. In case you want to check out my previous builds they can be found &lt;a href=&quot;http://www.exitthefastlane.com/2015/04/new-pc-build-for-2015.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.exitthefastlane.com/2013/03/new-pc-build-for-2013.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;. &lt;br /&gt;
I plan to reuse my &lt;a href=&quot;https://bitfenix.com/global/en/products/chassis/phenom-micro-atx/&quot; target=&quot;_blank&quot;&gt;BitFenix Phenom M&lt;/a&gt; Micro-ATX case which I absolutely love, my amazing Noctua NH-U12S CPU cooler + case fans and my Silverstone ST55F PSU, but those will be the only holdovers. &lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img height=&quot;711&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJckEnu2R8WqyanLu0fiC0zPZ9NBWLOnFmGkv6AKcgfBoP7BAyWlRflUpYBPyMDmYgSi0dKud6q_FC2_-m_SvQsoLRlzHG8QiPIzTjOZOqwXtv86AsqflJDbKx5ee3sEstBvZBDTF-CxFA/w1134-h1045-no/&quot; width=&quot;771&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Motherboard&lt;/span&gt;&lt;/h3&gt;
Micro-ATX is still the smallest form factor that works for me given what I want to achieve and I endeavor to go as small as possible.&amp;nbsp; The &lt;a href=&quot;https://www.asus.com/Motherboards/ROG-Strix-Z270I-Gaming/overview/&quot; target=&quot;_blank&quot;&gt;Asus ROG Strix Z270i&lt;/a&gt; came very close to pushing me into Mini-ITX. For this build I need 2 x M.2 slots and like the idea of having a 2nd PCIe slot should I want to do SLI at some point. 2 x DIMM slots is doable to run the 32GB RAM I need but again, no expansion while reusing my existing investment. So I stayed with mATX and went with the &lt;a href=&quot;https://www.asus.com/us/Motherboards/PRIME-Z270M-PLUS/&quot; target=&quot;_blank&quot;&gt;Asus Prime Z270M-Plus&lt;/a&gt; which will suit my needs without a lot of extra pizazz. There are a number of considerations in the Asus mobo lineup as well as in the Intel chipsets. The graphic below highlights the key features of my new board. Most notably, RAM clock support up to 3866MHz, a USB Type-C connector in the IO panel, dual x4 M.2 slots positioned optimally below the PCIe slots, Intel Gb NICs and SafeSlot Core which provides PCIe slot strength to hold those heavy GPUs.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;678&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgESghMp6fcW2d1Y1Q411J9273dX_ucIcB1kGMZBFr6FwrnY5L7NzAUAE8eVB39YKg9GSBECTqR-QXHX73qBakFQQ4QnEfDaXC_rH_FJjKCyN_Y9sT46pcTDS8TTkB8UmHtOG7rFlVp4dqF/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;987&quot; /&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Asus&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Asus put together a &lt;a href=&quot;http://edgeup.asus.com/2017/01/03/z270-motherboard-guide/&quot; target=&quot;_blank&quot;&gt;great blog post&lt;/a&gt; that details all their current motherboard product lines and how they are differentiated. In short the Prime line is the all-around mainstream offer without a ton of extravagances, TUF is the military spec with drop resistance, Strix is geared at the gaming crowd with 5 levels (low to high) and supports higher RAM clocks, ROG is aimed at people who consider themselves enthusiasts with extra lighting support, overclocking options and the highest available RAM clocks. Having bought ROG boards in the past and not used a fraction of the extra stuff they come with, I took a serious feature evaluation on exactly what I need in a motherboard. Prime suits my needs just fine and the saved $ is welcomed. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Chipset&lt;/span&gt;&lt;/h3&gt;
The 270 is the new chipset for the 7th gen Intel proc and comes in “Z” or “H” variations. Z for consumers includes features like overclocking while H is geared more for corporate builds with less features. New in the 200 series chipset is support for Intel’s Optane NVMe and dual m.2 slots with dedicated PCIe lanes. Both Skylake and Kaby Lake CPUs use the same 1151 socket and are interchangeable on either 100 or 200 series boards. Below is a PCH feature comparison of the 4 most relevant configurations at the moment. You notice the biggest difference between the 170 and 270 are more IO/PCIe lanes. Also on the 170 chipset, a M.2 device cost 2 x SATA ports since these share PCIe lanes (same on the Z97 boards), this tax has been removed on the 270.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot; style=&quot;direction: ltr; line-height: normal;&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;border-bottom: #a3a3a3 0pt solid; border-collapse: collapse; border-left: #a3a3a3 0pt solid; border-right: #a3a3a3 0pt solid; border-top: #a3a3a3 0pt solid; direction: ltr; line-height: normal; width: 1064px;&quot; valign=&quot;top&quot;&gt; &lt;tbody style=&quot;border-bottom-color: #a3a3a3; border-bottom-width: 0pt;&quot;&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;&lt;strong&gt;Chipset&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;&lt;strong&gt;Intel Z270&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;&lt;strong&gt;Intel H270&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;&lt;strong&gt;Intel Z170&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;&lt;strong&gt;Intel H170&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;SKU Focus Segment&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Consumer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Consumer / Corporate&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Consumer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Consumer / Corporate&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;CPU Support&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Kaby Lake-S / Skylake-S&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Kaby Lake-S / Skylake-S&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Kaby Lake-S / Skylake-S&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Kaby Lake-S / Skylake-S&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;CPI PCI-e Configuration&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;1 x 16 or 2 x 8 or 1 x 8 + 2 x 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;1 x 16&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;1 x 16 or 2 x 8 or 1 x 8 + 2 x 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;1 x 16&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Independent DisplayPort&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Memory DIMMs&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Overclocking&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;background-color: yellow; color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Intel SmartSound Technology&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Intel Optane Technology&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;No&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Intel Rapid Storage Technology&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Intel Rapid Storage Technology From PCIe Storage Drive Support&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;RAID 0,1,5,10&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Intel Smart Response Technology&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;I/O Port Flexibility&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Maximum High Speed I/O Lanes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;30&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;30&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;26&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;22&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Total USB Ports (Max USB 3.0)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14 (&lt;span style=&quot;background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat;&quot;&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;10&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14 (8)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14 (10)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;14 (8)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Max SATA 6 Gbps Ports&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Max PCI-E 3.0 Lanes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;background-color: yellow; color: #404040; font-size: 11pt;&quot;&gt;24&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;337&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;Max Intel RST for PCIe Storage Ports (x2 M.2 or x4 M.2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;183&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;171&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;184&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt; &lt;td style=&quot;background-color: white; border-bottom-width: 0pt; border-left-width: 0pt; border-right-width: 0pt; border-top-width: 0pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt; vertical-align: top;&quot; width=&quot;181&quot;&gt;&lt;div style=&quot;margin: 0in;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;span style=&quot;color: #404040; font-size: 11pt;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;CPU&lt;/span&gt;&lt;/h3&gt;
Intel is making it less difficult to choose a desktop CPU these days with far fewer overall options if you want a higher-end unlocked CPU under $500 and aren’t upgrading from a recent gen. If you want the best 8 core desktop CPU Intel has to offer and have no budget, look no further than the i7-6900K. If you’re upgrading from a 4th or earlier gen i7 the choice is simple: i7-7700K (14nm). If you have a Skylake CPU already (i7-6700K, also 14nm) there is&lt;strong&gt; &lt;u&gt;no need&lt;/u&gt;&lt;/strong&gt; to upgrade as any performance gain will be minimal. If you’re like me coming from Haswell (i7-4790K), the performance gain will be at best in the 10% range and may not be worth it, unless also like me, you want to upgrade to enable other specific features. It’s odd to put this in print, but for this build the CPU is actually the least exciting thing I’m adding here! It also appears that this trend will continue for the next few generations of Intel CPUs, so I might not be upgrading again in 2 years. Between the 6th and 7th generation CPUs mentioned above, the only improvements on the Kaby Lake are: +200MHz base clock (times 4 cores), +300MHz to Turbo,&amp;nbsp; increased DDR4 speeds, and new embedded graphics gen, same socket, same 91W TDP. There just isn’t much here to warrant an upgrade from 6th to 7th gen sadly.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfytf_RGo1DsDZNNJPIQKbUi7m_V7fNNOOSJvMrDM5POokawdLZkYmk0SF-CpWfoJ0HBu88Fh14sNWsRmKzI22q0tFuqhFC0vTycMzus1EGgcTOMrEzpWJlPeW30fEScf7VGR2wEo4Y9u1/s1600-h/image%25255B10%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdQ9BZckSK0Flxf5FOwJC9b79HbZwKF18FkbBZIQDeN0XN8EvNczhGjCLIKZmcdQ3yKI8_PbCSZMWfs6_c2XFEzEpKA5_ADUDmC23elx4tZ4oHikkJqGHOMKOzvt2T1iviJ5MipBX4hh7E/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;403&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 Another alternative if you’re tired of the stale and uninspiring Intel lineup is the AMD Ryzen 7 coming in a few weeks. Early benchmarks show &lt;a href=&quot;https://goo.gl/ijUxfC&quot; target=&quot;_blank&quot;&gt;Ryzen beating the pants off&lt;/a&gt; of the highest end Intel chips. Promising to ship for a fraction of the cost ($329) and boasting 8 cores with a higher base clock but lower TDP, Ryzen should get serious consideration. This will be ultimately a good thing for Intel and push them to respond in kind upping their game to compete. Who knows, in 2 years I may be rebuilding with AMD.&lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJy-2G24qd04gW0DbGjmS4EqMUMuEHRF56mveYZnpogibgZAfF04DK65bCCyzFD5At5KyMC3tRWJ4CDdqJMkc1q1O5ZL-wHXDxZ0Ni_lnOW4HDSOxcDHKt8qqL-YORyv5qidQMFm5dv2Ow/s1600-h/amd-ryzen-700x200%25255B2%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimP-2kHLgUSk_-2qskHWSWhRjDhEO7luQ9jcWVT7AKyXVtdkEokAxNqkAcig_lDF0u1_gpTq_vuzJqNhV2Myvg4Jw0OOnWXW1SvYhHkN0WkJllqfBMXynXq0lAoySRzZV_lvR2A6KYY3fq/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;700&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: AMD&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;CPU Cooler&lt;/span&gt;&lt;/h3&gt;
Since the mounting of Intel CPUs hasn’t changed enough from the 4th gen CPUs, I was able to reuse my &lt;a href=&quot;http://noctua.at/en/nh-u12s.html&quot; target=&quot;_blank&quot;&gt;Noctua NH-U12S&lt;/a&gt; tower cooler which is designed to support many different mounting requirements. This all copper 6 heat piper cooler has 45MM fins so will not encroach on any&amp;nbsp; memory heat spreader, regardless of height. With the NF-F12 fan attached to the cooler, cold air is pushed across the fins, carrying hot air straight out the back of my case. This remains and excellent part and excellent choice for a SFF Kaby Lake PC build.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTd__rakQ3FKQ5yTnSCDkSef72eZd6OvrEBuWZiJhD3EQiyiW04E_RXdIuSXFvCB5vJ8iBYHtSKhOVvY3LHxVQbehC4ZUhqzIdZRN-LbPpaC_1bXLTQ1lgi4x1hzhwI7J0USDEuSdJPpto/s1600-h/noctua_nh_u12s_1%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;365&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmRycn7RsQ5kyANUZeyANCiSTH6l8VFaOLC0Z7vBrTI8ka0WMflRhK43CRuMKLFvdQT5tqqJiFMy4EB1E3wly4guP6p80vU0sMgjjSK7livVLzEBJf4SNAKkizID458u8COSPSbmnEAQhk/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Noctua&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Memory&lt;/span&gt;&lt;/h3&gt;
Another reason I wanted to do this build was for the DDR4 upgrade as my Haswell build was DDR3. The memory market is a bit more complicated from the last time I looked at it, with most higher-end vendors playing the same marketing game. Most of the DIMMs available in this space are really 2133MHz DIMMs, but using XMP2 profiles enabled in the BIOS, the modules clock much higher. These modules are marketed using this higher frequency, which is not the default. This is the difference between the 1.2v SPD value of the module and the “tested” value enabled via higher voltage in XMP. What you pay for ultimately is this higher tested speed, a pretty heat spreader and a lifetime warranty.&amp;nbsp; After reading several articles comparing various DDR4 clock speeds across various benchmarks and applications, what is glaringly apparent is that the usefulness of faster memory fits into a very limited use case. In other words, almost no one will truly benefit by paying too much for high clocked RAM. My research showed that 3000MHz is about the sweet spot for DDR4 right now, anything faster is just more expensive with unlikely-to-achieve returns. &lt;br /&gt;
 Now that said, I was initially sold on a 16GB x 2 kit from the Corsair Vengeance LPX line marketed at 3200MHz. I went with these because Corsair is a well regarded brand and they were priced like a lower clocked pair. I was unable to ever achieve the marketed speed of 3200MHz, the closet I got, stable, was 3100MHz. But to get there I had to overclock the CPU as well. With only XMP enabled on these modules, I was never able to even POST, so I sent them back. There were several other reviews stating the same problem, which I should have heeded. Read the negative reviews and don’t settle for sub-par quality!&lt;br /&gt;
 My second attempt was a 32GB 3000MHz TridentZ kit from G.Skill, &lt;a href=&quot;http://www.gskill.com/en/product/f4-3000c15d-32gtz&quot; target=&quot;_blank&quot;&gt;F4-3000C15D-32GTZ&lt;/a&gt;. These modules are amazing, not only did the XMP profile take immediately as expected with no CPU OC required, they are quite possibly the most beautiful DIMMs I’ve ever laid eyes on. Pictures really don’t do them justice. &lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDAbamse73hZrc6INOha7IhGm1my8zVuF1aJquDIpzdYBUchZ21mCFTZqsDLP6PULC8gR_K9hwWabUW5zUIOw0jd59wHNf7c9CLNG6Ej9Tm_WORipviQ2aGXuhuxADO-JEA6EW4SqeLzDh/s1600-h/20-231-974-02%25255B7%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ODch_eNMiFfIiwwnxRJeJIupko4LuaWmAxgV0G5YXMQ61zlgUeqm7zZpT4f9CierDpqCo5sxBGfwxdXMZa_VpGZnU6WswopeNCJwhN6nZVznZeqXNCw88kzQ9aMKPUZ7iy82lgahkf7O/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;524&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: G.Skill&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
 You’ll notice in the G.Skill spec table below the difference between the SPD and Tested values, these are sold with the tested speeds as you can see on the DIMM label above. Nevertheless, I REALLY like this memory!&lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDQN4tKfVaqat4KQUviOaK6jcINYnpK6qA5leAyWa_7cU8p38S8ZHx450BJyL7Od9dNia1ulIyj8_5oa0EBh-sMI-in6T7QqJAuMElgOrEEFbtLTtYjA7RSNPq6YiBeWaZeCcQnP99U3KE/s1600-h/clip_image001%25255B3%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;434&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-0PdwhyphenhyphenWmWMGf-kN4th-9EkVv7Ptok18qjscUM-eNoiQ6zjAN9QvL2b63JKC8MduwjYO3asUpzzvSe_o8T-cDT_XR_CoH-DU8DVQrqV2GWOKgWt2XWmn7U0TREPH6UPNVbkuNr8ht3UB7/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;503&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;br /&gt;
 XMP2 profile applied, RAM performing as tested, as expected.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK8T01oLczrdspWM-AxxzHmSsmek3ThbbW-Imve56KFCzaCU083lB6q0gyw04sCTUM3mvD8myS31YiyybU5Dyip8EkzqwmkS5-AlzwL2aOYEB9N8T7ExFRaVyHcjCXTEibqOQ8MimfxbEm/s1600-h/image%25255B13%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_j2pJNMbzCV4Ggw73ApjfXUpXoT2ZJMw6pn2OuBcb7M19P_w2jqV-gfUvRLOcvzD7SBbL8fX-vnH0z2nWWi4z4wEeKJWf3CxHsjl0KVCjzpWTH0AI7W1HC_16ZF5WVDIsjecVxc3o_VIB/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;403&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 One note on the capacity, how much RAM do you really need? Personally, I leave a ton of stuff open all the time on my PC. 50+ tabs in chrome, word docs, Visio diagrams, RDP sessions etc. I like not having to ever worry about not having enough memory, no matter the workload I need to run. Dishonored 2 itself can use upwards of 8GB all on its own! The other thing I like is not having to use a pagefile which saves wear and tear on my SSDs but also guarantees high performance for all applications. To pull this off, watch the committed value on the memory tab in Task Manager. If this grows anywhere near the amount of physical RAM you have, the pagefile should probably be left enabled. If not, you could disable the pagefile and ease the burden on your SSD.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-mTNMC98uvHRMSlW4IBxA0G5SBaZ3FRK3llDuyiH4SVfWFwi0L0aiFHqx1WoVNIi75VusUeSAGNMOqjB6L4W2e0GAIO587KvRgawxYV6nQJa4BcSQMqNr8FSgAgb0jwb9BS2rkOKMqlb/s1600-h/image%25255B51%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;593&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6p4buq-VotqD0zgLxjp5cgEflxOtnI65HSl7mJp8YlnSNRLfJeSgTqGntswBGg7InPXvoOsvWYfXvantFcASGneGP50AyLW-0stZ5t8hTeKDR2nr4KfnPX10I15VBo-KgTBISxgrJeapS/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;666&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Data&lt;/span&gt;&lt;/h3&gt;
One the largest motivators for my upgrade this year was moving to &lt;a href=&quot;http://www.pcworld.com/article/2899351/everything-you-need-to-know-about-nvme.html&quot; target=&quot;_blank&quot;&gt;Non-Volative Memory Express&lt;/a&gt; (NVMe), specifically for the really exciting modules in the new Samsung 960 line. I’ll continue my three-tier model for OS, apps and data, using NVMe for the first two and spinning media for the third. Eventually I’d like to replace the data tier with an SSD, when the time is right. For this build I have a 512GB Samsung 960 Pro for my C drive, a 500GB Samsung 960 Evo for the app drive and a 4TB Seagate BarraCuda 3.5” SATA disk for archive data. These new Samsung NVMe modules are outperforming anything else in this space right now with the following factory performance profiles.&lt;br /&gt;
 &lt;br /&gt;
 &lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;width: 768px;&quot;&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;184&quot;&gt;&lt;strong&gt;Module&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;155&quot;&gt;&lt;strong&gt;Capacity&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;201&quot;&gt;&lt;strong&gt;Sequential Reads&lt;/strong&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;226&quot;&gt;&lt;strong&gt;Sequential Writes&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;184&quot;&gt;960 Pro&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;155&quot;&gt;512GB&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;201&quot;&gt;3500MB/s&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;226&quot;&gt;2100MB/s&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;184&quot;&gt;960 Evo&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;155&quot;&gt;500GB&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;201&quot;&gt;3200MB/s&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;226&quot;&gt;1900MB/s&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
 These optimistic factory numbers are several times faster than any SSD from any previous build. Crazy! As of this writing, the 512GB Pro module is $330 with the 500GB Evo at $250. Definitely a healthy cost differential for what you may argue is a near negligible performance delta. I wanted, what was perceived, as the fastest NVMe on the market so it seemed worth the price. Capacities on the Pro module go up to 2TB and 1TB on the Evo. The other big difference between these is the Pro modules come with a 5 year warranty vs 3 years on the Evo. These are x4 PCIe 3.0 modules using Samsung’s new famed Polaris controller and 48-layer V-NAND memory. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMj6Eigk136ijaBarL2PRunHjwuRpBhYwlJ4AuXl4b67YAejfNl3KifZeET8KJikTBj1oP_cvFZTzKi0MDTgtvliOQ9xof6M1A16zdQTgVNt9Fuy5c2Nta8smFIj5tsLUyHhZRSQ3jghD8/s1600-h/960Pro%25255B12%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLd8Cg2GjwWzck3y3f9DacwlFy8Lq2gWznqD9QqPsHDYXJhd5V0pctR_r2wbnM0z2HJsxIWT599qMJu9JixWbs5uS04lQyUBvBSgXmanH-CPwBvCanP-TpFHqIZE-KUBesLOND9F2hrvDB/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;620&quot; /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhODhnCjg7EAqbFzPue3-1V_hOQzfhwcvgfriauKJUxRC9XIQh49lZxS7fSgMXEtXAvvKFGBc6oRpxEs9MYI4CTaGqPA2Ua_QR898Nznh6KGALz14V10cv1EIKbSb93MTU36Y0KkCuA2kBz/s1600-h/960evo%25255B5%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;176&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWv5ybo9IxCRrWgbo8MV9mECaVndd77E61wXNZzWfHchnoxfOeXLNtyI2b3ZFeFJMmO22G3KoiOGlAM0p_IanfpGDTJGmQQodS23bm4VOeQlVCh9iEQ2km5vnpqA5vyrUqEv6zrYl5ezXi/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;620&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Samsung&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
 For local archive data I’m running the 4TB Seagate BarraCuda which is 6Gb SATA and 3.5”. Not a lot to say about this guy, who is a dinosaur in the making. &lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvlxMz9bgcTWhks4zZaLU6aqV6aMVF2AASWerltxd7Re2C8ltKvKmn2FCfiSY9oFNhPQRv11KybGWyIYQSM6h4JE9kJbdv6n9ZE2thKhCMyfWRn8WfAoaeuohyphenhyphenhE4RT4lgi2HPF0VCcHsG/s1600-h/Seagate%25255B5%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;388&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvncqa_tAcSroZHgZG5qv0yO3pY33jy6LtfoCVUddb6YTncwK90dytyDprUfFz0c0GJnX1gxDErl_HD-gZorQEgLE2p3-OyXZJuaw4Xn0HUqvp3PLLLy6opBasyON0BxP8dD65fAwXTozb/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;267&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Seagate&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
 My basic data scheme goes like this: C: OS only, D: Apps, games and a copy of working data (Dropbox), X: maintains a copy of working data from D and anything else too large or unimportant enough to replicate. Important data is then replicated to a 3rd target: NAS. &lt;br /&gt;
 &lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Graphics&lt;/span&gt;&lt;/h3&gt;
Upgrading my graphics capability was easily the most noticeable upgrade from my prior build. My previous MSI GTX970 was so solid, I went that way again with a &lt;a href=&quot;https://us.msi.com/Graphics-card/GEFORCE-GTX-1070-GAMING-X-8G.html&quot; target=&quot;_blank&quot;&gt;MSI GTX1070 Gaming X 8G&lt;/a&gt;. I’m a huge fan of these cards. This one in particular comes with a back plate, 8GB GDDR5 memory @ 8108MHz, a tunable GPU clock and fans that only run when temps exceed 60C (which isn’t very often). The 1080 model gets you higher GPU and memory clocks with more CUDA cores but looking at the benchmarks it barely outperforms its lesser sibling the 1070. I haven’t yet been able to throw anything that this card couldn’t handle at ultra resolution settings, so far Dishonored2, Mafia3 and Dues Ex: Mankind Divided. &lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBuJACNCp3mQzZxGGMZhFX7Pn9ZAc3VivW-PPl6p4EzfYobdsIkY7ylkaBkHcVjp1UnVFgOvqkyUPPZ1P0wmRsPwjqvVxL74Feh0NbRp-nZX44WGPnINF7km0zaV3eitkfFGxaV5qMqOJo/s1600-h/GPU%25255B4%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;440&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxpZZ8GgCpQRdPe2PUHeBrXBve0vEnVuet7wHsh4OPW4DV1sYWGs8S8gg5n-5WciAXddlhc6P7z9WVDdDHt0_q6LtckcQ4fyf6VJtQZgz05oGfIOF475Q5f_vdKFPCxvO-sZomkOZ8eWtU/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;802&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: MSI&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;PSU&lt;/span&gt;&lt;/h3&gt;
Reusing now for its third build in a row, my trusty Silverstone ST55F. Full modularity providing up to 600w max output with a 140mm footprint at 80Plus Gold efficiency… Hard to beat this one, unless your case can’t accept the depth. One step above is the newer ST55F with the platinum efficiency rating. The PP05 short cable kit worked well again and kept cable clutter to a minimum, although I don’t require many cables anymore. And now with the NVMe’s I used a full cable less no longer needing to power 2 extra SATA devices. As always, make sure to check &lt;a href=&quot;http://www.jonnyguru.com/modules.php?name=NDReviews&amp;amp;op=Story&amp;amp;reid=328&quot; target=&quot;_blank&quot;&gt;JonnyGuru.com&lt;/a&gt; first for thorough and detailed PSU reviews, the ST55F scores very high there. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWEZlaKUh4-gILMHak0lBcP3In89_h42c3mO5m8nC14zdJ7IiPuFRE284pP-7K3iaYtiaRLp6PPS_2YZlKJkX6sIddXKs_pCEdSI7DUUpBWlGQQq4p_KcfAyaij2liMlav9V10IfFWsWy0/?imgmax=800&quot;&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Silverstone&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Fans&lt;/span&gt;&lt;/h3&gt;
High quality SSO-bearing driven cooling with a low decibel rating and zero vibration is worth the small upcharge. &lt;a href=&quot;http://noctua.at/en/products/fan/nf-f12-pwm&quot; target=&quot;_blank&quot;&gt;Noctua&lt;/a&gt; makes the best fans on the market, so outfitted the entire case. Dual NF-F12 PWM 120mm at the top for downward intake and 1 x NF-A14 140mm fan at the rear for exhaust, in addition to the 120mm NF-F12 on the CPU cooler. I can’t recommend these highly enough. &lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLPrUAzCi7_W33MZKuH8TFBn4-J2gOUWMeYsfkP1Pg7K-rfXFjOwrdUueXo-lwlctg-TAw1Hbqm_r300sDedGc9jB_ksFFxIz9FAebgChAX3Up7HdnA8plGgfMBh9xMvRDVaFwPBvkZnVT/s1600-h/61gAvihNL6L._SL1000_%25255B3%25255D.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;309&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3DIU8be5Tlx6HndbIIubMkuyrw9Hc-UIn7NDCkQw7jWIE6Ip1HIoy0ZLZ4ZHwMwFuAK7iNFdcq_JlKV_34SCrQ0t1MGLCX-ouVsH7Aj0T3-rTYaZecOG88_quiLrI4mgiDIcNWwU2slMr/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;315&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: Noctua&lt;/span&gt;&lt;/div&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Case and Complete Build&lt;/span&gt;&lt;/h3&gt;
Once again I built into my &lt;a href=&quot;http://www.bitfenix.com/global/en/products/chassis/phenom-micro-atx/&quot; target=&quot;_blank&quot;&gt;BitFenix Phenom M&lt;/a&gt; which remains my favorite as easily the best case I’ve ever built with. If you go this route I &lt;u&gt;&lt;strong&gt;highly&lt;/strong&gt;&lt;/u&gt; recommend you flip the side panels putting the panel with the buttons and USB ports on the &lt;em&gt;left&lt;/em&gt; side of the case instead of the default right side. Otherwise, any time you need to open the case you will have to contend with cords and possibly unplugging cables from a power switch or USB header.&amp;nbsp; &lt;br /&gt;
 &lt;br /&gt;
 &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbeN6Fg5H1AjPUaWLs5vjLPhirgda9-xJ2wYHOQKWWkdwJ0mBmRs0mChduxNyX0kSU__5Z8KtslfzcuFSMRzseBF_iTncfGl0MLktiRTkiXqi1TOxfdGAycxUM0wpato_sE8xZCQ_xGX7n/s1600-h/1049%25255B3%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;484&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjILv0kZE7a6fQFuxP-YfNbnLLnUGffIRuU2UTyTS7T4s8AJtDELLXuvH_X2uo9PhO7gXIgmDmacToc9LDafO3YpQNvNM9u7rN9NSo6A3CoRF8iLW2NvnZRO075JLJDvK_C1vZp7yrZlWvf/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;491&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Credit: BitFenix&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
 The Phenom is a mix of steel and soft plastic with the same basic air flow design as the SG09: top down cooling, rear and optional bottom exhaust. This goes against the natural order of things (heat rising) but works very well with 2 x 120mm NF-F12 fans blowing cool air down into the case, directly into the GPU, down into the CPU cooler’s fan blowing across the tower fins and 140mm at the back to exhaust. The GPU breaths cool air, blows it across the PCB and out the rear slot. The rear fan can be either 120mm or 140mm, I opted for the later which is audible at times briefly under load but provides extremely effective cooling. Otherwise this build is silent! The black removable dust filter along the top of the case is the only filtered air input aside from the mesh in the front cover used by the solely PSU, which exhausts downward below the case. The case supports a 120mm radiator, such as the &lt;a href=&quot;http://www.corsair.com/en-us/hydro-series-h80i-high-performance-liquid-cpu-cooler&quot;&gt;Corsair H80i&lt;/a&gt;, if desired. The base section can support dual 120mm fans, a single 200mm fan, or 2 x 3.5” HDDs. The case also comes with a removable heat shield underneath to prevent exhaust heat from the PSU getting sucked back into the case. Lots of different configurations are possible with this case which is fantastic!&lt;br /&gt;
 The image below shows my completed build and illustrates the airflow scheme per my design selections.&amp;nbsp; Ultimately this case works extremely well and keeps all components well cooled. There aren’t a lot of nooks to tuck cables into in this case so bundling is about as good as it gets which is complicated when using shorter cables. The key is to not block any airflow with the bundle. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEW0uf4S-eBbM9i7l-0zgBo6EnpH9adloMUZiQ5nk4D4QO5C0dlNvSaWs2aiIQLQyI6CJKa-fANp8ScgZ8bsi9wYtn0A-iU1RI9e6wFX_yTg1z6SFNRJL9bFqk-cnP3C6PJwoARyvEI0oW/s1600-h/image%25255B67%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;728&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEkH0YawHKFm0q_q9O9dzFJO6cZEPVW5l3kNS3TOXXKSNYZd9s95azCeh-AScO2xK95i2Ua6xkg-iidUyis-ZIPr9xZVtOD4JCb6csfPpyYzr452KgHv-_zVK584iUVsokh-lTnA_uN0p7/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;971&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;CPU Performance&lt;/span&gt;&lt;/h3&gt;
The tools I used to benchmark CPU are PassMark PerformanceTest 9 and Cinebench. The CPU Mark results with the 2 reference parts tells the tale, there is only a very small incremental gain over my previous 4790K. The gain is even smaller from the reference 6700K Skylake part, reinforcing the fact that if you own Skylake now, there is really no point at all upgrading to Kaby Lake. My results for all components ranked within the 99th percentile according to PassMark.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9SfC7BTRxSrkJR_rtmxJKhIjQPutzQ2MqyiwNE9vnU4Pb3GmpHDKdMV0aTclqPUnz31wl1TshckWbXl42ZhQtYrYlBuZ6R-K5lmFcy0Hp65ku1K_u6QgJ_t7OOHrpuSePYKyIe710geH9/s1600-h/image%25255B45%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;518&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4pZctYJmLMHi0XOBhS1sifeqjtO8Ilj-T8Tu_lcBYiWreG9b2QUOTzJDFrNzpiMXRkDYQOj5VfFik7U9iMCApQwgGRr7rrCu6oDRRGJvtRma2ap82vEEokdeskdmdSCph-a8cycEzPFrs/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;674&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 Similar story on Cinebench but as is the case with all the benchmarks, there’s a ton of variance and a wide spread in the scores. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7V_lOtrvMWHNeis_FA1b7EvocNhAJC5HMAE0fBIWKDaR1iBiVPUcZ7QZPaan63QqJvIDpdALu2doJkzDeLvAfuZQAPBROpQu_BMEcuC_1Y5mI4jdeI1YAD0G9T10Gbx72kq07u3NXoGPl/s1600-h/image%25255B42%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;678&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt1FBbsF05yhlxL39PPWd0PfJyedP3FiRpxW6d5hVhPoFpCvxM8firyzPfHOj1nDkgGRqaF5VA_4Xef-I8OaKyZS1OJ5DFJlj9ZPaqhhUJeE4EnvZkLUtH7mbvo50KihIvKlJELtshm963/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;489&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Memory Performance&lt;/span&gt;&lt;/h3&gt;
For the Memory Mark I included a few other high-end PC builds with varying memory speeds. Not sure how useful this bench is honestly due to that top result on slower DDR3, shown below. Generally not a lot of variance here further suggesting that paying for higher RAM clocks is probably not worth it.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2LgWo94evT2ey2UqTKGz9xE8nHhG_QQO66Pf1aSxDhDFcfgAAiWvCp5ULZB17I8f8cZ7f0aH-_0ATHFDxD18B3G6qWazRdPZcSp9FyOg2mKK3qJqsNWaCkJgvglXTu1thtydwQZVWZo9g/s1600-h/image%25255B48%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;478&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw5dZnZriH1P2a0Adm_xIe0qpYPmGYK8P_xpQdgcrQU1HhuxNZQNFpznDvdkjnsC9Fe0ZpvLyFFLCjsmetCDqfg6JPcqrGmpXpna3aq6Usx4GEb9PjQD-PzgKOPYp7zomOKk0IA_VqZ29-/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;554&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Graphics Performance&lt;/span&gt;&lt;/h3&gt;
At the time I bought my new MSI GTX 1070 Gaming X board, the benchmarks showed this card barely below the top dog 1080, but for a significant cash savings. Coming from the 970, the 1070 is improved in every way with more memory, more cores, higher clocks and higher supported resolutions (4K). There was nothing my prior 970 couldn’t handle, as long as I had my games properly optimized, which meant a setting quality, at best, to “high”. With the 1070 I can run very intensive titles like Dishonored 2 at Ultra settings with no trouble at all.&lt;br /&gt;
 &lt;br /&gt;
 +3500 points in the 3D graphics mark test:&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Aax2-Jd0ZJ0K6rKnDfHn93Qdh5mpxG_SQNgi6g9kTioeV_2PP99z8a2oY7Azj1WP0O0n2Pevfa9RIz8u_wvVzKaP-1rVT_6Yrigot6xCkdI_RH3Rr6SoKhl54dCWKQOX2hhhL3SgVxSq/s1600-h/image%25255B39%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;217&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifr384Y1jeueWUXe9wzMIS04XW_gZBsHFQASLLmf1bd7tGtNUyRDn0pszWWy6uygfLQWWqm6c62bICINzocd7RKsKKDtRJdQndGLRo2OEpEqSynf-1ZjtbfdSDDZ0kq6l5hXPaFC-EnHgA/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;496&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;br /&gt;
 Old vs new on the Unigine Heaven bench, pretty significant difference even running the 1070 a step higher at Ultra:&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL5v_NCIUJ2Io0PAQo1Oo54tagYNmt8d7sgDqCSyFXZjDuV5ePE8CyJYFwAGj-IQ3Y-xkXY52aurGQafGSEzA6IqEEFr9nr8kVYz3R_BS8ag7FMHa13VOLIO1iTfqVd2yXpkd4MqJ0-niS/?imgmax=800&quot; title=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-I5SKBAL_JzI93sRTU7lnkPkAKtFH92cdLDlaPoCE8LiV-MUKT51vHKXCOx3uCQAybZJRzcxCQvA8Eov9zz60jt-atU1Kp53GOQG75wPj20GayPCHwDG1L3Wm8i9ygfWNTbcFVEfMHLvY/s1600-h/image%25255B65%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;485&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxwIR3ezetwrjPw96a3sgJYoqE_O0WQgnmoJNVZcdgeXm9f7hfUsiCqDYnVIMSNepAUkT-V48wmouB7wTatvLgdgXpnUmWyGxOREaP4OsetbOW_s0TiJxOk32EEOZN4N4U8H5CMe9WtKHg/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;418&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;960 Pro vs 960 Evo&lt;/span&gt;&lt;/h3&gt;
Ok prepared to be amazed, here are the 960’s in action. This test consists of running a simple Crystal Disk Mark bench while monitoring IOPS with Perfmon. The 960 Pro generates nearly 200,000 read IOPS while clocking a staggering 3255 MB/s, which as amazing as that is, is actually much lower than what this part should be capable of!&lt;br /&gt;
 &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejwed72GqbOK2oZkECdE6tNPxuazttnBGnpL9bWO3pPimw42LUwYKeGw9KqkJJFQhVClmIlxyPtzDjI3eDQRx3IM6BkHzKXM1oavamsMBZ4wayBD7LbP_TCGuqjwvLk3DpKniUD5D8pQ4/s1600-h/image%25255B63%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;636&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHt1fGa8HEvcAwuomVTdPGktrNSPX92yU28QSywW3dLsYxyjfHWRwJCB9NkJQCfCYBBAYJV6nQGI-XjLBb7OYS9h5day0BMPUXYm2A5o_AKTHJX9-lid8kE01aAVifoc2aFaaT3TTab-f5/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;862&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt;
Writes clock in around 140,000 IOPS with 1870MB/s on the 32 queues sequential test.&lt;/div&gt;
&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5oksZKqKvP13o2c4fxGKcYQSM59DmC-z0pZ7rQWMcB9sFkUHp4Qzdh8K_g6SrRN2qcgheu8mhC0rgqibQWP9jXnpD7AoT4lS2KTmP_65E3ylaXNguQbDHtG6HCPSCi55uFYexlg6ktzNA/s1600-h/image%25255B60%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;630&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigMl7LPJJgb_Szfy8fFm4UqdJ8dS22LkrLb_gNr2ozpCkQ-F-nlInk6v17vJErS9lxaZLptV_-PAoX51m0l_u_OwGz5RxuFw9q1Q9mA3d0pGrrc8hBxip3mb6Z5Xv504lg5zf_OoULYnOH/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;866&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 The highest numbers I observed in these tests were 3422MB/s reads and 1990MB/s writes. Impressive, but still below the advertised 3500/ 2100MB/s and the performance of this module is not nearly as consistent as it should be.The 960 Evo is no slouch either and actually outperforms the Pro in these tests!! This definitely should not be the case.&lt;br /&gt;
 &lt;br /&gt;
 Running the same bench, the 960 Evo generated &lt;strong&gt;203,000 IOPS&lt;/strong&gt; while pushing 3335 MB/s. This is higher than the Pro module in both areas.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSVGHlm3Tf_eITwz3aDDrurUwvRNkIL6mdygN9jXoriXPG4Rz0c9OtzGlei70NOsLXO1KC_7FLUC2fUJ4Z3KN2tprDG8s6d6J5Cmu8t-fGAkcp1-MeiG_Al2z2czPC92ctNBRNZH3Ih3JG/s1600-h/image%25255B58%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;629&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjay7CCMScYvOOcZpxCttOjAoph-1fFy2p6ZXL9Mtu_a1ly3bRkQP1nsaJM1AHC8SigzRCdIUTICaaO3GDb4NUrdPO_VYwcLtAg9ilLFyDTeTSUgASAcKUg1dsPzE9A3y4s43t11BFzL3zu/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;866&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 Reads are also impressive here and while the Evo doesn’t beat the Pro in MB/s, it does clock in 13,000 IOPS higher. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj38mzY3ZNyleyU6huTao7iEGYxELQJEjViZV7BUqPTpWbJnHokV-Rq6KggZWjKGQJDZFO8q6VcZWt6fZuPTKxY0NbxDfxPCA843Dm8R2i67Oce1IJMqe_hhyphenhyphenDVRsVA36Oorb0g84AJ2fhY/s1600-h/image%25255B56%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;630&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhCsPuA58lgPrfOBgXTfLvbNlTc-5GHUcL-CAkAyAQOkraF8IGCVsMz5Tc_-LDeoT6xNH4ZBG9GuyoR9FIeQsCmEnHAfH06PHsxxtfLWyh1tEyXvJw5EF-JOrQJnaPT5_WjbVcrjtYncr4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;863&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 Running the benchmark within Samsung Magician draws an even starker picture. The Evo absolutely kills the Pro in read performance but the Pro wins the write bench by a small margin. These results should not be.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmtrE4voLK_OrADIAenyOSpWyl-d_QCEelYytvWbtUg5cb_cT6BYlCQL8bhoKtYZd9ETiqv64bsOGUh1LE_jrm6zQlhjjeRQWI5w_QldJmpnp4Ij6DsGLIpZGBbT41pqnWXTTTL6AraTom/s1600-h/image%25255B27%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;360&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-8emv2unjalw6Qy0eY7pLGW_CACuL56XHNP-I_1j8LXtFQQOhhXqEkpNN9hqdgSBddLBJ0wgjHQeCu_1dlU-lOILuHCWmWI-8Vu_mqODaKA2F99NLKbRxjDP4qWD538ek0r6LzbgS_sEe/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 In light of this, the Pro module is going back, I’ll update this post with new numbers once I receive my replacement part. If the replacement doesn’t perform, it too will be going back to be replaced by another Evo module instead. As is stands, the Evo’s performance is very predictable, uncomfortably close to the Pro and for $65 less it may be the better buy, if you don’t mind a shorter 3 year warranty.&lt;br /&gt;
 &lt;br /&gt;
 Just for comparison, here is the DiskMark for my older Samsung 840 Pro which is a solidly performing SSD:&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvV2B8E0HMC41XDLxWLZTqH0uiT-r4tSZSuUItMKIq_8JdNYBfOPLhyphenhyphenZkUcZYEu7vlMN9s7o-uQtndLeBiCAdRql5F7TbfwaW3TvrkpYVz4j-bSPok8yCrNNcakovaYJYWWMNvss6WcCjG/s1600-h/image%25255B33%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;368&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhefMaP_9u4xzPT1XsakMk09ZwXWj8ijeeBXevr2NP9prdCiYLCrCVRwmhycgWmJw__1CKCMVmw4sEdbFTx2z7Un7oz3GFiSjNvk_xOh7Nf2VlFR_VSzhjNPuxEyrkI23PixenLUazMZ5th/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;402&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Temps &amp;amp; Power Consumption&lt;/span&gt;&lt;/h3&gt;
Even with my case’s upside-down airflow design, it does a good job keeping things cool. This is also in no small part due to the incredible Noctua fans which are literally the best you can buy and well worth it. I run my PC using the default Balanced power plan which allows the CPU to throttle down during idle or low activity periods. At idle with fans running at low speeds and the core voltage at .7v, the CPU chirps along at a cozy 38C with the fans barely spinning. &lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmXhnvpPpEZ5YLxirJiRSN7K08yuduIntomiKJ0wp9oTz50Zxq7lYrQs_Iu5eSOxwrTy6TQVhJXyC5elZAFFyHZ2OKsc3VCxe10NYMGxQXe-BVBh2xHh7_PNZjDLYBw6wEc3FKjrmq0Hko/s1600-h/image%25255B19%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;168&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZz4fa5gehb7H4quiPESsoAZYRiOVUB5BSYiQCZKa_Bxx5EaS27WTfOwigUkqCinG_7aiNKdtyPknuAHR_V4DAAraG6yus7lRZPjNaav2PBnZq4u51EcgAxT3FYqfvJXHW8yuWRK8YDlxb/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;984&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 Under benchmark load with the CPU pegged at 100%, temps shift between low 50s to low 60’s with fans shifting their RPMs upward in kind. I touched 66 a couple of times but couldn’t capture the screenshot. 63 degrees under load I’d say is very good for this CPU! Once the Arctic Silver 5 thermal compound breaks in completely this should get a touch better.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdWy0Jo7sw8ye9KUA_VfPdDFqRQ51dWWbuT460UpXCLU1Zz1r4ZCBrF_bEMqG-u_zMujYI1CiwCNt6YdFehgLawm8W_Bgc9POYhk6mytzUXvdk2SnJEOhnKZEvxgfOVhqBDvZ0Ti7WHyj/s1600-h/image%25255B22%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;167&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7nKxXA-Z8AvIdBSH1DEnvxQKcjrApnofAVm65FcMKlU-n2D0jhVhPwixC6z3jJv_M4PMQ2_5l8MkeKPrV9WJ57Nsfgi8j9qqBVxdRKiLX5aG8r2QQ0ypFg0zA9AhUcTTv11N_u03ZMGrw/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;983&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 During the PassMark bench I recorded the temps, voltage and frequency as shown below. Here you can see the full affect of the Kaby Lake stock Turbo in play with the CPU running its max clock of 4.5GHz. 55 degrees recorded with the fans at less than 50%. You can also see the XMP2 profile in affect with the RAM clock at 3000MHz.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3dfLIM4YChfFRtLoJCu_Ke4NWAq0TzP_dyeMbwCPif9jIG81th14poET3_N1vbBAdAGSPQmJ46nd2OMOMt0tDfU5PWAFSgLP0Abe7RuodqU9dxGPGJKgN9vIIwzwph_1dRApEu-R1fFus/s1600-h/SNAGHTMLa1628c6%25255B8%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;763&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvhItbSwqqpCHmVf1G3OUwvu4CDDkVSHT5tr4s1inS3AHZrtzgzIzdBhCjVdHFxYqRYxiqVVpc9M1UofKyK68iafknRrrmO5BGw7bLEZZ0AChUnxdQinw-TrGvy_qXCAC5wBtGn3gPCbJT/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;1058&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
 I recorded power draw at idle and under load with a heavy graphics bench, where the PC will draw its highest wattage with the GPU thirstily slurping juice. At its lowest observed reading with absolutely nothing happening, I recorded 41W at the wall. Very efficient.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;img height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgghFYjqUUBaA560cySUvwWPVlqv5X7A5bxBBuEFSYZv0oEJJNuNW8_Bxv7mYw62nd2qGwsBYbqFTo-ZurxrEedTP9h3aUxqWXrpUc3i4mLaT2tljak0pTtH38_f5j5oVYMudjIqZcr6YAg/w539-h1045-no/&quot; width=&quot;157&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
 Under the heavy graphics bench, the highest reading I observed was 244w at the wall. As it stands, given my components, their power draw and my hungriest graphical workload, my 550W PSU is more than sufficient for this build.&lt;br /&gt;
 &lt;div align=&quot;center&quot;&gt;
&lt;img height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENn-XbYWzXWbVPow1khJ22PC_upNK2ONEhriSIXkBhOoRnNvfL5TY7TKTh4WjTS2TeTi2Db-y2PToAr4pgYn1RcgfOREwXBDtrvwm-t3g8Q8TErEOHklbydScADYYvl1fJHIAFj1rzGxL/w524-h1045-no/&quot; width=&quot;157&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
 &lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Build Summary&lt;/span&gt;&lt;/h3&gt;
All in all this is a pretty exciting year to build a high-end PC with loads of improvements available in graphics and disk.&lt;br /&gt;
 &lt;br /&gt;
 &lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; style=&quot;width: 1431px;&quot;&gt; &lt;tbody&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;192&quot;&gt;Motherboard&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Asus Z270M-Plus&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$150&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;201&quot;&gt;CPU&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Intel Core i7-7700K&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$379&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;204&quot;&gt;CPU Cooler&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Noctua NH-U12S&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;205&quot;&gt;Memory&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;G.Skill TridentZ&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$200&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;205&quot;&gt;OS NVME&lt;br /&gt;
Apps NVMe&lt;br /&gt;
Data HDD&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Samsung 960 Pro&lt;br /&gt;
Samsung 960 Evo&lt;br /&gt;
Seagate Baracuda&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$330&lt;br /&gt;
$250&lt;br /&gt;
$130&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;Graphics&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;MSI GTX 1070 Gaming X&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$399&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;PSU&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Silverstone SST-ST55F-G&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;Fans&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Noctua NF-F12 PWM&lt;br /&gt;
NF-A14 PWM&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;Case&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;BitFenix Phenom M&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;OS&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Window10 Pro&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;Monitors&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;2 x Dell U2415b&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;Mouse &amp;amp; Keyboard&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;Corsair M65/ K70&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;(reuse)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td valign=&quot;top&quot; width=&quot;206&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total invested&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;213&quot;&gt;&lt;/td&gt; &lt;td valign=&quot;top&quot; width=&quot;1024&quot;&gt;$1838&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2017/02/new-pc-build-for-2017.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgp2q1QRBukYJvxCtPRYfNN345xTDwNK0RTRAuW8SzWinXDZwfZQC-M6ZhtmSz7ZUasrc6U-vsvjE35Sl-_1dePl4A8U2ptZmLcauWjrH2sSHrkrV2FiBs26Ft5x4Xjx3688nAaBrLQZig/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-8950828679822338300</guid><pubDate>Fri, 23 Dec 2016 18:22:00 +0000</pubDate><atom:updated>2018-02-01T16:11:53.178-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Citrix</category><category domain="http://www.blogger.com/atom/ns#">Dell</category><category domain="http://www.blogger.com/atom/ns#">ScaleIO</category><title>Dell EMC ScaleIO - Scale and Performance for Citrix XenServer</title><description>&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4QaQspOBb1sopovGBDJ0XBt0GGy29qD5wGOoRMXycGukEuy3i6PlfS5aqI4vq3DUgSPAB43xM8DmfQIJQUOB4QiGhstqzKnstGM8iHfrpj2C1wXzhQYWvpc4PXfHjtmJeEyRE5UtaW0Q/?imgmax=800&quot; width=&quot;470&quot; height=&quot;94&quot;&gt;&lt;/p&gt; &lt;p&gt;You&#39;ll be hearing a lot more about Dell EMC ScaleIO in the coming months and years. ScaleIo is a Software Defined Storage solution from Dell EMC that boasts massive flexibility, scalability and performance potential. It can run on nearly any hardware configuration from any vendor, all-flash or spinning disk, as well as supports XenServer, Linux and VMware vSphere. Like most other SDS solutions, ScaleIO requires a minimum of three nodes to build a cluster but unlike most others, ScaleIO can scale to over 1000 nodes in a single contiguous cluster. ScaleIO uses a parallel IO technology that makes active use of all disks in the cluster at all times to process IO. This performance potential increases as you scale and add nodes with additional disks to the cluster. This translates to every VM within the cluster being able to leverage the entire available performance profile of every disk within the cluster. Limits can be imposed, of course, to prevent any single consumer from draining all available IO but the greater potential is immense. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Tiering - Unlike most SDS offers available, ScaleIO requires no tiering. For an all-flash configuration, every SSD in every node is completely usable. DAS Cache is required on hybrid models for write-back caching. It should also be noted that for hybrid configurations, each disk type must be assigned to separate volumes. There is no mechanism to move data from SSD to HDD automatically.  &lt;li&gt;Scalability - 3 nodes are required to get started and the cluster can scale to over 1000 nodes.  &lt;li&gt;Flexibility - Software solution that supports all hardware, all major hypervisors. Able to be deployed hyper-converged or storage only. &lt;li&gt;Data protection - two-copy mirror mesh architecture eliminates single points of failure.  &lt;li&gt;Enterprise features - QOS, thin provisioning, snapshotting.  &lt;li&gt;Performance - Parallel IO architecture eliminates disk bottlenecks by using every disk available in the cluster 100% of the time. The bigger you scale, the more disks you have contributing capacity and parallel IO. This is the ScaleIO killer feature. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;ScaleIO Architecture&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;ScaleIO can be configured in an all-combined Hyper-converged Infrastructure (HCI) model or in a traditional distributed storage model. The HCI variant installs all component roles on every node in the cluster with any being able to host VMs. The distributed storage model installs the server pieces on dedicated infrastructure utilized for presenting storage only. The client consumer pieces are then installed on separate compute-only infrastructure. This model offers the ability to scale storage and compute completely separately if desired. For this post I&#39;ll be focusing on the the HCI model using Citrix XenServer. XenServer is a free to use open source hypervisor with a paid support option. It doesn&#39;t get much easier than this with XenServer running on each node and XenCenter running on the admin device of your choosing. There is no additional management infrastructure required! ScaleIO is licensed via a simple $/TB model but too can be used in trial mode. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxQ0KoRR7lK58eZaatGaUJ5KGBVnqgdtkNQ0MQ1T68pPQ3G7vpCtcif95QRRF9BLRcJBBnGIQ2Zs-ek4YTzpvi6Yhfj7eIsiCkrLNwqRSmxkvwscl-gB_vilndEBV0eJmuwMtst-T22GoA/?imgmax=800&quot; width=&quot;867&quot; height=&quot;363&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The following are the primary components that comprise the ScaleIO architecture:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;ScaleIO Data Client&lt;/strong&gt; (&lt;strong&gt;SDC&lt;/strong&gt;) - Block device driver that runs on the same server instance as the consuming application, in this case VMs. In the HCI model all nodes will run the SDC.  &lt;li&gt;&lt;strong&gt;ScaleIO Data Server&lt;/strong&gt; (&lt;strong&gt;SDS&lt;/strong&gt;) - Not to be confused with the general industry term SDS, &quot;SDS&quot; in the ScaleIO context is a server role installed on nodes that contribute storage to the cluster. The SDS performs IOs at the request of the SDCs. In the HCI model all nodes will run the SDS role.  &lt;li&gt;&lt;strong&gt;Metadata Manager&lt;/strong&gt; (&lt;strong&gt;MDM&lt;/strong&gt;) - Very important role! The MDM manages the device mappings, volumes, snapshots, storage capacity, errors and failures. MDM also monitors the state of the storage system and initiates rebalances or rebuilds as required.  &lt;ul&gt; &lt;li&gt;The MDM communicates asynchronously with the SDC and SDS services via a separate data path so to not affect their performance.  &lt;li&gt;ScaleIO requires at least 3 instances of the MDM: Master, Slave and Tie-Breaker.  &lt;li&gt;A maximum of 5 MDM roles can be installed within a single cluster: 3 x MDMs + 2 x tie-breakers. &lt;li&gt;Only one MDM Master is active at any time within a cluster. The other roles are passive unless a failure occurs. &lt;/li&gt;&lt;/ul&gt; &lt;li&gt;&lt;strong&gt;ScaleIO&lt;/strong&gt; &lt;strong&gt;Gateway&lt;/strong&gt; - This role includes Installation Manager for initial setup as well as the REST Gateway and SNMP trap sender. The Gateway can be installed on the ScaleIO cluster nodes or an external management node.  &lt;ul&gt; &lt;li&gt;If the gateway is installed on a Linux server, it can only be used to deploy ScaleIO to Linux hosts.  &lt;li&gt;If the gateway is installed on a Windows server, it can be used to deploy ScaleIO to Linux or Windows hosts.  &lt;li&gt;XenServer, based on CentOS, fully qualifies as a &quot;Linux host&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Once the ScaleIO cluster is configured, all disks on each host are assigned to the SDS local to that host. Finally volumes are created and mounted as consumable to applications within the cluster. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The diagram below illustrates the relationship of the SDC and SDS roles in the HCI configuration:&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxflQWG5oox7z1Loil8pTkposHEY8UhUeeXW4KSksmXn_cbPWhHWqwfv9Fxtx0T4MCvQUA_sc2M2GIkZYlwpOGQifWyVoFAXt8c3SbGSxJccyq3B9CeapEoriQHN7dzjcoqSXF7elETzeM/?imgmax=800&quot; width=&quot;724&quot; height=&quot;485&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My Lab Environment:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;3 x Dell PowerEdge R630  &lt;ul&gt; &lt;li&gt;Dual Intel E5-2698v4  &lt;li&gt;512GB RAM  &lt;li&gt;480GB Boot SSD  &lt;li&gt;4 x 400GB SSDs  &lt;li&gt;5 x 1TB (7.2K RPM)  &lt;li&gt;2 x 10Gb NICs&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;XenServer 6.5  &lt;li&gt;ScaleIO 2.0  &lt;li&gt;XenDesktop 7.11  &lt;li&gt;I also used a separate Windows server on an old R610 for my ScaleIO Gateway/ Installation Manager&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is the high-level architecture of my deployment. Note that there is a single compute volume which is mounted locally on each host via the XenServer Pool, so depicted below as logical on each:&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha5pVL7K0-Ff-Qr5G2WlC1XMnJLLREs7807jY1caYchUm9BlDHixwTQWymwYWRMYQCsjaZqLg4j5QiKMTPF_uoxsIEwdgcVavhJK3OyD_XlJaf0UTXWJBiOcD0SLNEUJmGlJjKgqBBjsoD/?imgmax=800&quot; width=&quot;713&quot; height=&quot;385&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Prep&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;As of this writing, XenServer 7.0 is shipping but 6.5 is the currently supported version by ScaleIO. The deployment steps for 7.0 should be very similar once officially supported. First install XenServer on each node, install XenCenter on your PC or management server, create a new pool, add all nodes to XenCenter, create a pool and &lt;a href=&quot;https://support.citrix.com/article/CTX138115#XenServer 6.5&quot; target=&quot;_blank&quot;&gt;fully patch&lt;/a&gt; each node with the XenCenter integrated utility. If the disks installed in your nodes have any prior formatting this needs to be removed in the PERC BIOS or via the fdisk utility within XenServer. &lt;/p&gt; &lt;p&gt;Now would be a good time to increase the memory available to Dom0 to the maximum 4GB, especially if you plan to run more than 50 VMs per node. From an SSH session or local command shell, execute:&lt;/p&gt;&lt;pre&gt;/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=4096M,max:4096M&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Install the packages required for ScaleIO on each node: &lt;strong&gt;numactl&lt;/strong&gt; and &lt;strong&gt;libaio&lt;/strong&gt;. OpenSSL needs to be updated to 1.0.1 using the XenCenter update utility via Hotfix &lt;a href=&quot;https://support.citrix.com/article/CTX205228&quot; target=&quot;_blank&quot;&gt;XS65ESP1022&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Libaio should already be present but before numactl can be added, the repositories will need to be edited. Open the base repository configuration file:&lt;/p&gt;&lt;pre&gt;vi /etc/yum.repos.d/CentOS-Base.repo&lt;/pre&gt;
&lt;p&gt;Enable the Base and released updates repositories changing &quot;enabled=0&quot; to &quot;enabled=1&quot;. Save the file, :wq &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWWwEXIPsOGphEbVf-ve9ZuGNDa7E0wnwP_7By1y19jJBHMJzgGatoOliMcemfS-7MNsJX-67LZCow2vOhNBCZT6DU46U976eagK4aTdRR4vhY7srfoJxDzXtYIJA1o5YEGDZE3Gs3mwAs/?imgmax=800&quot; width=&quot;640&quot; height=&quot;353&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Next install numactl, libaio should report as already installed, nothing to do. Repeat this on each node. &lt;/p&gt;&lt;pre&gt;yum install numactl&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;ScaleIO Installation&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Download all the required ScaleIO files: Gateway for Windows or Linux, as well as all the installation packages for ScaleIO (SDC, SDS, MDM, xcache, and lia). Install the ScaleIO Gateway files, either for Windows to do an external remote deployment, or for Linux to install the gateway on one of the XenServer nodes. For this installation I used an external Windows server to conduct my deployment. The ScaleIO Gateway installation for Windows has two prerequisites which must be installed first:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Java JRE 
&lt;li&gt;Microsoft Visual C++ 2010 x64 Redist&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Next run the gateway MSI which will create a local web instance used for the remainder of the setup process. Once complete, in the local browser connect to &lt;a href=&quot;https://localhost/login.jsp&quot;&gt;https://localhost/login.jsp&lt;/a&gt;, and login using admin plus the password you specified during the Gateway setup.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3vn8t4CQFEP7xP3kpoohhHZjVW-Wk3E8ehzY5lHrWyIp1BBB-jEonifOvK0v7wCU6DziGgTYBRXGyDxDfJR05GU6ck7HoRhQ4qB6Go6XjI785pcgHwXnQP6A1-cYDbNLbAVJ04D7Kj85M/?imgmax=800&quot; width=&quot;540&quot; height=&quot;371&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once logged in, browse to and upload the XenServer installation packages to the Installation Manager (installed with the Gateway).&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMgkXLJmOukuKoqwxOb4lRTu6gjj6mA5a5eAyOBNiu_DqMnadMb8GmXURwKCdfiBJy1z3Mc6j4Vryz-GM3678l3g0Jff2o-KlqTI_N0SFymv0GFToyuMZ1hep_KHhOE1vXO_8qyrOrxnWo/?imgmax=800&quot; width=&quot;1024&quot; height=&quot;458&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here you can see that I have the ScaleIO installation packages for Xen 6.5 specifically. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4V0h91QQBuCU8Vk4zV5JNNMe9nlPcPeNZ-BTUfC5xZOZonq7xqAmsPCB7svkIREZfrBMOI8pjfjETVmKOdH-LyuBSXAounxLObJJ0hpcbvJ8no5MNb4-5fD14b1uvjUTS7MYaLClXn5yT/?imgmax=800&quot; width=&quot;1023&quot; height=&quot;721&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once ready to install, you will be presented with options to either upload an installation CSV file, easier for large deployments, or if just getting started you can select the installation wizard for 3 or 5-node clusters. I will be selecting the wizard for 3-nodes. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAzTsDjCD0lwQIAffYc6L7o2WPxP8HJOPFg2nICd4WkWZrhEgUyzlIY0BxN86HmDxZOjbuVgKmNQMAFybRsHaq-C3MqoMomkVtcsRrWovjV0sFm6FJ4_SHPkOY60nWWALXTSLUCD78ZYWc/?imgmax=800&quot; width=&quot;1019&quot; height=&quot;468&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Specify the passwords for MDM and LIA, accept the EULA, then enter IP addresses and passwords for the mandatory three MDM instances at the bottom. The IP addresses at the bottom should be those of your physical XenServer nodes. Once all information is properly entered, the Start Installation button will become clickable. If you did not install the 1.0.1 OpenSSL patch earlier, this step will &lt;strong&gt;FAIL&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1-iopIo9RKeqtk7P6I3w0tCVHXqSCEiqSmgkMFZ5leoGId-wLLIaVctLTg0q-D_QYeYnmSc29NWvqUPbZrT0ICaZzVlvxDUv3NTh6SKNACCuxe2IACEYTU0TwYYHAgO8qu8qS9B2_LAuj/?imgmax=800&quot; width=&quot;1014&quot; height=&quot;845&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Several phases will follow (query, upload, install, configure) which should be initiated and monitored from the Monitor tab. You will be prompted to start the following phase assuming there were no failures during the current phase. Once all steps complete successfully, the operation will report as successful and can be marked as complete. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEnD5HuNj7LX9oEfJKBWPWsQV2aziPd7lDyM3jQrPGh8VT133_IhAP98zC4im_f7xbVIDPdxm8dz4VdTo33FCw47jnna2IlpyNTuy0k2V2iaCoL16wBZr73ORtXPxIr_62w-uSHipjA0kA/?imgmax=800&quot; width=&quot;1018&quot; height=&quot;844&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;ScaleIO Configuration&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Next install then open the ScaleIO GUI on your mgmt server or workstation and connect to master MDM node configured previously. The rest of the configuration steps will be carried out here. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFCVtM4M3Zjp5p-rp5pAlcfDFhdJCbzKxXdABz9nhBBp1b7-GTBeXh-zy8UEi0lJhb8xvfNT0i-obGdwdCUl2wyi1WLfNICaaMp0bMZZKyhyYUacDl5CrVhQuOw0QblsxQQ0Gd7R1-B0zY/?imgmax=800&quot; width=&quot;404&quot; height=&quot;480&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;First thing, from the Backend tab, rename your default system and Protection Domain names to something of your choosing. Then create a new storage pool or rename the default pool. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY0CZ-aZwjvQ9NypJXDVAjdONUvQiZyzKqC40JTW5xCnxD6U_0xDAK2MdGy6SqPYCy02mBN4F3gZj_vuY9fLfUjwKaE4EuuqoxLnfwBE5Vzz2Y5t6JyMTO1TI1KdB77iZhIXOAHDfRaG02/?imgmax=800&quot; width=&quot;1190&quot; height=&quot;628&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&#39;m naming my pools based on the disk media, flash and spinning. Create the pool within the Protection Domain, give it a name and select the caching options as appropriate.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc9BSn_udUee2MIE_L2WVyo-6SoFE_uhyphenhyphenO65hl14PUpd9ch2fHuqWlLXgxKsKQmxxs0Q27Vfq-p8j-wofj2WSslXKyHIvpLm1Vx2Frpgynse03xUtd834GNg9z_lHRkKqK15RiCgWXrxee/?imgmax=800&quot; width=&quot;465&quot; height=&quot;447&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Before we can build volumes we need to assign each disk to each SDS instance running on each node. First identify the disk device names on each host via SSH or local command shell by running:&lt;/p&gt;&lt;pre&gt;fdisk -l&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Each device will be listed as /dev/sd&lt;em&gt;x&lt;/em&gt;. Right-click the first SDS on the first node and select Add Device. In the dialog that follows, add each local disk on this node, assign it to the appropriate pool and name it something meaningfully unique. If your disk add operation fails here, you probably have previous formatting on your disks which needs to be removed first using fdisk or the PERC BIOS! You can add both SSD and HDD devices as part of this operation.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaAp9Thjg0pRY0n1L2eMRDK5Q8qwKEowQ-0dR_rRT67ListrF-ikPwsbMka-b8QtERodH1xAhyqZTXn0SP4DfMdPDm6Jo5WOLojtBgHAuqWBCkNdfU-V8YEdrQD0Y4c8y6V5_PGJA9G7Wn/?imgmax=800&quot; width=&quot;620&quot; height=&quot;579&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once this has been successfully completed for each node, you will see all disks assigned to each SDS in the GUI along with the total capacity contributed by each. You&#39;ll notice that the circular disk icons next to each line are empty, because so are the disks at the moment.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYJWfGysTZKyABRwtLPEsASO34lna0svWib9S4AYUjJrcxy1RSHFRB318Z4D_C7NCrCa4mqQisboCaDWlhD7G0aU4GMyQpVZoc2K6dbXX1saGPPtokcf1yakVxrW7QcvHEftZHbDusGplQ/?imgmax=800&quot; width=&quot;1182&quot; height=&quot;764&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now keep in mind that ScaleIO is a mirror mesh architecture, so only half of that 4.4TB capacity is usable. From the Frontend tab, right-click the Storage Pool and create a new volume with this in mind. I&#39;m using thick provisioning here for the sake of simplicity. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9BGEvf-qHKerW26Xty1B5YXSU_LhfPtctEo8284YbLV8DdsJfych9RHwx2rO2g6rhrG-muuzsJXccEUt_gAiQklIPTJjC7IQIDbMNmsf2tQst4PwDZ3tvPeyGgG2ilffPTMTtcfwKbOTY/?imgmax=800&quot; width=&quot;708&quot; height=&quot;495&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once the volume is created, map it to each SDC which will make it available as a new disk device on each node. Right-click the volume you just created and select Map Volumes. Select all hosts then map volumes.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFTw6tmHkZ8AotMG4DpscMpF_yXrKtPK8LK9LFhn2p69B9xD5Anqef9Y9H1mzDpPBpH6l-aNph4YPGm-fOMFc4ccxbp9MDS6UrkhwkDjjby5i9jK9KW0OQYzjh1LmDlCtEmvxSw00uEEOf/?imgmax=800&quot; width=&quot;744&quot; height=&quot;471&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you run fdisk -l&amp;nbsp; now, you will see a new device called /dev/scinia. The final step required before we can use our new storage is mounting this new device on each host which only needs to be done once if your hosts are configured in a Pool. By default the XenServer LVM is filtering so does not see our ScaleIO devices called &quot;scini&quot;. Edit the lvm configuration file and add this device type as highlighted below. Pay particular care to the text formatting here or LVM will continue to ignore your new volumes. &lt;/p&gt;&lt;pre&gt;vi /etc/lvm/lvm.conf&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTyCw3fmZx6uLnigirAI22EjyaVvYIcGh0WFrAbgBWcnJ8EuRJq_hqeFh7_W2P7aecXSdN1YKqgtspmdh2kPW0nuSSmvVguy35EQU8LjhY6j4p6Umi7AMtb6GYrOiTIsYncg3IDNIAHpgU/?imgmax=800&quot; width=&quot;642&quot; height=&quot;322&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Next confirm that LVM can see the new ScaleIO device on each node, run:&lt;/p&gt;&lt;pre&gt;lvmdiskscan&lt;/pre&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhytufIu5XXanTKBldMoLuZOjeyVi5bzyMvVthccMt5Yp9DwywdP4VEwlmwMzQv5oaHYmX-OC3MrnnBZvvakidgP26XGe0_2Fy7feiwwPhpcJ3NzJj1Mdw7emHXSPqJJ4B1htzLhkQQgXGC/?imgmax=800&quot; width=&quot;240&quot; height=&quot;126&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now it&#39;s time to create the XenServer Storage Repository (SR). Identify the UUIDs of the ScaleIO volumes presented to a host and identify the UUID of the host itself, just pick a host from the pool to work with. You will need the output of both of these commands when we create the SR.&lt;/p&gt;&lt;pre&gt;ls -l /dev/disk/by-id | scini
&lt;p&gt;xe host-list&lt;/p&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAmQxcrUqn-umKEMOAcYMa5m3GypayQnKSAtY-SRttr_JixllxnoI80CnjVz_GbXuVosi7x0gncponk4ew83ewqN8eeK8SYeYuZqwUTOm5KNwUtM203rXY9uOfDZkT7KHqYTdFdD47wpzl/?imgmax=800&quot; width=&quot;640&quot; height=&quot;315&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font style=&quot;background-color: #ff0000&quot;&gt;&lt;strong&gt;This next part is critical!&lt;/strong&gt;&lt;/font&gt; Because ScaleIO presents storage as a block device, specifically as an LVM, all thin provisioning support will be absent. This means that all VMs deployed in this environment will be &lt;strong&gt;full thick clones &lt;/strong&gt;only. You can thin provision on the ScaleIO backend but all blocks must be allocated to your provisioned VMs. This may or may not work for your scenario but for those of you paying attention, this knowledge is your reward. :-)&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Another very important consideration is that you need to change the &quot;name-label&quot; value for every SR you create. XenServer will allow you to create duplicate entries leaving you to guess which is which later! Change the portions in red below to match your environment.&lt;/p&gt;&lt;pre&gt;xe sr-create content-type=&quot;ScaleIO&quot; host-uuid=&lt;font color=&quot;#ff0000&quot;&gt;8ce515b8-bd42-4cac-9f76-b6456501ad12&lt;/font&gt; type=LVM device-config:device=/dev/disk/by-id/scsi-emc-vol-&lt;font color=&quot;#ff0000&quot;&gt;6f560f045964776a-d35d155b00000000&lt;/font&gt; shared=true name-label=&quot;&lt;font color=&quot;#ff0000&quot;&gt;SIO_FlashVol&lt;/font&gt;&quot;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This command will give no response if successful, only an error if it wasn&#39;t. Verify that the volumes are now present by looking at the Pool storage tab in XenCenter. Creating this SR on one host will enable access to all within the pool.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5LPaeoqaEDHznDqqkATXS5Y0hUT3EbuEuY4D5x7DyPY4JL6p065A0an0qdGwalF0vXKkgUP3qAhQ5s5keL45TWQeCYFdogtDY_Cpa_-gb_WuQq79wivFCSbG3p1hFsZ1MGKOkQLEk3USe/?imgmax=800&quot; width=&quot;581&quot; height=&quot;409&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now the disk resources are usable and we can confirm on the ScaleIO side of things by going back to the dashboard in the ScaleIO GUI. Here we can see the total amount of raw storage in this cluster, 15.3TB, the spare amount is listed in blue (4.1TB), the thin yellow band is the volume capacity with the thicker green band behind it showing the protected capacity. Because I&#39;m using thick volumes here, I only have 1.4TB unused. The rest of the information displayed here should be self-explanatory. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeNpEuGnJ2ZVLeeDOJSwc9eQJgGKCrnm8OJhvr-OFfvNKh8aT6hNIiEqZk-8IzPVZt0pWRYfcJxo1RwYDzMH1JFdeq1uMgrnlkyBynMQxzMFXaLx7BYEeMCYZdVhA3Ep1Dr-0qrsyrsTtk/?imgmax=800&quot; width=&quot;1187&quot; height=&quot;673&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;ScaleIO &amp;amp; XenDesktop&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Since we&#39;re talking about Citrix here, I would be remiss if I didn&#39;t mention how XenDesktop works in a ScaleIO environment. The setup is fairly straight-forward and since we&#39;re using XenServer as the hypervisor, there is no middle management layer like vCenter or SCVMM. XenDesktop talks directly to XenServer for provisioning, which is awesome.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHwnVJ7C16FuLjaMa9-WxGUkmZLfjCui9btUZczmN7ya-ta6HnV_T8QlO5B8Q9BhMEqzR56X89dYtOak3zWbdVGW25hx2NJB5GLbX0_CZGRJGqQ2o1WpP8R12yu4mQRBTEQROsRliJV5Fj/?imgmax=800&quot; width=&quot;790&quot; height=&quot;590&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If running a hybrid configuration, you can separate OS and Temporary files from PvDs, if desired. Here I&#39;ve placed my PvD&#39;s on my less expensive spinning volume. It&#39;s important to note that Intellicache will not work with this architecture!&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnrV_faJct3-liZfYgv6MJHVkNU7Z9bPeonoC8tRV63g0giR6jZBnng6-NE8LFv_VszcsczX9oxw1Fp4SYOyWlxc11TZ3Gt2hwCyvXzMdRwsjwbfMerMQ_YZkkGtaH6Z3Z0wlRKJSF_ttR/?imgmax=800&quot; width=&quot;780&quot; height=&quot;591&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Select the VM network which should be a bond of at least 2 NICs that you created within your XenServer Pool. If you haven&#39;t done this yet now would be a good time. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1kdh8tFroRQzaEzkrb8wffA2FJPVfkw2g2h_jH7OUkW5XNRYRPQkqMnOTnSYX8DyPtxWG9zKP_NkNoVITkRDjsND1P7uVRvIdTqMd9tO7VSpjCA6I8lVFoszh9DnuOjJz_R1WoyJza88a/?imgmax=800&quot; width=&quot;788&quot; height=&quot;595&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Finish the setup process then build a machine catalog using a gold master VM that you configured and shut down previously. I&#39;ve configured this catalog for 100 VMs with 2GB RAM and 10GB disk cache. The gold master VM has a disk size of 24GB. Here you can see my catalog being built and VMs are being created on each host in my pool. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLg8yWwoepujmjZyxHzsr3ti8b9YyQI_NrKbrbWJMKjuqLl1DMRPTCUy-KCkVbbzzhQRe3S2936SPVPhDZgf6DR4FzIePTbIcCsYmutXq1B_4wORnjxjiiIqnMD_LKAbP6bZBoSmN6v274/?imgmax=800&quot; width=&quot;1173&quot; height=&quot;725&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This is where things get a bit...sticky. Because ScaleIO is a block device, XenServer does not support the use of thin provisioning, as mentioned earlier. What this means is that the disk saving benefits of non-persistent VDI will be absent as well. Each disk image, PvD and temporary storage allocated to each VM in your catalog will consume the full allotment of its assignment.&amp;nbsp; This may or may not be a deal breaker for you. The only way to get thin provisioning within XenServer &amp;amp; XenDesktop is by using shared storage presented as NFS or volumes presented as EXT3, which in this mix of ingredients, applies to local disk only. In short, if you choose to deploy VDI on ScaleIO using XenServer, you will have to use thick clones for all VMs. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtjFOxkiMqnHodLz52muCbNi1O2S4m9bicboCfi9pcPNv_xeI0whOM8qAaMaSqxr7Xfayg93RpfbbQPjZT_Fw0EyXUb4Qv1r_2EMI8KEP_uvKJoj2JV1LvW55xpPYjTOFh1UeaeTvgGmRG/?imgmax=800&quot; width=&quot;745&quot; height=&quot;248&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Performance&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Lastly, a quick note on performance, which I tested using the &lt;a href=&quot;https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223&quot; target=&quot;_blank&quot;&gt;Diskspd&lt;/a&gt; utility from Microsoft. You can get very granular with diskspd to model your workload, if you know the characteristics. I ran the following command to model 4K blocks weighted at 70% random writes using 4 threads, cache enabled, with latency captured.&lt;/p&gt;&lt;pre&gt;Diskspd.exe -b4k -d60 -L -o2 -t4 -r -w70 -c500M c:\io.dat&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here&#39;s the output of that command real time from the ScaleIO viewpoint to illustrate performance against the SSD tier. Keep in mind this is all being generated from a single VM, all disks in the entire cluster are active. You might notice the capacity layout is different in the screenshot below, I reconfigured my protection domain to use thin provisioning vs thick when I ran this test. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf2I_0VjksKBv7byRPptirRBJdaPNmg351FqvGoM77VfBqSHL-Ow8HVOaAlOz597HK5zbQjw2YtjU1EASwDG7AXKrkg4e3mbLPmobiUhrRMwBeOzE0f6rghcW8RLpqFIzmsLcI3OUVqMCx/?imgmax=800&quot; width=&quot;1188&quot; height=&quot;675&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is a look at the ScaleIO management component resource consumption during a diskspd test against the spinning tier generated from a single VM. Clearly the SDS role is the busiest and this will be the case across all nodes in the cluster. The SDC doesn&#39;t generate enough load to make it into Top plus it changes its PID every second. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNLZrenZ-afjN9k6Uz1Yb3zB1oE4nuTy6RslsbcYfmcHCo44QTbEr-5SZz7520T7EnZedq9tmdaIAOx74If_zJMvmVIsxMluobMnBOhXO40Gt9BsHox7vvFiker6V6yNa_PujLNxtJuoeT/?imgmax=800&quot; width=&quot;1087&quot; height=&quot;591&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Closing&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;There are a lot of awesome HCI options in the market right now, many from Dell EMC. The questions you should be asking are: Does the HCI solution support the hypervisor I want to run? Does the HCI solution provide flexibility of hardware I want to run? And, is the HCI solution cost effective? ScaleIO might be perfect for your use case or maybe one of our solutions based on Nutanix or VSAN might be better suited. ScaleIO and XenServer can provide a massively scalable, massively flexible solution at a massively competitive price point. Keep in mind the rules on usable disk and thin provisioning when you go through your sizing exercise. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://support.citrix.com/article/CTX138115#XenServer 6.5&quot; target=&quot;_blank&quot;&gt;XenServer Hotfixes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://support.citrix.com/article/CTX134951&quot; target=&quot;_blank&quot;&gt;Configure Dom0 memory&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://www.emc.com/collateral/technicaldocument/emc-scaleio-installation-guide.pdf&quot; target=&quot;_blank&quot;&gt;ScaleIO Installation Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.emc.com/collateral/technical-documentation/scaleio-user-guide.pdf&quot; target=&quot;_blank&quot;&gt;ScaleIO User Guide&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/12/dell-emc-scaleio-scale-and-performance.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd4QaQspOBb1sopovGBDJ0XBt0GGy29qD5wGOoRMXycGukEuy3i6PlfS5aqI4vq3DUgSPAB43xM8DmfQIJQUOB4QiGhstqzKnstGM8iHfrpj2C1wXzhQYWvpc4PXfHjtmJeEyRE5UtaW0Q/s72-c?imgmax=800" height="72" width="72"/><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-1386218792302557453</guid><pubDate>Sat, 26 Nov 2016 20:20:00 +0000</pubDate><atom:updated>2016-11-26T14:21:23.537-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows10</category><title>Exposing WiFi Passwords in Windows10</title><description>&lt;p&gt;With the holidays here and folks traveling around, this tip might prove useful. Your mother-in-law can&#39;t find the custom WiFi password you set on her router, so she calls you for help as she wants to get her friend connected to her network.&amp;nbsp; You can easily expose the password of the network you are currently connected to via the Network Connections GUI. Hit Start--&amp;gt; type ncpa.cpl and hit enter.&amp;nbsp; This will open the Network Connections dialog. Right-click the active WiFi connection and click Status. Next click the Wireless Properties button. Within the window that appears next, click the Security tab, then click &quot;Show characters&quot; as highlighted below. This will display the password of the network you are currently connected to.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;current.wifi.reveal&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;current.wifi.reveal&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhydgpGyKigLf5L-CAERgZkEe6qeaxOt3JpTa1EYE-QKxBLlAm_jcBYr-xWiXNrAIqpgvb0i18zI1ATA8qiXtMli4AfOJKTZYmqtzjMPFilh3a691CbWDtde-cQbISi-N7q8cWksHluxLAM/?imgmax=800&quot; width=&quot;800&quot; height=&quot;565&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Great, that reveals my current network but what about my mother-in-law&#39;s network at her house? Since I have connected to her network previously on this same PC, I can reveal the password using CMD or PowerShell. Open either a CMD or PowerShell window in Admin mode (right-click the start button, look about half way down). Enter the following command first to reveal the SSID names of all saved networks on this PC.&lt;/p&gt;&lt;pre&gt; netsh wlan show profiles&lt;/pre&gt;
&lt;p&gt;In this particular example I&#39;m interested in exposing the password for the network called &quot;house&quot; as highlighted. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;netsh1&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;netsh1&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ39n2-BW-JlmT0Yr65BekcOP-5DaoISeWiIbZdJJ1eyZqAz3wBW_6tab7U2hk3EGTy4r6ZAPC6aofuRZSqy274aJrfjzUxTB7dF93IZiZAC7QRSI6I98dysJTQcJO6jpwjjcUX-w3mRMw/?imgmax=800&quot; width=&quot;566&quot; height=&quot;454&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Next, run the following command to reveal the saved password for this network.&lt;/p&gt;&lt;pre&gt;netsh wlan show profile name=&quot;house&quot; key=clear&lt;/pre&gt;
&lt;p&gt;This will expose all settings for this wireless network including the password in clear text as highlighted below.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtu56bNsTuYpMPiXZZooOKQvGGvo_XNDuxggRD0LU9U-uOrLhX7Ic0j1DojTyEnmJObZfODwkYbNAA4TSfQVlj9W7X3BKg7CkIYGD2x7FpNOk3fkTc8hphgxmjO5IO1yA8b9LGlWBzSBOP/?imgmax=800&quot; width=&quot;703&quot; height=&quot;660&quot;&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/11/exposing-wifi-passwords-in-windows10.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhydgpGyKigLf5L-CAERgZkEe6qeaxOt3JpTa1EYE-QKxBLlAm_jcBYr-xWiXNrAIqpgvb0i18zI1ATA8qiXtMli4AfOJKTZYmqtzjMPFilh3a691CbWDtde-cQbISi-N7q8cWksHluxLAM/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-4040361969383048799</guid><pubDate>Fri, 07 Oct 2016 19:53:00 +0000</pubDate><atom:updated>2016-10-07T14:56:00.938-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VMware</category><category domain="http://www.blogger.com/atom/ns#">VSAN</category><title>Deploying VMware VSAN 6.2 with vCenter Integrated - Part 4</title><description>&lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Part 4 - Troubleshooting: things that can go wrong &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;float: none; margin-left: auto; display: block; margin-right: auto&quot; alt=&quot;&quot; src=&quot;http://logodatabases.com/wp-content/uploads/2012/05/vmware-logo-black.jpg&quot; width=&quot;430&quot; height=&quot;108&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I love technology and HCI is awesome but things that can still go wrong. Here are a few items that you hopefully won&#39;t run into, but if you do here&#39;s how to deal with them. I broke and rebuilt this environment a couple of times to see where some of the pitfalls are.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Disk Group Trouble&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;I had a small bit of disk weirdness with my original host reporting that one of my disk groups was unhealthy with 6 absent disks, immediately following the build of my HA cluster. Interestingly, the SSD in this DG was recognized and online but all the other disks were phantoms created somehow when I moved this host into the cluster. The two real HDDs were unassigned and waiting idly (disks in use 10 of 12). Notice the second disk group is healthy and &lt;font style=&quot;background-color: #ffff00&quot;&gt;really underscores the value of running at least two DGs per host which I highly recommend as a minimum&lt;/font&gt;. Don&#39;t allow a disk or DG failure to generate a node failure event! The neat thing about VSAN is that you can add multiple disk groups which will increase capacity, increase performance and spread your failure domain wider. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVLyKbEZnjXGvAN2vKWYZGSGMdw3mO1uDnoaRIMWfvKQBG2LoF7O6bF7g5m9cBKfDlCBQxrbUWcDAjkok-zzcu9oj9bhanTuXAQIJqh7HZ-dwB0D2tLDqTFmCqFRD5IzyOt5bJrwnDD0W-/s1600-h/image2%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhprXlhrVDHEhyphenhyphenY-wWeGNUt6i-gToLa9XhHxW_Le_Yfs7HrC4qh4ygoLtCCUGD2LzWz4izNOWsGPluDwfgeVPbTO2olEMLEoqh_B8jsQ82evSVFJfl8ycxCGSnsuiTJYDqv9jjrmF-zGsmr/?imgmax=800&quot; width=&quot;900&quot; height=&quot;548&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;This should hopefully be a rare occurrence but to resolve, I first vMotion&#39;d my VCSA to another node. Enable vMotion on your existing vmk or create another, if you haven&#39;t already. Then select an absent disk and remove it from the cluster. At this point I had no data to migrate so had no need for evacuation. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxI0UooUjsB3HaGhNmEGc6CgDnL07UQz20LN-oX9NwQ5gDzeeCW3cE3RZupMo_xVuspB4t5MZZXEpYIQI4yC6MI3uz7hVCp_zIkVfPom_Iovh9RHcOloI4RulimdEK4h7Nqz7AGPZl5TB2/s1600-h/image81%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4Ma_iDe_PG3yn9sBRA_jCvRAF9xJkDCjvO0WcOk3cbo9wpNQkXJrrsSS2Cly2mFXHSGNCwzby4jXBT-bLkYcvi-PUNOmIZNMSrY6z-MR08dObJejPewV_hhxjr0cKaMhmjgSGK9DWnBaM/?imgmax=800&quot; width=&quot;437&quot; height=&quot;256&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;&amp;nbsp;&lt;/p&gt; &lt;p align=&quot;left&quot;&gt;Once I removed the last absent disk, vSphere removed the disk group which now only had a single SSD. Start the Create Disk Group dialog and add the second DG with all appropriate disks now accounted for. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_YoLRu9CKSHdjFqSEcYuzU_GLBm2fjvqedifY-nlz_gSqCQvkYTU1m-KNavSj3Mao8D8Vbb0JeF2c5BHeuXZcCp0yPeGHBEBSBevW8FqbCxIdiBnYHtXet_Lw1k_XMSRb9prsHO7bjeD9/s1600-h/image111%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg38JyLxPv1rWN0_dYjPsfoBkhEpe0FPjKGGG-H16AfZYLYr70uy2-GezzsXgDmEdJhyQhmzcCNcedu0Si-iqUPlSs9twJUIUeGCuNcL7b-GVogdBNP5Xo5_5anoSdX1FRKgT8xoVkkJEEt/?imgmax=800&quot; width=&quot;640&quot; height=&quot;357&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now VSAN is happy with all DGs healthy on all hosts and I had zero service disruption to make this adjustment.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2G5UKg8gsg-kYrmzZ1q3P9i08RmEfCa5J4DIzPxweh6z6uXNgenOXxa_lQjyiFvcdy0drLCBnrEtz8KxX4m9xpoJ24boiVcIykRxXdN0Uf_fmUbfoyG-jXdEc8c2EzYmVpDh_H1S0ksZr/s1600-h/image17%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_akAL2xvdHMvjVt3GjoagYCrWVDIGI-oEiru3gDKae2YWPHM8zWkWbVxkdZDFgFsibmzHYWAvxKLBv0TOsM6R7esj7Tj972eUoFxAzb_gfdwxStW_G-zS55IeO47L3puVgJyaz-MXpdjp/?imgmax=800&quot; width=&quot;955&quot; height=&quot;342&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I rebuilt this environment to try and recreate this problem &lt;font style=&quot;background-color: #ffff00&quot;&gt;&lt;/font&gt;&lt;font style=&gt;but did not&lt;/font&gt; see this issue the second time through.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;VCSA Stuck on VSS after vDS Migration&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;Attempting a migration of hosts + VCSA to vDS at the same time left VCSA stuck on VSS with no uplinks. I tried this one just to see if it would work, it didn&#39;t. The VCSA migration method I laid out in part 2 of this series is the way to go. In this scenario the VCSA stayed on the local VSS because it had a vNIC attached to the local port group. Below you can see that the VSS no longer had any vmnics which of course took down vCenter. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAQQfGgMW8SfqXQG9hzF984fF7Tace1gwfY2AxNwDpMecJlAd5_LMDEco8Kj7KOd0WA1JaoNXSQP-nWRnV0gv_9AtorT0MVAPlAHPFh1ebzJnkObY1lGQkf9JuKpOZ5Df75WS5t2xSrotv/?imgmax=800&quot; width=&quot;998&quot; height=&quot;258&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To remedy this you need to first manually remove a vmnic from the new vDS on the VCSA&#39;s host. First identify the port ID of the vmnic you would like to move.&lt;/p&gt;&lt;pre&gt;esxcfg-vswitch -l&lt;/pre&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd8pIzvf9TnP9pyMSfYjnybAGrYriRj6K-pDg7V3tYcjlBzIVk7nxMUwwJpyUU04k8UuerFYxVScL-7UTmU1Sow7GJCB8HcU9o1Ggx-eYWNdE4EnaEEmZD0IggrPykS-CJQbXiKF_G5pAy/?imgmax=800&quot; width=&quot;641&quot; height=&quot;311&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Remove that vmnic from the vDS.&lt;/p&gt;&lt;pre&gt;esxcfg-vswitch -Q vmnic -V 17 dvSwitch&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This vmnic should now be unassigned from the vDS and assignable to the local VSS. The vmnic can be claimed via the web host client or the desktop client.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcyG78SWiqlCEJWSmYwE3p2Y-rbV-H6gN5WrZ1dsnVVj4NPWFtmHBhXUDZnXKK9tdqQGiH5fIx8OX3Ek29AhmlbcTYUBntKKCyQiTUBBsQC4UnaDN-6zdRQbKYKf_2VUtCmE4JOfB3ZRdG/?imgmax=800&quot; width=&quot;587&quot; height=&quot;537&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Before the VSS would pass traffic I had to remove the vmnic and then add it back to the host (yep, 2 times). Now your VSS should have an uplink again which means vCenter should be accessible. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGdaBpjPMuaORyTjUmd3bWy0d6riSYMHpcw_x5uhEfBdrymUoR1bLtC8ch5PGHrruuLTfF2kOWHpv4NvzucpVIc42HS8dwxSi9UZQR8cobT1yVFyFlwgAauu5Hgk-zBsJY4kJMinXGsB-v/?imgmax=800&quot; width=&quot;998&quot; height=&quot;255&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Change the vCenter vNIC to connect to a DPortGroup on the new vDS. Once this is complete you can safely migrate the host&#39;s vmnic back over to the vDS again.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU028KY_-jc1Ih3Ik9gBKYYhmr_oEfA5tOUJalk82pTNdm8r2WZt_c_rSLTqaYUVQ6Agh2w1cu_DQTImjBOorm35djgLcNT8T6bEvZMcpYcbzxyjvEXcZY06ouN1sZg6piNwoGVmFW68B1/?imgmax=800&quot; width=&quot;595&quot; height=&quot;622&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Storage Providers out of Sync&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;If you run into an issue where you are unable to move a host into the VSAN cluster, your storage providers may be out of sync. This is indicated by a UUID mismatch error and failed node move operation.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi27-fKOeuO28-H5pdviKssdu3RKAeiKkwXVsYr8OPZ0hEp4V3ELS8dxoq01bW-IlZyba7fOdV0wluBEuSlsetTba8baJzvajA3QjRPYFkxHPnHWghwl2Fqz4PLAB9fLagfO14Cv7XHBVL0/?imgmax=800&quot; width=&quot;722&quot; height=&quot;384&quot;&gt;&lt;/p&gt;
&lt;p&gt;To resolve, from the HA cluster object click Related Objects, Datastores, then right click the vsanDatastore and select Manage Storage Providers.&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGczbp1r9ZULprPH_-YMBlVzRzZT6DldpB0luy5m3J_2JJLHqCc-MtjhY2axHlhIOf7Apu_SjV1j4sDGaWJ9mGTwIXwyid1tfez8CGBSLp7NF_YdhV2knHIzd6kcDyWS_qMH-qmnh3sNKv/?imgmax=800&quot; width=&quot;735&quot; height=&quot;475&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Select the icon with the red circular arrows to get all nodes in sync and retry your node add operation:&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUYLKrIHDnvwlpLS8OM5qt0hqIMHXsrEwknFgurSCLAx96_BuxV93wtbVxVQVKtFwLsXFbD4m_q8YKVjhReXw7W7u3JbrQbToOFljcOKJt0rlXeXsyAnivHKUp-vPiEWXuOqoWgH3P05X_/?imgmax=800&quot; width=&quot;835&quot; height=&quot;357&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Restoring ESXi Hosts so you can Rebuild VSAN&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Things went sideways for you for whatever reason and you need to go back to square 1.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;You can do this (a) the careful way or (b) the launch the nukes way&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (a) remove a vmnic from the host using the esxcfg-vswitch command, create a new VSS, add the vmnic, add the VMK to the VSS with a good IP. Repeat on each host.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (b) just delete the vDS which will destroy all your networking, VMKs included and will shut down all VMs. Log into iDRAC, launch the console, F2 for settings, Network Restore Options, Restore Network Settings. This will rebuild your VSS and put your mgmt VMK there with the last known IP config. Overall this way will get you on the path quicker. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZBhXzv3R_O-N8TzWB9umlseKmaWi6VCof6NLD5zykHo_3iW21MDtiM4PjqI__cNCueWBcEWa6a2JnfdCybXjJMbf9Ad0p-BZAeyiKWyjN-FAJJownWafO0mH3aPYASzFrt8pRcVn5bht1/s1600-h/image%25255B3%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsiJgDl__I4xhh3yoZrQlhwP_2yh3_M_jplbTGiCJhwddZP5Y5DTlN6UOMZqZzqnPj4nCfolY58SN7mXt2c-sV3Gnlq_gDPzKO_6e1RqP22_3iXNyODjPQgjhH9yGoY-Kv8XuszXJYNlDD/?imgmax=800&quot; width=&quot;932&quot; height=&quot;178&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Delete the VCSA VM and vsanDatastore, start over.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Part 4 - Troubleshooting: things that can go wrong &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources:&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.virtuallyghetto.com/2013/09/how-to-bootstrap-vcenter-server-onto_9.html&quot; target=&quot;_blank&quot;&gt;Bootstrap vCenter for VSAN 5.5 (Virtually Ghetto)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2013188&quot; target=&quot;_blank&quot;&gt;Enable SSD option on disks not detected as SSDs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fesxcli_vsan.html&quot; target=&quot;_blank&quot;&gt;ESXCLI VSAN commands&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2106572&quot; target=&quot;_blank&quot;&gt;VCSA Resource Requirements&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2040626&quot; target=&quot;_blank&quot;&gt;Change vSphere Web Client session timeout&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware Compatibility Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1008127&quot; target=&quot;_blank&quot;&gt;vSwitch command line configuration&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhprXlhrVDHEhyphenhyphenY-wWeGNUt6i-gToLa9XhHxW_Le_Yfs7HrC4qh4ygoLtCCUGD2LzWz4izNOWsGPluDwfgeVPbTO2olEMLEoqh_B8jsQ82evSVFJfl8ycxCGSnsuiTJYDqv9jjrmF-zGsmr/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-2056619506641169551</guid><pubDate>Wed, 05 Oct 2016 23:04:00 +0000</pubDate><atom:updated>2016-10-07T14:57:05.993-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VMware</category><category domain="http://www.blogger.com/atom/ns#">VSAN</category><title>Deploying VMware VSAN 6.2 with vCenter Integrated - Part 3</title><description>&lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Part 3 - Network Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;float: none; margin-left: auto; display: block; margin-right: auto&quot; alt=&quot;Image result for vmware logo&quot; src=&quot;http://logodatabases.com/wp-content/uploads/2012/05/vmware-logo-black.jpg&quot; width=&quot;430&quot; height=&quot;108&quot;&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Network Configuration&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;My new three node VSAN cluster is humming along just fine on the default VSS but to take this to the next level, I&#39;m going to migrate the environment to a Virtual Distributed Switch (vDS). The desired end state architecture should look like the image below once complete. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbcIPUrt-HbgDlkfBzgB34XVsI_tosb36d3GlBZNFQogrBJ5_4liXbgYCwM7GzyBHJIQlbfM03xgc2QUaMBZ0J9yXAdqBBPwX0Nx6XcaAsg7g7pI6kS3kia6_g4tizXOKEJBeGLUWX2eJk/?imgmax=800&quot; width=&quot;629&quot; height=&quot;389&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;First step create and name the new DSwitch.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOJrLeRaLkVeW2BS-2IrrY46muxGRNdEQfDYrytEs-bJtWTEjKZ746F5QBJe7dm1hMGx4QaPUojEPuy2c-x7t2nBbz8tth-mogGIzicWVIdeycEYTVE_3NeVyCuVYE3zX6qnDeRDYhbyei/s1600-h/image%25255B12%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgctWy2iaJWdNE1fHz2E5Na4I4sCv_c80ZK5ftJS2O3nUW_YTQBPwxykARvZ1gxwgKw8xuV4uZVnOkv7mBJ9cd-j3qkKsqkedzDEoXE5SOCt6WsmOHtmg0giA-zTjWodEezzIF1AFI6bads/?imgmax=800&quot; width=&quot;425&quot; height=&quot;245&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Select the number of uplinks required. For my purposes I&#39;ll be using two uplinks with all vmnics balanced between them to provide redundancy across both ports. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfSDVj9A2L_laeNfKsaqK9yvpg6wq2qzPWthiy4CGymjkVHhegC-vP_bHKdr7jVXFz0IHhOTGGFuTWG8-nhikKevFFunRq9d2_B1NLuSfzk_pc3tziK0kSKllPxFbg8qCBV435HBtpv7mO/s1600-h/image%25255B15%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2uPst5ReKpkCLiVrgvv_p9Svv8KYMsNNEwOu0qprSeBnukrbUOZnvhcP6YQE6jLIJnKdW-QZtAs9DU8yWyMmlNRdJ9cYKJXy2ueq2GgZONAWWhwR1DqGx6yv-9dn_Hh2v8pLjUqWtJSn3/?imgmax=800&quot; width=&quot;636&quot; height=&quot;241&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Build Distributed Port Groups (DPG) for each network or service grouping you require, including for the purpose of assigning specific IPs in different VLANs to VMKs. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6QFT83cyI7K8_qnbZ8oqbQmizjlK2bZGNydpfzB1ar9H9fHMdbSWKeo3jVFyZVtFZmRSYZQ7m-USAPJ0nrQ-LWAdiwGVTC7YbfNkK4XM09azeZkpOc_tuvjShDy6alZL4jfa5pSgWq4R1/?imgmax=800&quot; width=&quot;897&quot; height=&quot;419&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Add hosts to the DSwitch and migrate the networking, this can be done one by one or as a group by using template mode. Be very careful automating any kind of VCSA migration at this stage!&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitV0kHk5Mn4OwsdfdSKsrRjmDhF7icth0u7mRTYD1d_sQ6WXVUF25J1CF1-mYWO9kknIt6B7z1oOsgco1TzJxqgjks_dKscYF_hIqQLHYKOZfZyiRZBctroF4ZrmrrMrTK8Uipw-OgTXVI/s1600-h/image%25255B28%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Eb-okF01UfNeAKENMDsaKPi5t2J-Y0xqhtvNPwq7Iu5GAe3iE_bQwrasWRaSo8YdGnyV41B4_s3qJEZM8e11n7VGtv0x3qxd4k-doe0MNmyG3KIEjrT8qD9U5t9Zj34FafJ12ibPTYtC/?imgmax=800&quot; width=&quot;600&quot; height=&quot;258&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Select which tasks you want to complete as part of this operation. Do NOT migrate the VCSA as part of this task, strongly recommend you do that via a separate step.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4ZXfC3dnjlBZF3mx_FKRNmrvyv0LS03uHLouYweXxf-itg3NCGfFmWy7nKpJzj4YrEk0lJ14KCilqHZMB1M4LoYc8s3EffB79CqX4dxIepC41CuQxkCMp4QbbCiUHyz5__I-bFBDGmHtz/s1600-h/image%25255B31%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBghD_WkI2WIl6ur8d20AqOxyzw06uuvgVjruqwWRwqRZv20kGzqqDevIPjzNY6sOyrKUzFALOi7CCIP1ICt2G_GbK-npaP8QqMRwXvt-1K4k0xiYtHDrFtz498KcDYzh8dRztQWYT9VKP/?imgmax=800&quot; width=&quot;901&quot; height=&quot;539&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Assign physical NICs (vmnics) to the uplink port group DVUplinks. Make sure that your vmnics are balanced across the DVUplinks. Notice below that I&#39;m migrating vmnic0 which is currently assigned to the local VSS.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbmHK3eEvisxpKgS02IphZ94OpCpBvrwvIVoj0I7eWeHh6Gy4L3_gxvBb6kTWrduSoduc6iRaNNdm2qwlwFdV4GgUHAb7H-UdhWyWBzaLJyblS83YAjRD1PeHchqcImIgLxj0z6y1SXm0h/s1600-h/image%25255B34%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguH7UNvGSLc0oFcqU85s_FVyg1xegM4GFzmtikEotyHvYUlZQ_iBNmChkXCXT_72viZQoFy5qBMEwJjs6HaZRurJegxCvKNauK-C_dSNdDv2CmqAoAWSuky_G7jaEneaz8uEvN2Br-HZU7/?imgmax=800&quot; width=&quot;975&quot; height=&quot;306&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Migrate the VMkernel adapters to the new DSwitch. Here I&#39;ll be moving VMK0 on the local VSS to the new DPG DPortGroupMgmt.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbDNHLtxf8SNcWu32rH-Hdk7pmvJ80T2BLD8iIZVQmaE15Q9BBXi3IEw1JqLJOZyTTUvI64qSzlSS9whAWcmXM7TLLwTZJIDeuJO3fsxb8kpwccCPK9fWu90x24yvfj7ZqAHVKC4V_9Ggq/s1600-h/image%25255B37%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8iDZ5bYwIzQlNarpoKgIh2AM_X3ItkQo44ZfPqrN73u4NhtTwvrr-1hHt1j8tRSzxsXVcs_JIqEVeO_yrCh61KnZFOfIy7rHsXEGKGkiTrN_fl1GaQVI-JozpGVmdaQgu3A4HPHg962hP/?imgmax=800&quot; width=&quot;975&quot; height=&quot;287&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Evaluate the impact and execute the operation. Once complete we can see that VMK0 has successfully migrated along with the host&#39;s vmnics, to the new DSwitch topology. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFn-nGVhkqhX1ld0kUftdz7jhZLEwYDGAFUriV-hF3LZMqOVW4_THvkHEMlBCUBRNSXNqSvKS8gWCovtD6nsJtJv9CJz1jCYFAaM5jD84boIdlG49uM9HmTRFiDeCm-td5cbPbkzz9qYR8/s1600-h/image%25255B40%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuA-Ki1lreEGLaZERAb-QT0wPNRQEi78ZWTJEaYfp9MzSF1hguaOyMJYB5YrG2te2kKwoVrTEYP_UihH33k98QcTl6pn8KXToit2WGXavdyAq0vpTMYHoOi9XPqXeCVvp7hC4alV17TsQ1/?imgmax=800&quot; width=&quot;553&quot; height=&quot;283&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Repeat this step on the remaining hosts that are &lt;strong&gt;not&lt;/strong&gt; hosting the VCSA! For the host running the VCSA, migrate only one vmnic to the DSwitch, leaving the other vmnic active on the local VSS. &lt;font style=&quot;background-color: #ff0000&quot;&gt;&lt;strong&gt;This is very important, if you deprive the VCSA of network connectivity, bad things happen.&lt;/strong&gt;&lt;/font&gt; Here I&#39;ll be assigning only the vmnic currently unused by the host, vmnic0 attached to vSwitch0 must remain intact right now.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv9BHcd3zGqaIRDr22XXcrM4a26m7yy6Ecohf0Sd0I4VYBFHDzde0KRavRmNjdMSJfd5VmkR9ffvbgmBnBD1KVjvPNFBwn9IxXoM-JoWR7Fcq2X4189P5hDzLSiqZnXVXf2LL6KGTcfmtN/s1600-h/image%25255B43%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGBymWiUhv6XV8zrSZyeitri2toii8R40zK2JZzEeaKE5PS3WenvKwjr3pK9daneOKyiRCHBqvUic_fbmI5ofVxgk7aFEiaxorHSrDHXP6iCUdOjcyLmMrt-A3gUVDVDu91pIIETsE5EA-/?imgmax=800&quot; width=&quot;970&quot; height=&quot;309&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As an additional precaution, don&#39;t migrate VMK0 of this host yet, we need to first configure the VCSA with a vNIC attached to the DSwitch. As long as the IP and VLAN will be the same you can make this change hot with no disruption. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkZegKwevlaAROjeZdzNv5qFypigFxRqu4fRllfkAeONHgEpwb4ciVE3efIAXwBnDoLZKG5B0GA8vH66HyZORar3ax3-OYpj3f45XqnAQC988njDVVB7MGHyKXlIFQ2p75Oad1ENiIkUN3/s1600-h/image%25255B52%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtIIV1gf3D2eljl51qGO2J9SxF6hy3mrE-NLQyev-KF_IE-UE45jlLLvrZVdbxN1LrVqO5PqxtPWh0Q1_FIq6nFjnAuLVKoEk1T_M8dJJ_dykxf88w0FbpKNYudWZ66D7kSQD-2fOSQ6Dn/?imgmax=800&quot; width=&quot;512&quot; height=&quot;409&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now it&#39;s safe to migrate vmk0 and the remaining vmnic attached to the VSS vSwitch0 to the new DSwitch. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKSYWSih5MMgXqNZJswz1bj5P6DZbuAwblqZH0t57Y2wScXdAgAdWL4vhPzXSpp_z7gunx3-pkejFLR1UvRV4nfQR4yBKmC8DS8yEa1jlRPq8nSsk1wTwLg6ATmrd04-STgRFfVlD5xLvX/s1600-h/image%25255B55%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCbuJdSj5_7O3l97NmEF_aCTbDX5a4RUYhKutjRG0kY_Wh1mOkhVJzke1s5K5G9o-OzZ15jwsN-1iWqBrp_0DwV4cg6_WjMIj0OBCkV3Zv48J1pzeavr1_lVzB0UInpFRL-6IE05ZSabnA/?imgmax=800&quot; width=&quot;969&quot; height=&quot;312&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is the updated topology view with all host vmnics, VMKs and the VCSA migrated to the new DSwitch.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqOXxF1eHAI4JWpdxGgqFizlAMneZc8b-Gz1j_GgQ5u9GG8_NgxNSLZBoBXIEfvTheqiptx1oCHEBuWibZPPHmKjKO92cY55am6hDri9wlVPyB53lnilv7LE09HGFE9YLjAsPiu-rlY_G3/?imgmax=800&quot; width=&quot;546&quot; height=&quot;366&quot;&gt;&lt;/p&gt; &lt;p&gt;Next create additional VMKs on DPortGroups to isolate services like vMotion and VSAN if desired which can be done at the host level or via the DSwitch host manage dialogs.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;font style=&quot;background-color: #ff0000&quot;&gt;&lt;strong&gt;If you will be turning up new VMKs for VSAN, make sure to have the new VMKs on all hosts configured and communicating before disabling this service on the old VMKs!&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font style=&quot;background-color: #ff0000&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font style=&quot;background-color: #ff0000&quot;&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Part 3 - Network Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources:&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&quot;http://www.virtuallyghetto.com/2013/09/how-to-bootstrap-vcenter-server-onto_9.html&quot; target=&quot;_blank&quot;&gt;Bootstrap vCenter for VSAN 5.5 (Virtually Ghetto)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2013188&quot; target=&quot;_blank&quot;&gt;Enable SSD option on disks not detected as SSDs&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fesxcli_vsan.html&quot; target=&quot;_blank&quot;&gt;ESXCLI VSAN commands&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2106572&quot; target=&quot;_blank&quot;&gt;VCSA Resource Requirements&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2040626&quot; target=&quot;_blank&quot;&gt;Change vSphere Web Client session timeout&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware Compatibility Guide&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1008127&quot; target=&quot;_blank&quot;&gt;vSwitch command line configuration&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbcIPUrt-HbgDlkfBzgB34XVsI_tosb36d3GlBZNFQogrBJ5_4liXbgYCwM7GzyBHJIQlbfM03xgc2QUaMBZ0J9yXAdqBBPwX0Nx6XcaAsg7g7pI6kS3kia6_g4tizXOKEJBeGLUWX2eJk/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-8028105076885027606</guid><pubDate>Wed, 05 Oct 2016 16:45:00 +0000</pubDate><atom:updated>2016-10-07T14:57:34.834-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VMware</category><category domain="http://www.blogger.com/atom/ns#">VSAN</category><title>Deploying VMware VSAN 6.2 with vCenter Integrated - Part 2</title><description>&lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Part 2 - vCenter Deployment and Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;float: none; margin-left: auto; display: block; margin-right: auto&quot; alt=&quot;&quot; src=&quot;http://logodatabases.com/wp-content/uploads/2012/05/vmware-logo-black.jpg&quot; width=&quot;430&quot; height=&quot;108&quot;&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Deploy vCenter&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;In case you hadn&#39;t seen it yet, deploying vCenter has changed a bit in 6.x. The Windows/ SQL version of vCenter is still available but under most circumstances it is cheaper and much easier to deploy the vCenter Server Appliance (VCSA). To get started, mount the ISO, install the client integration plugin then launch vcsa-setup.html. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijR6LqCynY8FiRAJTceEnYOGMXjhBbPH6l99g0IBA5GkJ0DVgCAo4ca_z-iljZh_7BAWAk_KD8mvJl0JsuU4ss5CNM1IqsLs6zDG1o8kqr5tcDZCOf7sMutvpZ9SpuqZZtfJJFPUoVgG3C/s1600-h/image351%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYHE3mgV1Hx4V8W2lZtNHzwT3SUaLxdk4X0Kl9JL2p99nyDbmZt8tZo_UlxUB32LYXtfkqHVi2JV1E4W1odpDAbrJjdG21UKA48cK86mw9q-DGCvXBGiCSTcd2Qk5vY_keYbXAmreiesXn/?imgmax=800&quot; width=&quot;486&quot; height=&quot;344&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Follow the prompts and deploy your VCSA on the first VSAN host just created. For this deployment I&#39;m using the embedded Platform Services Controller and creating a new SSO domain. Size your VCSA based on the number of anticipated hosts and VMs to be supported in this cluster. As before, you can opt to use the internal PostgreSQL database or connect to Oracle externally. If you need to use SQL for the database, you will need to deploy the Windows version of vCenter.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pAigtTekHKBrNJKUPJuulREo9_S5PDi8XjyMYMoxSE76bcyGA64VOYdKqc-5yu-waTk7DpRmgqVHL7SnLD5JAE6lzTKrQwYoVMmEyAAP5AmSFAFiOKIHcrWttoClg2MVWDDEpgLZs8X9/s1600-h/image53%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivkEWWHQIW9i4M0cywpRfB_XDuwL0ZVTppBBeTNFq8a2iNqNDWgbTmNL3UUYZMGXKs2LqIDf37_6gUUbNW_lsOVhPNLmNVc_8ylBizE5-eOWzpnp8bzdWXjJHJQIozXgqoPW0GBhZSs0X5/?imgmax=800&quot; width=&quot;480&quot; align=&quot;left&quot; height=&quot;307&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfcqsGdoxQ5ukEwndmiE7UmO5cgEUVmlfNtAiBVc1W4Nf6LyA2-ww2YsI2GBZoVNKN4M9QCNdJGsLWIwusbuvfcccWsnlDFoBM1ihZxU-EnG53ODPm0XyWjketqpGwkgk-YKC-3AEEphdT/s1600-h/image52%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIGW7vZG_Hcx3kuqtcTuY_nT-PfHw2mdliKLbeEZhoL0GER6_V9Fpo8H_fbJRETFvWv1g5TVxAyyifNL0kLp_JZ9yrHPtvZ8GuzL401ToFol0e5UgwFVAF26PowGvcqP3L1bSQIl1eNASC/?imgmax=800&quot; width=&quot;480&quot; align=&quot;left&quot; height=&quot;309&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLjzODLGeZ6ff0fg9GhJ7AV9yOaYptqY7skpjdVhIasowBchQ8Eoeoeo8Fg4T-Hp9UHoFiOXuhfVSJLsEtBtXJd4vi9CWbFbfpeS4e6uPoN1dtYkYxD4wpORqc6GcfHBeY9E6PY73TT9rL/s1600-h/image51%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggu5qFc_iLbpPQkwaPJcp-XSRsd1j7Bwz9RGOoVLgVBTu1DHGbFreGJ3DbbpB40YX6oDyzG8nS4D3OdP3Gjx_34EONqnbKjNOmuZ7bna6G0AsZiD5kpck96G6JmKN6OXWF5Zlt3X0Xfvxl/?imgmax=800&quot; width=&quot;480&quot; align=&quot;left&quot; height=&quot;305&quot;&gt;&lt;/a&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Enabled Thin Disk Mode on the VSAN datastore if you&#39;re concerted about VCSA space consumption and select the VSAN datastore as the location for the VCSA deployment. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH8ohdoIIpr-kXs9hvh7BfGPb8BS1p2v8jlqCoYi0CmRTuzKXeu21quECbFxelj015oIlhJiSvlp-eTmE6UM1COt71XoEPg6N-15dOrMvOo52SEWQ6YHjkQTroV2u633DSRSMumKQduVMr/s1600-h/image64%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAJjECs9kgUW6GIQ7o7OkcFOYuhrsXLrLuzGQdqesjL1hCHQWpvzqmJcvB8qcVHc79mgAxke_PH5e0he0NFTSZ9E4qNAbQpPMh4verf54wSs_rAK_dO_2GudjiEopx5AaOJErcQ-cWhdZj/?imgmax=800&quot; width=&quot;850&quot; height=&quot;542&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Select a VM network available on the ESXi host which will be a VMware Standard Switch (VSS) at this point, assign a static IP to the VCSA and complete the deployment. The installer will download and deploy the appliance. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font style=&quot;background-color: #ffff00&quot;&gt;WARNING&lt;/font&gt;&lt;/strong&gt; - Make sure to manually create a DNS A record for your VCSA or you will get a first boot error when the appliance is unable to resolve its hostname. If this happens you will need to fix the DNS issue then redeploy the VCSA!! You can also avoid this by using the static IP in the system name field instead of a FQDN. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9fimBKmN9xFqbV94gJSL_XwROf7NU7iOM2A6gG30YAovRIIVYWhYjcJwnBtWmd03nfT_I53LoNcemK1Bt1g_up1m2gznYM1hYm2vbw19n1kBIcYFpnvPbreiFfZAXgWfy4MzQ0oaOJtG2/s1600-h/image63%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNggNKAHsj-7a0icyM5f8iKubmxV8EZUmIk2be8erAD7mo8PRdwn4oHuiYhk0CrDwq_D4QDDAYK5NsFS5T08hQMgXwOclKQQ5Tuk0Ni1GbuZZN8kQQLT3yXX-GYTGdzFRAb7sbSxQbm-SX/?imgmax=800&quot; width=&quot;850&quot; height=&quot;543&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Once the deployment is complete, login to vCenter using the web client with the SSO account you setup previously: administrator@pfine.local. Create a new Datacenter grouping, add your ESXi hosts to vCenter, add your license keys then assign them to your vCenter and ESXi instances.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipDvrTWoCNPXEZUVxYoc1DVNbJfsT_0wh3bcTdsU9_9SFJazAgzH4jElqJNsOCGzaI2p2488qCpMU-3hil3Hsf-iYc3bismABmHpxYhjXTqkj1Qtmw1hFncTfNO4DUeWR21YzXp2gXNAzg/s1600-h/SNAGHTML732c926a3%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGKB8XNPcES-trspppS_tpemRKLHRAK1S7Kpaohc817kbMFvnm2budFDergbJilsRVwbWHTXJWYZtM7W4wti_mgTdvEoZlhxZx14YEozcn76BWHLyDuIU_g9HJZJlLsiPW0kAaO6K8-jre/?imgmax=800&quot; width=&quot;777&quot; height=&quot;532&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Active Directory Integration&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;If desired, join your VCSA to your AD domain for single sign-on. In the web client from Home, navigate to Administration --&amp;gt; System Configuration. Select the Nodes link, click your VCSA instance, click the Manage tab, click Active Directory under settings then click the Join button and enter the relevant details. Reboot the VCSA to enact the changes.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv5DFo8VhgEjxhUmww9KsD9UOwG9POfkaKN7K4lkVuSoDgJgOw_2W_Km4eN4DeMzLS3AeGpNwj-Th_eW2JUXvsPC9zTRJBynagwURR5nytgkki_dF8JEj0ClR7R52kUWDvhwiDc_oQ9QIg/s1600-h/image67%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeRjw48iYwPqR6CWgirCHUHLKjj6lmYeDNDuickknQPNpu9boMkhzmtsRtXupW2_SEsVaEAtcyJtBE8bLUKhfgX8RoBHoFc6AGZhCVhKzWxWjHTJeEySX9ot_go-iq76Jrx__3UG8-I6sN/?imgmax=800&quot; width=&quot;776&quot; height=&quot;326&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Login again to the Web Client and navigate to the Configuration page, choose the Identity Sources tab and add AD with your domain as the source type.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFu7jEKyCvpFZLT9o0BMXOKCZkMtvlViSy_zYTld3-1tmzko-thWLF_wgIV7KQHVvbFX0LSWH5itp1siNn_irbBE95MGLGd7fo9PtByCyzHcA2lE8X-RjtZRHScMpycBvSfbYgFrzKLtV-/s1600-h/image70%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio67AZMxmpatbpwhlLaYgr_mwZuQnqHVQp-JfZgJEvFq8C4-IXzFnB3U1j4BkqK_Itw7dFWxP_8y1x1Z9SWbixVk7235olV9h3992izJhW0xYeJpCS_MlMBOdcr1lBFReQ-zb1NV9Nroyi/?imgmax=800&quot; width=&quot;876&quot; height=&quot;514&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Finally add AD users or groups and assign them to vCenter roles. You can now log into vCenter with your domain credentials.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_LzSicsWA6SSfjwIk0_JgvJcmZAUI0x8BYR6h-uG2-YPZc8T12MTiFiLzba7qa6EZcFFirAbdJeuUy-JRHJV84eUn0pGk546DLwpKviCr5ikjmET2-4nOWFNphLD6h2jxl1gXvoBouQZI/s1600-h/image73%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs-BP-6NJ6l2LypPqagCPNL4wkQCEWdh0N0OSBRmMUu9_yhc_-u6NrScZLichHEVhxujRbJ-4_Gr_lyBmGZmLJmlKyNC1FqhX33J-t_uAApA9gGpa5gkuWYmk2FIU2aBXXxg7PX0Ov_eKW/?imgmax=800&quot; width=&quot;977&quot; height=&quot;823&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Build the HA Cluster&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;Before we build a new HA Cluster object, we first need to enable VSAN on the default management VMK0 which lives on the default VSS. Repeat this on each host that will join the cluster.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSug5nFlphilNOu5cj8eP1pJ2OJjntoOTJMg20tKCqpvdvbihzTqylWlS7ZlKS1rgixltbtNVKdAIqVfFRVMDSWXqXM0fQPcdwJtcoYI1ykAGCF5x4hyppKps9vwZCgsboxIxm7pxQJ9x/s1600-h/image85%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3A-fB7_D6HQTLPaWeCGIjhGwMe27E4AXSoR44CG7-H3TX-ygyEylseI7iHXPd_TLnl3_AQo-zs7rDhuF83fZyOr_7BpctAy5-TL0514H752t9_btxUZxtpCcjP2D4vUGqm0jLJLerKVGm/?imgmax=800&quot; width=&quot;755&quot; height=&quot;606&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Right-click the datacenter object and invoke the New Cluster dialog. Give it a name, enable DRS, HA and VSAN. Make sure to leave the VSAN disk mode to automatic here. If you have a single caching SSD VSAN will build one disk group (DG), if you have two caching SSDs VSAN will build two DGs and spread the available capacity disks evenly amongst them. Select your desired automation and admission control levels. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnM2jC1nj0DoTsICSnVKYKzi03BL0JwHFdWJWhjZMEUDhJraUC54Bp5nO9v0sEKa85k7NY4kjLlTmxr1cD5H_b8ufNMJlKoy4rtiwSnyFnsB6MnECt5Wyl1tBteCqSacOPgItowO9ir3D-/s1600-h/image91%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtwmf9mf21PzIXYapKP3M2S7_7JgXskzc_phcLl63Pa5PkirBJasF5eOZDPwtzZHF3XeW8whcH_L2BFVB6kiYUYrgKRKoHxwhuCOOnm0-JKXktcCX2IyuXQW2hv7b6nx3W0KEKZpcDEFJF/?imgmax=800&quot; width=&quot;645&quot; height=&quot;399&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;font style=&quot;background-color: #ffff00&quot;&gt;&lt;strong&gt;Very important:&lt;/strong&gt; Add the host running the VCSA to the new cluster &lt;u&gt;first&lt;/u&gt; so it becomes the master host contributing its &lt;u&gt;existing&lt;/u&gt; VSAN datastore!&lt;/font&gt; If you add one of the other hosts first, then a net new VSAN datastore would be created and make it difficult to add the pre-existing VSAN datastore later.&amp;nbsp; Add each remaining host to the new HA cluster by dragging them in. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Assign a VSAN license to your cluster and double-check that all disks in the cluster are running the same On-disk format version. Found on the HA Cluster object/ Manage/ Virtual SAN/ General, update any that are outdated.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUdwJuL0gHNZLDRKk5NhcTUY_Lu9iHDAQeBTKSH0fJFMTYx-TwfIOHOn3Hf97MOzHJdbe5ciN3gRC-GIKMxG59wIasNc78Mp0T2tAc8KsDDlOpqUReIwC03c-mC-GEzgTqZhO1lcQy6CW_/s1600-h/image231%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBwkL9oUw52Jh3NkKct2P14Tghpwz7kP8WczvVpTxymsovLT3dXqU9ejHjgtT2pzGHVxxfv9l095ncO2iAMrm3P-8OSbH90RO9Q-t_MFHDLy8oFKGvbLTaverP80ozBZBi_6WF2NErKJZu/?imgmax=800&quot; width=&quot;486&quot; height=&quot;439&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As an optional but recommended step, turn on the VSAN performance service from the Health and Performance page of the same tab. This will give you more historical performance information for the cluster. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj45bGYpvipU_Z2zwP0ae3CDOuLco_4SqjT2ohtxZG8wziOUfSPkInPAOa8EJpjd1nshgOBw-EM10_lNgwJbWk2LYbaJ4f0Kpy0MZ3yPIFdOd-gy41q7qdCVUfuSmmOFYcHxK4GFj7DWRy2/s1600-h/image26%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXExJGfv3sd4BaMpcgIHBBBK74eVstfLKYEwRLRGvpE2Llitr_bNxq3y2mUrI9HR2WEdLtHg9ixkNBv2DTGACW3bA116CcFwOr_8Bl5wgB4xgiKnKikuuMddKInxiW61L56oaSXOjbhGiy/?imgmax=800&quot; width=&quot;425&quot; height=&quot;229&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Make sure to also update the VSAN HCL database and test your deployment for issues. This can be found on the Monitor tab under Virtual SAN on the Health page. You&#39;ll notice below that I have a few yellow warnings relating to my H310 storage controller. In this particular instance, I&#39;m using a newer driver than what is actually certified for the HCL (06.805.56.00 vs 06.803.73.00). Very VERY important that whatever you deploy is fully certified via the &lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware Compatibility Guide&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN_6D4gzF7f0ncnKo4x_KMJCbHk7DueIlAzVmSWRi_gk4pOHR3Vr6po2KuSu1leora6pKJJwcRpCSl4TPH_WjokjBhHW71LeZDGOsVY9ycKl-rUTKRvRmCZmQ1DVCwd95VIKWuyMH7pH5o/s1600-h/image35%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4asywEmqt2nI3jBG4dMuBXTmDGTv3cqWOG9sj-0qO1bBgJRtvwn3PUaswPZDAh2c1aXeiQMIN1aOqFjXs6HyclFgmjSt2mGu-uyDSSUxJJ8eMbcjYnTJE0O2qBYsL1_gcmwCNQ4yAlPIe/?imgmax=800&quot; width=&quot;993&quot; height=&quot;572&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt; &lt;p&gt;Now the VSAN cluster should be happy and humming along with all nodes contributed storage. Here you can see the dual disk group hybrid configuration of two of my hosts. Note that one of my caching devices failed on .93 so I had to replace it with a smaller 200GB SSD. Just an interesting thing to note here since I have two DGs on one host with slightly differing configurations. VSAN is happy despite. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWyO7dJVtH3t323nwLqyuLEufsJFFlTFghh0iYfAyCeJVv4dQbDL3w2doecrwPTPVjN-RLpizqsxAzGO4gOJebKsHzlkkd0zINd7zcRweJUi51sPeAhhx50N-ythYFk5G_piQpC3wjCFhe/s1600-h/image%25255B61%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP2niU4MGBRl9ruEO4JvUv-sjpasiIRJsKKAX9g70IHbmstpLw8EM89Iz6D3wnoRw0MeE_cAmYDS0tE-LRdtuVGFwXGLglZDpJ_X2OVQnVbnxQts1ocw-8LqAvPmvokbCLIOqbFSt_9T8p/?imgmax=800&quot; width=&quot;955&quot; height=&quot;568&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;On the VSAN monitoring tab we can see how the physical disks have been allocated and clicking around reveals which VM objects are stored on which disks including current consumption. &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYLWI1RETB4qGeAVlnv9RUyOMb8Tbrh569kMk9amn4-T3Dw-XKuYPSG5veIxKJw0ExPI2-db05kHzuUeK4o_CJEjdeaVmWsOrYCXKCdzrDUUyxcW-gxuwaszpHw6sskH88oX2WLuNNqS1Y/s1600-h/image%25255B67%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOECo85greqj5fDJZbOFKqNBkD6qsOZN7Nblq8BtLxr7cG0hs_b02xx6xWtEI4YQhDRQY2J8CC80LUn3PI3qcaO0wWCCLKFKr2rG842M0QGbF8Wx0ioXcnehG-9Ondu-LrPyERHKh52ewv/?imgmax=800&quot; width=&quot;1175&quot; height=&quot;603&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is a look at the capacity reporting of the cluster currently only hosting my VCSA with thick disks. Notice that dedupe and compression are unavailable as this is a hybrid configuration.&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhblislr-ZsWIo6oNM7nVgkNsXyiwfWXOOiWT-EhbhpSOM7kRQ9rH202YNabfyyvJ38bx2r1xdFuJzfEd5E1Y5v6LZs7ULQqqfy5pcYbsr3dbtSzymuwCmrHMdHnBeX9zv-VXBCkLJ-TRjY/s1600-h/image%25255B64%25255D%25255B2%25255D.png&quot;&gt;&lt;img title=&quot;image[64]&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto&quot; border=&quot;0&quot; alt=&quot;image[64]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG_4Gt6dsitADUszm7E4vZuucPu_Z-tTWszEyWbnaGLYKT_rkrsBgnC913lfDAtMt31fZ2nD8bM0ovP1LlaBwTaSlSLpGFA7VuYwvUHv4WHTV-fv4UJLt181wPcICigeNfDfEw33HTI48O/?imgmax=800&quot; width=&quot;1148&quot; height=&quot;577&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt; &lt;p&gt;In the next part I&#39;ll walk through converting this environment from a Virtual Standard Switch to a Distributed vSwitch. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/8yElhq&quot; target=&quot;_blank&quot;&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Part 2 - vCenter Deployment and Configuration &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources:&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&quot;http://www.virtuallyghetto.com/2013/09/how-to-bootstrap-vcenter-server-onto_9.html&quot; target=&quot;_blank&quot;&gt;Bootstrap vCenter for VSAN 5.5 (Virtually Ghetto)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2013188&quot; target=&quot;_blank&quot;&gt;Enable SSD option on disks not detected as SSDs&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fesxcli_vsan.html&quot; target=&quot;_blank&quot;&gt;ESXCLI VSAN commands&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2106572&quot; target=&quot;_blank&quot;&gt;VCSA Resource Requirements&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2040626&quot; target=&quot;_blank&quot;&gt;Change vSphere Web Client session timeout&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware Compatibility Guide&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1008127&quot; target=&quot;_blank&quot;&gt;vSwitch command line configuration&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYHE3mgV1Hx4V8W2lZtNHzwT3SUaLxdk4X0Kl9JL2p99nyDbmZt8tZo_UlxUB32LYXtfkqHVi2JV1E4W1odpDAbrJjdG21UKA48cK86mw9q-DGCvXBGiCSTcd2Qk5vY_keYbXAmreiesXn/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-7774683567651614441</guid><pubDate>Wed, 05 Oct 2016 16:29:00 +0000</pubDate><atom:updated>2016-10-07T14:56:31.044-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VMware</category><category domain="http://www.blogger.com/atom/ns#">VSAN</category><title>Deploying VMware VSAN 6.2 with vCenter Integrated - Part 1</title><description>&lt;p&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;float: none; margin-left: auto; display: block; margin-right: auto&quot; alt=&quot;Image result for vmware logo&quot; src=&quot;http://logodatabases.com/wp-content/uploads/2012/05/vmware-logo-black.jpg&quot; width=&quot;430&quot; height=&quot;108&quot;&gt;&lt;/p&gt; &lt;p&gt;Deploying VMware Virtual SAN (VSAN) into a greenfield environment can be done a couple of ways. The easiest of which would be to deploy a vCenter Server first on separate infrastructure, deploy the ESXi hosts and then build the cluster. But what if you want to deploy vCenter such that is resides on the shared datastore you intend to create with VSAN and live within the supporting hosts? This is called bootstrapping vCenter within VSAN and was previously covered by &lt;a href=&quot;http://www.virtuallyghetto.com/2013/09/how-to-bootstrap-vcenter-server-onto_9.html&quot; target=&quot;_blank&quot;&gt;William Lam&lt;/a&gt; for a single node deployment on vSphere 5.5. The concept is similar here but I&#39;ll be deploying a full 3-node cluster, using vSphere 6.2 and configuring a two disk group hybrid config. VSAN being a kernel-level service within ESXi can be configured without vCenter on a single node. vCenter of course is required for multi-node clustering, licensing and management of the HA cluster, but the value here is that we can deploy VSAN first, then add vCenter to the newly created VSAN datastore without having to move things around after the fact.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Architecture&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;The basic tenets of the VSAN architecture are relatively simple: an ESXi kernel-level service enabled via VMK port, managed by vCenter, running on each node in a cluster whom contribute local disks to form a distributed datastore, accessible entirely via the network that connects them. VSAN uses the concept of Disk Groups (DG) to organize storage which are a collection of cache and capacity devices that can be all flash or a mix of flash and spinning disk (hybrid). One cache device is allowed per DG and I strongly recommend using at least 2 x DGs for resiliency as well as increased performance in all configurations. Caching behavior differs depending on the model deployed, hybrid uses 30% of the cache device for writes while all flash dedicates 100% of the cache device to writes. The basic rule of VSAN sizing is that cache should be sized based on 10% of anticipated consumed capacity (in VMDKs) before failures tolerated are considered. In other words, make sure your cache SSD is big enough to handle the capacity disks you put behind it, by at least 10%, per disk group. 10Gb networking is recommended and required for all flash configurations. &lt;/p&gt; &lt;p&gt;Policy plays an important role in VSAN which provides a great deal of configurability but also dictates the most important single policy element: Failures To Tolerate (FTT). FTT defaults to a value of 1 which means that every VM will have one replica of its data across the cluster. The maximum value is 3 but each replica created has an impact on available usable disk capacity, plan accordingly.&lt;/p&gt; &lt;p&gt;For more in-depth info and some light bedtime reading, check out the very good &lt;a href=&quot;http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/products/vsan/virtual-san-6.2-design-and-sizing-guide.pdf&quot; target=&quot;_blank&quot;&gt;Virtual SAN 6.2 Design Guide&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My Environment:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;3 x PowerEdge R720xd&lt;/li&gt; &lt;ul&gt; &lt;li&gt;2 x E5-2650v2 CPUs&lt;/li&gt; &lt;li&gt;384GB RAM&lt;/li&gt; &lt;li&gt;2 x 160GB SSDs (Boot)&lt;/li&gt; &lt;li&gt;2 x 400GB SSDs (Caching)&lt;/li&gt; &lt;li&gt;4 x 1TB HDDs (Capacity)&lt;/li&gt; &lt;li&gt;2 x 10Gb NICs&lt;/li&gt; &lt;li&gt;vSphere 6 Update 2&lt;/li&gt; &lt;ul&gt; &lt;li&gt;ESXi 6.0.0, 3620759&lt;/li&gt; &lt;li&gt;vCenter Server 6.0 Update 2 Appliance&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is the architecture of the cluster I will deploy via this exercise. Even though I&#39;m using 12G PowerEdge servers here, these steps should be very similar on 13G platforms.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7nHe0yMPOf4IBKN-1ZBMKHAS8HWgtDtjS7a1lEV19K-2ejmw8VbHEYK6EkB-kxupA8SiQtIlBbXyzx3XL29CKESHi_DSa_leERLDJoQO2XwC0m2PD-XkmdLI5t1qdJ7qVGCRaw5HUkmQ/?imgmax=800&quot; width=&quot;627&quot; height=&quot;456&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Prep&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;Very important, make sure all applicable hardware components are on the &lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware VSAN Certified List&lt;/a&gt;! First make sure that all the disks to be used in the VSAN cluster are in non-RAID pass-through mode, assuming your storage controller supports this. If using a supported Dell PERC controller, this should be the default. Conversion of each disk may be necessary if rebuilding from a previous configuration which is performed on the PD Mgmt tab. &lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd8W7AdjfbS1lWG1equsSrVl3Poji2jvq0rTDL-iRLUuQ-ttEhKI8DnKa0e6cq2hjpqHaOrhn9QjdVB3TOkYLo_v3Y6jScM0OtcyH3uZ5pxlRA-TsQLUe9ase65HmbZ7O3VFxseZPECHLH/?imgmax=800&quot; width=&quot;784&quot; height=&quot;645&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;If you don&#39;t see the option to &quot;convert to non-RAID&quot;, first select the &quot;Factory Default&quot; option on the Ctrl Mgmt tab. You should then be able to convert all disks to non-RAID if required or they will default to this. Repeat this process on all hosts.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoi0fLNLs5OhFK2Rx3lvwSgSJaazOLiPKTzO1Yp5JKPNkInhXqQ1XjuqoM5JjN-ZuXDhiLWG2izreOvghBeQcMfWyUN6Uv0OWE9LdZb0abGjW5cvmzvSvVtCARgJANCjQnJiPVurJX4l1P/?imgmax=800&quot; width=&quot;560&quot; height=&quot;642&quot;&gt;&lt;/p&gt; &lt;p&gt;Install ESXi 6 on each node and enable the ESXi Shell or SSH, whichever you prefer, via the Troubleshooting Options menu of the Direct Console. Enter Alt+F1 at the home screen of the Direct Console UI to log into the ESXi Shell, to exit the ESXi Shell, press Alt+F2.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxKc0n8Hx2NuxPeujgw6xWkcw-aWsgElqq1J4srg5A2FSqY7cfroNd1qpv1XDljBJBzf1V7xTpaPzTCwKor5eS0ubySRUZg1o8Q5o3j5wDiHRh_PV742KZC15RfnASncNCy1Od6Po0HqnI/?imgmax=800&quot; width=&quot;791&quot; height=&quot;222&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Verify that the disks intended to be used for VSAN are visible to the host and take note of the device names (naa.xx) as you will need these in a moment to build the DG. Below you can see the devices from the host client as well as within ESXi Shell running the command:&lt;/p&gt;&lt;pre&gt;esxcli storage core device list&lt;/pre&gt;
&lt;p&gt;If using pass-through disks, the disks should be properly identified as SSD or HDD with a slew of additional information available. If using RAID0 disks, much less information will be visible here.&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEcd1ld3yXoyJt9rrHIx0B9QIh89R9KNPB6R5iBl5XANkcNT7tFsifub2vdNHa-snKsix6eMqnWgW63wxmQpTBp9QTQ7G9QYLXsRmpsq6u51uEvU24s46S_oy_iiqUtAoOt3G2A4JFpSUr/?imgmax=800&quot; width=&quot;1561&quot; height=&quot;750&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;By default the VSAN policy should be set at a host Failure To Tolerate (FTT) of 1 for all classes with force provisioning set on vswap and vmem. This policy is present on a fresh ESXi host with no vCenter management. Force provisioning allows VSAN to violate the FTT policy which we need when building out this initial cluster on a single node, so we need to add this policy value to vdisk and vmnamespace policy classes. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Verify the VSAN policy defaults:&lt;/p&gt;&lt;pre&gt;esxcli vsan policy getdefault&lt;/pre&gt;
&lt;p&gt;Enable force provisioning for vdisk and vmnamespace. Take note of the case sensitivity here, these commands will fail silently if case is incorrect.&lt;/p&gt;&lt;pre&gt;esxcli vsan policy setdefault -c vdisk -p &quot;((\&quot;hostFailuresToTolerate\&quot; i1) (\&quot;forceProvisioning\&quot; i1))&quot;
&lt;p&gt;esxcli vsan policy setdefault -c vmnamespace -p &quot;((\&quot;hostFailuresToTolerate\&quot; i1) (\&quot;forceProvisioning\&quot; i1))&quot;&lt;/p&gt;&lt;/pre&gt;
&lt;p&gt;Recheck the policy to ensure proper adhesion. &lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPipy8GZrPhcOxGTIrGY2dKVW_nISiaJ4QEeDaD0FdcX40zKP2s1K4l65excd3sfTHfU4S69wVd7IAKTHIgrFeL_KjlKhAa30dRG6Rxk5V1rosrUcdAHrtlO20OIQvZRGSXHpQY8HxwtBD/?imgmax=800&quot; width=&quot;945&quot; height=&quot;187&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Create the VSAN Cluster&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;VSAN being a kernel-level service can be created without vCenter even being present. Within the ESXi Shell of your first host, run the following command to create the VSAN cluster:&lt;/p&gt;&lt;pre&gt;esxcli vsan cluster new&lt;/pre&gt;
&lt;p&gt;Verify the details of the new cluster. Note that this host is now the Master node for the VSAN cluster:&lt;/p&gt;&lt;pre&gt;esxci vsan cluster get&lt;/pre&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2JDJb9CLusnQaSrTc60OrU-7vJmzjHi_ZKbqSDQDkKBFTpNMgykcfLhyphenhyphenOX0ibjTGET-UJPyXBCWm96TEWI7fRxEKgbNWqsvPW-JiLk-FmbzyW_AWzDuG-ZIWWILWvHx6oAryd_1hAGIAr/?imgmax=800&quot; width=&quot;516&quot; height=&quot;264&quot;&gt;&lt;/p&gt;
&lt;p&gt;Once the cluster is created, add each disk to the cluster, note that any capacity disks you add here will go into the same disk group, 1 x SSD per DG. If you intend to create multiple disk groups, only add the disks you want present in the first disk group at this stage. -s signifies SSD and -d signifies HDD. Use multiple -s or -d statements within the command to add multiple disks. For my first disk group I&#39;ll be adding 1 x SSD (372GB) and 2 x HDDs (931GB)&lt;/p&gt;&lt;pre&gt;esxcli vsan storage add -s naa.xx -d naa.xy -d naa.xz &lt;/pre&gt;
&lt;p&gt;Once complete, run the following to verify that the disks were added properly and assigned to the correct tier. All disks are designated as capacity or not, cache tier SSDs should report false:&lt;/p&gt;&lt;pre&gt;esxcli vsan storage list&lt;/pre&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPPUMLxwZuL4PqoLInXMVwtmw1PToDdkx7rTsr8pcM_Rhci_KbtCMdxe0SdjU3ACCt-bWeBuA7fYzQwR2qx2HOLoxwTLswrB78hVJGxXmczz5AZXHUH9JzkSn4tpdRVOwH6oluGoFlTlCk/?imgmax=800&quot; width=&quot;714&quot; height=&quot;639&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;If you connect to this host using the vSphere desktop client you will see the new datastore listed under storage, it will not be visible in the web host client. Notice that the reported VSAN datastore capacity is based on the capacity tier disks only and represents a raw value (2 x 931GB = 1.8TB).&lt;/p&gt;
&lt;p&gt;&lt;img title=&quot;&quot; style=&quot;border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; display: block; padding-right: 0px; border-top-width: 0px&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEWQMatbXuxX1VI0gEzp0gfc7jypN-x2aigFQKwAvkELdd4PRlU3aCngCeoK9hxM9ih3IzgF0nQ5xpE07I5rR3rUeo4ziE5bRW0zQgS5DTouf7-evZKA5btifdewdjrvELDCK82hrVZsWo/?imgmax=800&quot; width=&quot;781&quot; height=&quot;176&quot;&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So at this point we have a fully functional baby VSAN deployment running on one node with a three disk hybrid configuration. In the next part we&#39;ll look at deploying and configuring vCenter to take this to the next level. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Part 1 - Architecture, Prep &amp;amp; Cluster Deployment &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_5.html&quot; target=&quot;_blank&quot;&gt;Part 2 - vCenter Deployment and Configuration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_41.html&quot; target=&quot;_blank&quot;&gt;Part 3 - Network Configuration&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter_7.html&quot; target=&quot;_blank&quot;&gt;Part 4 - Troubleshooting: things that can go wrong&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources:&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.virtuallyghetto.com/2013/09/how-to-bootstrap-vcenter-server-onto_9.html&quot; target=&quot;_blank&quot;&gt;Bootstrap vCenter for VSAN 5.5 (Virtually Ghetto)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2013188&quot; target=&quot;_blank&quot;&gt;Enable SSD option on disks not detected as SSDs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc%2Fesxcli_vsan.html&quot; target=&quot;_blank&quot;&gt;ESXCLI VSAN commands&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2106572&quot; target=&quot;_blank&quot;&gt;VCSA Resource Requirements&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=2040626&quot; target=&quot;_blank&quot;&gt;Change vSphere Web Client session timeout&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsan&quot; target=&quot;_blank&quot;&gt;VMware Compatibility Guide&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1008127&quot; target=&quot;_blank&quot;&gt;vSwitch command line configuration&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/10/deploying-vmware-vsan-62-with-vcenter.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7nHe0yMPOf4IBKN-1ZBMKHAS8HWgtDtjS7a1lEV19K-2ejmw8VbHEYK6EkB-kxupA8SiQtIlBbXyzx3XL29CKESHi_DSa_leERLDJoQO2XwC0m2PD-XkmdLI5t1qdJ7qVGCRaw5HUkmQ/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6519944305633184677</guid><pubDate>Tue, 09 Aug 2016 22:09:00 +0000</pubDate><atom:updated>2016-08-09T17:11:02.596-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Horology</category><title>Omega Calibre 9605</title><description>&lt;p&gt;I was fortunate enough to invest in a new &lt;a href=&quot;https://www.omegawatches.com/watches/seamaster/aqua-terra-150m/co-axial-chronograph-gmt/23110435202001/&quot; target=&quot;_blank&quot;&gt;Omega Seamaster Aqua Terra 150M Co-Axial Chronograph GMT&lt;/a&gt; recently and found that there was very little online information not only on this stunning timepiece, but the fantastic Omega in-house created movement, the Calibre 9605, living within. This post intends to shed a little more light on the capabilities of this movement and the Seamaster 231 reference models. &lt;img title=&quot;23110435202001&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;23110435202001&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEityRF76OWGV0_oYrn9ZHgA7dMNI_nhdlnRYvQorB1nUoyaMKWp4KpRrMko9t7pUaDskeG9Gm4XIWxzzHLRPSLxhvNk7rQ_tb5Rwt5KCR9SF2X0RXW12KGFjRU-MVrKrIFF_OSdWcn0olOV/?imgmax=800&quot; width=&quot;337&quot; height=&quot;463&quot;&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;font size=&quot;1&quot;&gt;(Image courtesy of Omega)&lt;/font&gt;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;A Brief History of Time (Keeping)&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;Omega is one of the most renown luxury watch makers in the world with a deep and storied history beginning in the 1840s. The famed Co-Axial movement, present in all Omega automatic watches, was brought to market in 1999 when Omega worked with genius watch-maker George Daniels who created the first new mechanical escapement the world had seen in 250 years. Many mechanical watches up to that point, and still to this day (Rolex), use the traditional lever escapement which make use of a lever with two ruby pallet stones pushed by the escape wheel. The escapement in a mechanical watch is what allows the power of the mainspring to be consumed in controlled manner while keeping near perfect time. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In a very simplified example, a tooth of the escape wheel is locked against a pallet stone that has a precise angle cut at the top, slowing the watch&#39;s gear train, until pushed to an unlocked position. This action of unlocking an escape wheel tooth sends an energy impulse back to the balance wheel causing it to swing back and forth with its own balance spring. The balance assembly in these movements are referred to as the &quot;regulating organ&quot; and are akin to a swinging pendulum in a pendulum clock. This motion causes the lever to pivot and lock the escape wheel using the opposite stone until pushed open by the next tooth of the escape wheel. This pushing of the balance wheel back and forth results in the frequency of the watch and determines its accuracy, typically 18,000 beats per hour, and is what produces the watch&#39;s ticking sound. The traditional lever escapement method requires lubrication of the pallet stones as friction is created when the escape wheel pushes against the angled pallet stones, 18,000 times per hour. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Daniels&#39; design was different in that he used a modified lever fork with three pallet jewels driven by a modified double escape wheel fixed to the same axis (hence &quot;co-axial&quot;) that separates the locking and impulse activities (rubies on fork: 1 impulse, 2 locking). This design also uses a modified balance with two additional impulse jewels, one for each direction of rotation. Most of the operation is handled by the larger lower wheel with the upper wheel receiving motion from the torque wheel but also sending a balance impulse during the anti-clockwise balance rotation. As the balance rotates clockwise, the entry pallet (on the far left of the fork) moves to an unlocked position and a tooth on the bottom wheel pushes the impulse jewel attached directly to the balance. When the balance completes its clockwise rotation, it swings anti-clockwise and the exit pallet (on the far right of the fork) moves to an unlocked position and a tooth from the top wheel pushes the jewel in the center of the fork. This pushes the lower impulse jewel attached directly to the balance by the end of the fork causing the balance to complete its anti-clockwise motion. The impulses to the balance wheel regulate the frequency of the watch and occur from both the upper and lower wheels depending on the rotational direction of the balance. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The expected result of the co-axial movement is an effective elimination of the sliding friction of the pallet stones over the escape wheel with what should ultimately result in less wear and lengthened service intervals. There is also a reduced need for pallet stone lubrication. Neat design but definitely a good deal more complex than the traditional lever escapement with several additional parts. Time will tell if the co-axial escapement is truly that much better but for now the experts agree that Omega has created something special and innovatively differentiated. Here&#39;s a great video from Omega detailing exactly how their Co-Axial movement functions: &lt;a title=&quot;https://www.youtube.com/watch?v=2ID9bGj_gtY&quot; href=&quot;https://www.youtube.com/watch?v=2ID9bGj_gtY&quot;&gt;https://www.youtube.com/watch?v=2ID9bGj_gtY&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCpFba1r3eREzNEN9nKKp2zEoODWtXmoe6bj7o8z9cuqmlJKa85h2O7_IRkXCPrLIZXlgXCbiEgcVfSylDFfZWjeWeiW8xuNeN4nf8HzlRP_nszH9wgFIcv_uzTVMbaCKlUDvFZTBU7ewG/?imgmax=800&quot; width=&quot;590&quot; height=&quot;781&quot;&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;font size=&quot;1&quot;&gt;(base image courtesy of Omega -&amp;nbsp; I added labels)&lt;/font&gt;&lt;/p&gt;     &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Calibre 9605 Movement&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;Omega&#39;s Co-Axial calibre has evolved from what began as the 2500 to a fully in-house developed premium movement with several models and complications. The 9300 was Omega&#39;s first fully in-house made movement that would change the brand forever. Proving you can do it all under one roof is a big deal for a watch maker and as a consumer looking to invest in a premium timepiece. Omega boasts a few additional innovations which separate their watches from the competition. Omega features a free sprung balance that uses silicon for the balance wheel and balance spring which as a material is incredibly durable and resistant to magnetism. Magnets are the enemy of a mechanical watch and Omega has taken steps to reduce their effects, even more so with the new Master Co-Axial designation via the Swiss METAS certification. The 9605 is a COSC certified chronometer which is a label given to less than 3% of Swiss watches designating that a timepiece is made of the highest quality components and rigorously precision tested. Below is an image of the silicon balance wheel (Si14), balance spring and co-axial escapement.&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxwrQQFis1vqRp1VkwpVm1zpYpwhHw4CHbfxsig1_MtVzlKAgZ7Uy6CNMeld-bMHcBDA4sOxOtVrtSAvNSrWzoGg-FkMIm7U70_dVFuvdN0MOVkz1ZGhhYAgrZsN6l8FDjFAx2y3NwNBU-/?imgmax=800&quot; width=&quot;616&quot; height=&quot;445&quot;&gt;&lt;/p&gt;  &lt;p&gt;This movement uses a twin barrel mainspring with a slipping clutch in the second barrel to prevent over-winding and is able to provide a 60 hour power reserve drawing from both barrels. This design aspect is also intended to prevent loss of accuracy over time due to any decreased torque when the watch is operating on its power reserves. The 9605 is also outfitted with a traditional column wheel for chronographic functions (start, stop, reset). The weighted rotor on the outermost portion of the movement drives the automatic winding mechanism and can wind the mainspring turning in either direction. The image below is the back of my Seamaster AT showing the balance bridge, 2nd barrel, column wheel and weighted rotor of the 9605 movement, stunningly finished in rhodium plating styled with &quot;Geneva waves in arabesque.&quot; Fantastic doesn&#39;t begin to describe this remarkable piece. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;float: none; margin-left: auto; display: block; margin-right: auto&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-1Xna7O9mHSUCMWWreiSOmc8eTv7nnXSKoWcgZl5HbOD7ZYrGMl4zDUgEe-5zje6bU_g4zYafZSfykOoZoYRTg4_wOTMV3hM3m29RMP1XO3_Hci7kar-p1oMFE21XWKzJIyycstq1jL4S/w1411-h1055-no/&quot; width=&quot;1041&quot; height=&quot;779&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Calibre 9605 Functions&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;The 9605 movement has a fancier twin called the 9615. The movements are identical in function but the 9615 uses gold for some pieces of the movement visible through the transparent case back. The 9605 features four complications in addition to the basic time function: chronograph, date, GMT, 12 hour and 60 minute recorders. This is an incredible tool for traveling! The GMT hand lives with the small seconds hand at 9:00. This small seconds hand is the primary seconds hand for the watch and will always be spinning when the watch is wound. For small seconds the 24 marker of the dial = 60 and the 12 marker = 30. The The sweep seconds hand on the main dial is controlled by the upper chronograph pusher and can run all the time if desired or function as a stopwatch. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The 12 hour and 60 minutes recorder hands at the 3:00 subdial is also controlled by the chronograph function via the upper chronograph pusher. This 12-hour subdial at 3:00 can be used to track a specific number of hours or minutes but it can also be used when travelling to another time zone. Simply start the chronograph function when the local time is noon or midnight. The local time will now be tracked via this subdial with the main dial representing the time back home. This is the easiest way to track two time zones while travelling. Alternatively the time on the main dial can be adjusted to reflect the local time. The lower pusher is used to reset the sweep seconds and 3:00 subdial only once the chronograph function has been stopped via the upper pusher. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Another useful feature when considering different time zones is the GMT hand in the subdial at 9:00. This hand should always point to GMT/ UTC and is used to calculate the time in another time zone. Simply add or subtract hours based on the offset of the other time zone in question (example, GMT-6). The date is fairly self explanatory but should be noted that Omega uses a gradual change mechanism that will slowly shift the date displayed between the hours of 9pm and 2am each day. Make sure to never manually adjust the date during these hours as damage could occur. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The crown has three positions once unscrewed, pulled directly outward. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;The first position is to manually wind the mainspring for extra power. If the mainspring completely unwinds due to lack of use, you will use this position to restart the watch, ~30 turns of the crown. You can also manually wind if you haven&#39;t worn the watch for a few days and want to tighten the mainspring. Never wind the watch while on your wrist!&lt;/li&gt; &lt;li&gt;The second position is used to adjust the hour hand on the main dial. When this hand crosses midnight it will change the date.&lt;/li&gt; &lt;li&gt;The third position is used to adjust the minute hand on the main dial. Turning this position will also adjust the GMT hand in the 9:00 subdial. Make sure you are on the &#39;correct&#39; side of midnight when adjusting the GMT hand.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img title=&quot;image&quot; style=&quot;border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px auto; display: block; padding-right: 0px&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi81OTnhWsrrn6b2m8vN8FUENBWQuPUzBhiahj6Xr0UbhrA-uv4liRIUha4p7W9NIKBf5dbtV7HrkryoGlHS9P6E85IcbvkOqmmXu3lTUJxh2mlUuTfR7oO7wRZwdo02o1AqGiZCh0Jp1br/?imgmax=800&quot; width=&quot;520&quot; height=&quot;662&quot;&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;font style=&quot;font-weight: bold&quot;&gt;Resources&lt;/font&gt;&lt;/h3&gt; &lt;p&gt;&lt;a href=&quot;https://www.omegawatches.com/fileadmin/Customer_Service/usermanual/OMEGA_User_Manual_EN.pdf&quot; target=&quot;_blank&quot;&gt;Omega Operating Instructions&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=2ID9bGj_gtY&quot; target=&quot;_blank&quot;&gt;Omega Co-Axial in action&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.omegawatches.com/minisites/chronicle/en/#!/1848-RueDeLaPromenade&quot; target=&quot;_blank&quot;&gt;History of Omega&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/08/omega-calibre-9605.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEityRF76OWGV0_oYrn9ZHgA7dMNI_nhdlnRYvQorB1nUoyaMKWp4KpRrMko9t7pUaDskeG9Gm4XIWxzzHLRPSLxhvNk7rQ_tb5Rwt5KCR9SF2X0RXW12KGFjRU-MVrKrIFF_OSdWcn0olOV/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-5211775934441595695</guid><pubDate>Mon, 04 Jul 2016 02:41:00 +0000</pubDate><atom:updated>2016-07-03T22:02:24.353-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>Native RDS in Server2016 - Part 4 - Scaling &amp; HA</title><description>&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Part 4: Scaling and HA&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizYxH_eF9XpLspWTMti65KYB_BcWigHKA12_04hH7YoAUvg3Qc4cejdhKt803M340oUTblZkow_SFkAHfM1PT5UEcF3omjK5Dq09bjK9cjgQNq3SmAVtMFCWARzLRE12VoSrzeovvrRo2Z/s1600-h/image272.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;133&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;117&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Most environments that I&#39;ve run across using native RDS for VDI (RDVH) tend to be fairly small, &amp;lt;500 seats but I have seen some larger footprints built around RDSH. The single largest problem for the native RDS solution is management of the environment. This tends to get pretty unwieldy from a management perspective around the 500 user mark using native tools. PowerShell can and should be used in larger environments. The RD Connection Broker (RDCB) itself is capable of 10K concurrent connections so clearly supports scale in and of itself, but it&#39;s really unfortunate that the surrounding native management tool stack isn&#39;t up to the task and there really isn&#39;t much to enable it either. Unidesk can be leveraged to extend the native RDS story (&lt;a href=&quot;http://www.unidesk.com/support/learn/3.0.0_for_Hyper-V/deploy/deploy_about_release_hv/plan_unidesk_platform_support_hv&quot; target=&quot;_blank&quot;&gt;currently Server 2012 R2&lt;/a&gt;) providing much better manageability by integrating directly with the RDCB to create desktops and collections. Unidesk provides a good solution that fundamentally alters the deployed architecture using a highly scalable and robust layering model. &lt;br /&gt;
The other big consideration with scaling the native RDS stack is MAC address management in Hyper-V. This one is important, especially with compute host densities ever climbing as the semiconductors pump out increasingly core-dense CPUs. By default, Hyper-V supports 256 unique MACs &lt;em&gt;per host&lt;/em&gt;. Every Hyper-V host in the world has a 3-octet prefix of 00-15-5D, the next two octets are unique to each host and derived from the IP address assignment, the last octet is auto-generated between 00-FF. The last octet alone is an 8-bit value so represents 256 possible MAC address. You can modify the 4th or 5th octets to increase the pool on a per host basis but be very careful that you don&#39;t accidentally assign an overlapping value. In other words, don&#39;t mess with this unless you really know what you&#39;re doing. Another scenario to avoid is MAC address pool conflicts,&amp;nbsp; which would potentially happen if you deploy a Hyper-V host with a dynamic IP that could be leased to another new Hyper-V server at some point. Very important lesson here is to use static IPs for your Hyper-V hosts.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;273&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhDxJyR4Omj9Cx7Y2WtFgptnxZ4lBYhyV8-R7NnWVRf7dei8L5Bh7Su0l8CRQsqegow26SVQlfWee-FM32850-UIwep805UlnGPxY5YcWqxru8hmNIPDmtOoTjWSA7LbVQhOpw7t9nnK5v/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;726&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What about SCVMM?&lt;/span&gt;&lt;/h3&gt;
This question usually comes up in relation to RDS, do you need System Center Virtual Machine Manager (SCVMM), can you use SCVMM, how does it integrate? The Citrix XenDesktop solution requires SCVMM as a component of that architecture for VM provisioning but not so for RDS. In the case of RDS, VMM not only is not required at all but there really isn&#39;t a very direct integration path between the products. SCVMM here should be seen as an external management tool to compliment the base set of tools used to manage your Hyper-V Failover Clusters, storage and VMs. So what can you do with VMM in an RDS deployment?&lt;br /&gt;
SCVMM can be used as a basic deployment enabler of the environment or a provisioning/ mgmt tool for unmanaged collections, but does not integrate directly with the RDS farm or the RDCB. This means that SCVMM cannot be used to provision any VM intended to exist within a &lt;em&gt;managed&lt;/em&gt; pool owned by the RDCB. You can use SCVMM to create VMs for an &lt;em&gt;unmanaged&lt;/em&gt; collection or deploy your RDSH VMs while also benefitted from using a much larger pool to manage assignable MAC addresses without worry of conflict or shortage. &lt;br /&gt;
To fully appreciate what is possible here it is important to understand the concept of &lt;strong&gt;unmanaged&lt;/strong&gt; and &lt;strong&gt;managed&lt;/strong&gt; collections in RDS. Managed collections are pools that the RDCB creates and maintains using a template VM, including the ability to recreate VMs as needed. Unmanaged collections are pools to which the RDCB brokers connections, but there is no template VM therefore you have to create and manage the pool manually. Everything I&#39;ve shown so far in this series has been &quot;managed&quot; which is the most common deployment style due to ease of ongoing maintenance. If you want to use SCVMM to manage your desktop pool VMs and take advantage of features like Intelligent Placement and a massive MAC address pool, then you will need to use an unmanaged collection. This model is best suited for a 1:1 persistent desktop deployment and as you can see below, can still make use of UPDs. &lt;br /&gt;
For example, in this deployment I have SCVMM 2016 running SQL Server 2014 on a dedicated Server 2016 VM. I wish to deploy and manage a large RDS pool of persistent desktops using SCVMM. The first step is to create an unmanaged collection. This is specified during the creation of the collection by unchecking the &quot;Automatically create and manage virtual desktops&quot; option. Select any additionally desired options and deploy.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;405&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUEWiA5v2Hrkm0Kqew4CbmOeXQwpzm7t84FMP-Fv9lh4ffKfyNhQr_LYsqtdRgCOkEBM5vWVBNoedHzWFpNtkaZlZgPjWtD1D06IP_M4XDVpyUS4vrNe9whLDF3M4HiyJBovmOvlOr8E7z/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;550&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once the collection is created, clone however many VMs required using SCVMM via PowerShell and spread them across the cluster using SCVMM’s Intelligent Placement feature. There is no way in the SCVMM GUI to clone multiple VMs so this operation is scripted, see Resources at the bottom. This method eliminates the concerns about too few or overlapping MAC addresses and balances the VMs across the cluster automatically based upon available capacity. Once the VMs are created, they then need to be manually added to the new unmanaged collection. This can be done using PowerShell or Server Manager. Once this has been done users will be able to see the collection in RD Web Access and the RDCB will be able to broker user connections to the pool. Thousands of VMs could be deployed this way and brokered using RDCB. &lt;br /&gt;
&lt;pre&gt;Add-RDVirtualDesktopToCollection -CollectionName Name -VirtualDesktopName Clone1 -ConnectionBroker RDCB.domain.com&lt;/pre&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;103&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOtUu7L9LJefmyRM8JEGOr1HvyOWoI4ONj2Y9c-K1REB23cXbDfIRiTm2AlJess7F8XfM9LSAUN74cx92B9FDln3J88Wdh6jP-lwTGEKaFVWR2CMHe9DwfC1EPBTanUcSpjAe4qVwP-Elb/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;1303&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, VMs can be added to the unmanaged pool using Server Manager.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;366&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc3veF5SU044k__Zs-3zKAy0rGhukU79YOHN5yjdf5yhs-oRV03h4aqLoERd2S-vG2ISmiY02M6Sut2DXqwUTpH2uBRu_7d4M8RUU98Sksijp20NTn34LywoXdURSxopt1u4DhT_EjM5eV/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;550&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
But wait, can&#39;t I manually add existing VMs to a managed collection too? Nope! You can add additional VMs to a managed collection but they must be based on the template already assigned to the collection thus ensuring consistency.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwchFThtGs-tKM2w7atiU30_RI1PdlsCp_TzDYsdZPMAY9giEefn1vmqwbCuHS_9h3ns9uTJa6xMjy4SODN_-0lzDIqOZDSVSvt8jCifK7q-rEK7dAPJm0DN4pY8IK8t1EcXa7rKvkD42K/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;1303&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Service Templates&lt;/strong&gt;&lt;br /&gt;
The other use case for SCVMM in the RDS context is for deployment and scaling of the surrounding infrastructure using Service Templates. Within SCVMM, one can create a Service Template to deploy entire or individual pieces of an RDS deployment. The Service Template element within SCVMM provides a visual method to build a master script that is used to provision management server VMs using a specific hardware configuration, with specific applications installed, in a specified order of execution. The possibilities here are nearly limitless as you can have at your disposal the full capability of any application, PowerShell or script. Lock down your Service Templates and you could build, rebuild or expand any deployment with the push of a button.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;375&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhROaYJOXlaeBUXZaK4Vckbi1FEGlUyA1_9nI9ptZVaxgQ2WlEr8iQPspeB3p8AteaBYhjHncEYk-t9ihRLYinSPuXxC-cu7NtpUDsXGXcSHpkjjSVfHRiILayxgeaSLMr3mA8l6C-X-LkT/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;803&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Scaling for Compute&lt;/span&gt;&lt;/h3&gt;
I’ll talk about HA next which inherently brings scalability to the management stack but first, consider compute as part of the architecture. Compute in this context refers to the physical Hyper-V hosts that provide resources for desktop or RDSH VMs, exclusively. The limitations of the compute layer will almost always be based on CPU. It is the one finitely exhaustible resource not easily expanded unless you upgrade the parts. Adjusting resources to provide additional IO, memory or network throughput is a straight-forward process linearly scalable via the capabilities of the server platform. To get the best bang for the buck, most customers seek to deploy the highest reasonable number of users per compute host possible. Hyper-V provides a great deal of CPU efficiency at the expense of slightly higher IO. Depending on the workload and VM profile, one could expect to see 5-10+ VMs per core in an RDS deployment. Compute hosts used for RDSH VMs will require few total VMs per physical host but have the potential to host a much larger number of total users. &lt;a href=&quot;http://www.exitthefastlane.com/2015/06/hyper-v-design-for-numa-architecture.html&quot; target=&quot;_blank&quot;&gt;NUMA architecture alignment&lt;/a&gt; is important to ensure maximum performance in these scenarios. A higher number of cores per CPU is generally more important than the clock speed. Considering that it is easy to achieve 256 VMs on a single compute host (default MAC address limit provided by Hyper-V), the appropriate host hardware mix should be selected to ensure the maximum performance and end user experience. Compute hosts can be added to a deployment in block fashion to satisfy a total desired number of users. Keep in mind the nuances of managing a native RDS stack at scale and whether or not it may make sense to invest in 3rd party solutions to bolster your deployment. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Solution High Availability&lt;/span&gt;&lt;/h3&gt;
High-availability can be configured for this solution in a number of different areas. The general principles of N+1 apply at all service levels including physical components. The following guidance will provide a fully redundant RDS infrastructure:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Add Top of Rack switching infrastructure for physical port redundancy 
&lt;/li&gt;
&lt;li&gt;Add Hyper-V compute and mgmt hosts for failover 
&lt;ul&gt;
&lt;li&gt;Hyper-V hosts configured in a failover cluster to protect physical compute resources also using Cluster Shared Volumes to protect storage (ideally cluster mgmt and compute separately)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add load balancers to manage SSL offload and HTTPS connections from clients for RD Gateways and RD Web Access servers 
&lt;/li&gt;
&lt;li&gt;Add additional RD Gateway and RD Web Access servers to provide resiliency and redundancy 
&lt;/li&gt;
&lt;li&gt;Add additional RDCB servers configured to connect to a clustered SQL Server instance 
&lt;/li&gt;
&lt;li&gt;Add a 2nd license server VM configured with temporary licenses, deploy both via GPO but list the primary instance first. Should the primary fail, the secondary will serve the environment using temporary entitlements until the primary is restored. 
&lt;/li&gt;
&lt;li&gt;Cluster your file server or add a clustered NAS head back-ended by redundant shared storage for UPDs and user data&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Here is another look at the larger architecture but within the context of providing HA:&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;786&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8jn13XOV1qu1PeA28yysVFYUqGT7OjuKL3Z9_JQfx9k0HGkqyQCwB4hpLLIZIxeDwIUpPFMpny3VqZBxpZGQQtAawWiSde-Y4GCGIZyppQk5KEnQUXy2mtHQeNaJaOKezdIf8_Z8iAz7F/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;700&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RDCB HA&lt;/span&gt;&lt;/h3&gt;
The RD Broker itself is the most single important role that needs special consideration and configuration to make it HA. Configuring HA for the RDCB creates a cluster with a DNS name assigned for load balancing that keeps track of the location and assignments of user sessions and desktops. First, create a new database on your SQL server with the RDCB server configured to have dbcreator permissions.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;619&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM5KjnA3XLoFNzDVOh2kEWCMpbI5hK0Ft3zAlkgn6bTGNZzJCPHEL9j84CJ1KGoebZbbIlfL50CWnWB0RnNnKXXmrTFQegX4XCovX-2mdN-gUwja4gBDnV3eWaW-khAIhiB3B1eGoYm5i_/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;687&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
With SQL setup, install the SQL Native Client on all RDCB servers and launch the Configure High Availability wizard from the Deployment Overview.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;531&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0vnEQIuW0SGKK4yK9QMkAeMyO2u8VyrWldfyUHFWVKCMglhVr-2qoQfwWH01wf_oP5IOLvF7MnEEozAXDplaXTJKaDJlZxJnQbDtmveomfg0_SfcpjicemNP6grIZ4wob_te2IlCiF1Bf/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;614&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Choose shared SQL mode, name the clustered RDCB instance and provide the SQL connection string in the following format.&lt;br /&gt;
&lt;pre&gt;DRIVER=SQL Server Native Client 11.0;SERVER=VMM16.dvs.com; Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDSQL;&lt;/pre&gt;
&lt;div align=&quot;center&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ZbhGfAZVEMYO2yX6whTv9UAOItvmwrtHAH2SyN2qkYayv7GjirU4bXCdXQO2JHHtWuG98N9b1ENen96T7MFBY4sKa6yRyFNyY2qf9uMmMVgqE16zud90XXf3vJnt6ybA9JPHM9Dtp9yc/s1600-h/image8.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;410&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM6nZL5fnxS-WzZg4iG-P8DDTkmcHNxCFqqSb5nVFioKRRgTqgc8-izHGgkGq7H8Z5QppZ0G5BOjsVARZoT7zF3UIKT2x86SpJcC8iyBU09Uvh4P6YKTako8XYLMZu-_KAy7I7BE-g_Nan/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;554&quot; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;405&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibLLT2GDqaofgFBfo2vnyGUVI9MXBB78DbsOqPT_W6j0KS0GUA9hOtgdmB_paMKbD-JBq8MlmBrddJjTzaZ2M5faev1iV_rjmknISXJfx5jvkjDviBacNKR-mFClfeY8etPEV4GzjnVOz2/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;550&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
Once successfully completed, the RDCB will show as HA mode in the Deployment Overview and additional brokers can be added using the same dialog.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiSzENLiDKY0ZGMqadSNVCpzFfm0gxnHdU758eWDYFvx8WBzq6HIK3lkzzuBjcTtRcohwBgyQp2vtmp2XBhKr9taSLOlTPmQEZYl-C_BkTpmUMc7FjsvqdePwfcyJ_-SpF-Kjcd7g1UiMD/s1600-h/image3.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy57KxXIsXC8pBuuNE2OXCG0oIz4GuxuFvyrGIf_IkumzJz9_a6NaQzvuiUEFhYCBbkOosVwU-nYr_-racYOmCUu7vLkgBsPUOglMQ4IipWG1uta3tC0phkLsqRnR0oa6zE2HmpY9Hc-OK/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;373&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RDSH HA&lt;/span&gt;&lt;/h3&gt;
An RDSH collection can be scaled or made HA by adding additional RDSH VMs. Once your new RDSH VMs are created and have the appropriate applications installed, they must be added to the &quot;All Servers&quot; management pool within Server Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiedZpq_jyGpV4yPq9jaNfeU4C9XP_JaBFTR-IWtILKeIcfuwP1a1J8HEUUaYtIdhBU847s2yU1CulvK3Z6x8XK59trtjncKWfjV9F5hKB4jRc7x8v7AjZVGSnvhXo_JnUW9xe7k6qWEkKh/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;368&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once all hosts or VMs are added to the server management pool, you can add the new VMs to your existing RDS deployment. &lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;555&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu5HfTpJxqBzrG0pJh2gDTBcJIK0vyJ4Qbn459rB7Ll1hKhT91QxKVWi3oPxaNXA-nedir4mjkCmSFTpkZHtDNnXOGiBry3hEPN9lq-V77mvx6-VYUuKMQG7_yBaX9MJivX0gTQxujHT7x/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;759&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
After additional RDSH servers are added to the overall RDS deployment, they can then be added to a specific session collection from the Host Servers dialog of the collection management page.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;114&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEget3MgbxW0gaJg3l5qA1jkqwETMXclJuFZZYdncyUlXIqJgxeYAJF8CliZ6yeW-rQKrRRBvGIQxgXL9iMqp23D0nNHnLlBGcGDp18RsHKuAHiVGQc8jvTchqo_DgaJVglKWyDuyRIB9vsL/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;224&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Once successfully added to the collection, all added server instances will be visible and available to accept connections.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBR46DTzGqt_KqdPg-TqP1cxoY15OBMV7inb3BdnBUh8Ovgl4_Xg8l1elr5ZENti5HXMLt0Fy6d0tzml-iJ3Ca64e6ev-j_BJZXYwt3sabXDG6KLI4CP7nTyB0XpWDoN9BwVPLsfR966Ur/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;668&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Load balancing between multiple RDSH instances can be configured from within the collection properties dialog to ensure equal distribution or bias, if desired. Making a server &quot;heavier&quot; via relative weight will cause the Connection Broker to push more connections to it accordingly.&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;590&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju7BCh81UBFC7Lv78Ejlmv5Phe8iXGHvML0hizfCd_4_zDxhZ6bGqzYj3LWmZeCKPwEsCbtEiu2wz44LWpZ1upgP7RKJfurG3Or0LxLS6nXAcuc7wTa8J5Yl2aaKcaZlUCUrHp3G_OAfSG/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;732&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RDWA HA&lt;/span&gt;&lt;/h3&gt;
Additional RD Web Access servers can be added at any time from the Deployment Overview or Deployment Servers dialogs. Select the new server instance you wish to add, confirm and deploy. As always, make sure this server instance is added to the “All Servers” management pool. Behind the scenes IIS is configured on each selected instance to host the website and feed for RDweb.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNtvvJMRoKuRazVaMa6Xvx4epWqVjJ_qHlVhz6TqbW-1AmiM9JvNnM3N5OskJGucbZbHW4XFHDLzyD5VvZ6nJNRF_cnk5pFhAwN5rZnkjkOwzHftUHT32TkzcNA806QsIFBOQsegEKV1BY/s1600-h/image%25255B4%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcVXdt3xpgzg72kjyOHS4IR9-oSMRnRePVYLCNziBcRKlRt_KUwFJOJz3CsGNuI7XWfHxvplVf-QY4wTlh_sgAfxoTFfIiSvtJol3grKvrhzJLi4-mFF4q3DmmYy03ArMUFqH4aEoEqpnk/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;396&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Once deployed, you should see the new RDWA instance(s) in the RDS Deployment Properties accessible from the RDS Overview page.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9qsr0bNeaRH_pHZLElPj-mktHzjrA9srGqCjE7ValUhBLQdlBZ65luQkbj9ZrrHogco5pAdOYXJF14NU-FRab5da-AlUsXyCsy60IVvnb_aku9m4H0QeHOYjFhIgoJXoPQNkYnDvw9fpF/s1600-h/image%25255B7%25255D.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;316&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKu5WblI8Je6THjHf52z71l_TkdDCqb9uYCJVqBL424pv2M_0lmrbTSTDcCI4UTptGe2ditQFa6gAov2CnRVoG8SW3mEO_JpD3SNDHh9MjoZekC-xQr5SoddRTniqaeW1z_dv_yKGGT-6U/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;&quot; width=&quot;709&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Any Collection made to be visible in RD Web Access will be accessible from any RDWA instance. RDWA instances can be accessed directly via URL, load balanced with DNS or put behind a hardware or software load balancer (F5/ Netscaler). &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RD Licensing&lt;/span&gt;&lt;/h3&gt;
RD Licensing is one of the trickier roles to make HA as there is no easily exploitable native method to accomplish this. This is generally true regardless of broker solution selected in this space. There are a couple viable methods that require manual intervention that can be used to protect the RD License role. The first method requires two VMs each configured with the RD Licensing role, hosted on separate physical hosts. The first instance has the purchased licenses installed and validated by the Microsoft Clearing House. The second VM is configured with temporary licenses. Both instances are configured via GPO for users but the server with the validated licenses is on the top of the list. Should the primary fail, users can still connect to the environment using temporary licenses until the primary is back online.&lt;br /&gt;
The other method also involves two VMs. The primary VM is configured with purchased licenses installed and validated by the Microsoft Clearing House. The VM is cloned, shut down and moved to a separate physical host. Should the primary instance fail for whatever reason, the cold standby can then be powered on to resume the role of the primary. The caveat to this method is that if anything changes from a licensing perspective, the copy to cold stand-by clone process needs to be repeated. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;RD Gateway&lt;/span&gt;&lt;/h3&gt;
To optimize and secure connections to the RDS farm from untrusted locations (the interwebs), RDGW can be used and made HA. RDGW terminates SSL for remotely connecting clients, one tunnel for incoming data one for outgoing. UDP can also be utilized for optimized transport of data over WANs using the HTTP transport.&amp;nbsp; RDGW is installed like any other RDS role and includes IIS as a requisite part of the install. RD Gateway Manager is used to manage the configuration and policies of the gateway including SSL certs and transport settings that provide the ability to change HTTP/UDP listeners. RDGW can also use RD Connection Authorization Policies (RD-CAP) which can be stored locally on the RDGW installed or managed centrally on an NPS server. RDGW can be load balanced as a regular HTTP web service including the offloading of SSL termination. DNS Round Robin is not supported and cannot be used in this scenario. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Failover Clustering and RDS&lt;/span&gt;&lt;/h3&gt;
Lastly, a quick point on the role of Failover Clustering in RDS environments. Failover Clustering is recommended to provide HA for the Hyper-V environment and component level protection of the RDS deployment. Should a node fail or require maintenance in a Failover Cluster, it’s VMs will be restarted or evacuated to another node with available capacity. RDS is cluster aware in that it remains aware of the location of VMs within a Failover Cluster, including if they move around, but it does not integrate directly nor make direct use of the Failover Cluster. In this context the resources for the VMs themselves can be protected giving the management VMs a place to migrate or restart should a failure occur. Any storage added directly to the cluster should be converted to a Cluster Shared Volume enabling multiple simultaneous writers to each volume. RDS itself doesn’t care what the underlying storage is nor whether the environment is clustered or not. Remember that any provisioning activities you perform will address RDVH hosts directly with the RDCB providing the ability to select the number of VMs deployed on each host. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Part 4: Scaling and HA&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;https://redmondmag.com/articles/2015/07/01/rds-rapid-deployment.aspx&quot; target=&quot;_blank&quot;&gt;Creating Service Templates for RDS in SCVMM&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogs.technet.microsoft.com/virtual-mite/2014/03/04/deploying-multiple-vms-from-a-vm-template-in-scvmm/&quot; target=&quot;_blank&quot;&gt;Deploying multiple VMs from a template in SCVMM (PoSH)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.tmurphy.org/2015/10/hyper-v-dynamic-mac-addressing-is.html&quot; target=&quot;_blank&quot;&gt;Hyper-V Dynamic MAC addressing for RDS&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgwbbi4NhklnuUNv2xsWv5W8kIG3KTskkmERQjjni1iNgK3H5BLlspnbqf33jqnj_S_XHYsKVz8hIsjkKhcKMO8qQMLENpn6Y5dtBMC2oJtZCz5s5FjUp2lUmPOpERusQ-0pQg5-AW-i/s72-c?imgmax=800" height="72" width="72"/><thr:total>8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6924845449958368099</guid><pubDate>Tue, 07 Jun 2016 22:33:00 +0000</pubDate><atom:updated>2018-01-25T11:39:44.347-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>Native RDS in Server2016 - Part 3 - RDSH</title><description>&lt;p&gt;&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Part 3: RDSH&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7DiMqfHxIEjYuVoLNKGBFJ3Bk3EwVxWoeU3xUuHSrfiEsQgpKh-penL0djsS6-4uo4OxV9Sj7IMsrPf4LSl7uWSzivkTWWlGqpHoreuZUWosc5d5we4xdaHbV6Ze8HiJFjyKlaM0sARCh/s1600-h/image273.png&quot;&gt;&lt;img width=&quot;117&quot; height=&quot;133&quot; title=&quot;image[27]&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image[27]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTCkT1HpCbNfv4KkJ14SfnhIR9RxXBpGTNAIPR9XDVHQqBiZ6CPpsx7IHjPg2vl1tCx9788B0_Lsztahpb9rqZa5VVBpV-NEkTD2odtI_5fx4ti6f8mvbq4o3APqTAe8LW5IVp8T4lLKQl/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;In the first two parts of this series, we explored the basic constructs and architecture of RDS in Server 2016, how to create a farm and how to deploy virtual desktops. In this part we&#39;ll look at integrating RDSH into this environment to provide published applications and shared sessions which compliment a virtual desktop deployment. Many actually start with RDSH or published apps as step 1 then move into virtual desktops to provide greater control or performance. &lt;/p&gt; &lt;p&gt;Looking at the overview page of your RDS deployment, you&#39;ll notice the session host options are greyed out, this is because the deployment (farm) does not currently have these features installed.&lt;/p&gt; &lt;p&gt;&lt;img width=&quot;947&quot; height=&quot;211&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvChs7yDj72YQmXracUbpwpOycQdGfjCibXsgsuhwTaYYwabrBC3t86-P_OJl-5YzaNj9tVsYsR3QBy6mBtA4Vx2m7jkLNOBQCyZHuMuCoIDS7z6hA9F6NJhOZlrF81MI0fQhrmAHQlkT8/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;To add RDSH hosts to an existing RDS deployment, you have to first modify the RDS deployment to enable session-based services. Once your RDSH VMs are created and running within Hyper-V, run the Add Roles and Features Wizard and choose session based deployment. You&#39;re going to have deja vu here but remember, this is all to modify the existing deployment and this is the last time you should need to run this wizard. The wizard will check for the existence of a broker and web access roles which should already exist. Once you get to the RD Session Host part of the dialog, here is where you add your session hosts to the deployment and install the RDSH role on each. Select your target VMs, confirm and deploy. The VMs receiving the RDSH role will be restarted as part of this process. &lt;/p&gt; &lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;450&quot; height=&quot;320&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixoFxxAnph3YUJQjlO6YzbA8v2olETgQkq7C-Ab_cXVfieRX4HseMw78TE9A8wG-GqIaey9E0yyEnXvYfZ3brD5oc3PEVBy6lLn7gUPPAmC3H9s6sdkFH8H06PLPKJvcHRe6GDMTeKR-Qi/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;320&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIMdhVMub_JQwYZadnFbAZUw5eYPOM3Yp7P0kM_VfMk8IaI3o-rSA_toRPtdNZMWdqbPUMEpqe1C5lP5zOkcghg4vw_YOtu-Ne12t2MumCNiEYaCJ8TtigDWWY1tHxiHvZ-ifkuuJm_RC2/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;319&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHLuB4JXbUiyx3tJNJofLL0BjrC76juKtaYh0_w5QYNRQWvpATWtDISgAS7SJQUIMj1d4FnOB_hKIVk7KcI9Hr-jIRDeZ9h_1OXk8x6ajA0Q6c_l_eRgRJDKtmTucQF2BELDJWZ5VznAwa/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;Via PowerShell (change to your server names):&lt;/p&gt;&lt;pre&gt;New-RDSessionDeployment -ConnectionBroker CBname.domain.com -WebAccessServer WAname.domain.com -SessionHost RDSHname.domain.com&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Make sure the new servers are added to the Servers pool within Server Manager. At this point you will be able to create a new session collection from the overview page in Server Manager which will no long be greyed out. Give the collection a name, specify the server(s) you want to host the collection and add the user groups you wish to entitle. &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl7lVBmHBR6kpIGesdvqrxJ_WtKsn2MO2L-RoLGCsELNs-3TVPs6BBK1YPttwhcNCSSg_1X6bC_SRKSR8Heiga_3iBrJbN84roLRQ1eCROtL74n86jXsNgodDXc2S5v1kOcQy_8Qe6Kw9n/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;331&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKZn5pBw7p2RiidKlqGdBtM2ti_iT3WahyvGlQz4YPZGI-Em-fnxrsVLcOBX8KGlpFX6Agg2voh5te1lz2LXpzG5PMws0MbEGNmj73S9A6UP6asTVfkHW6NMuPw44WsAQYbX4yX0YNZEO1/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYW4rC0ayE2RLJb8J4FSTa-JZluYe0Vhp2QDT6RTd4VZPDSAhB9dgPvTInEQvFiLEMz9ewtUqh-B4Wl5PdY7W1ppg4amoZPD7YKXK-EDwo_I9iTWb4dkPOBhB1Poyz3XCWQVAzK9wdx9pK/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Via PowerShell (change to your server names):&lt;/p&gt;&lt;pre&gt;New-RDSessionCollection -CollectionName RDSH -SessionHost RDSH.domain.com -ConnectionBroker CBname.domain.com&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;If you want to use UPDs to persist user settings between sessions, configure the location and size of the UPDs, confirm you selections and deploy.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; height=&quot;511&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzGQGJpcJe4KkCW6QOcaW0_kgPbL9IurRbb1CZFtJfRiXrMbNTlA-gwAIbaOUyEtRxJeeR9KKqJaLq8WQg2dKJ24DhEwsy5XkrCt_-kszkhQrHjgqOT3asQQS5PBwBKobqSIEdxVlP4tzo/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Keep in mind that UPD&#39;s are collection-specific, they cannot be used in more than one collection.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;482&quot; height=&quot;159&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmEoiye3ZXzZqZi4UoeaJoP9zUdRxYeRLeZbIiZYcARwOZ1Lew9BdwXZRbifnOPH4FVhlSQHJmZ4KHiu242LXXNIyJd2eetBC3Nk-J1l7IPGO-ZPnChI5Sn52xoL3r5WcffHhTuQ-MT0oD/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Via PowerShell (change to your server names):&lt;/p&gt;&lt;pre style=&quot;width: 90%; height: 37px;&quot;&gt;&lt;p&gt;Set-RDSessionCollectionConfiguration -CollectionName RDSH -ConnectionBroker CBname.domain.com -DiksPath C:\ClusterStorage\Volume1\RDSH_UPD -EnableUserProfileDisk -MaxUserProfileDiskSizeGB 1&lt;/p&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;RD Licensing&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;By default, RDS will offer a 120-day grace period for licensing, after which you will need to use an RD License server instance with a proper license to suit your licensing mode. The license server activity is a light weight role and can be safely combined with the RD Connection Broker role. From the Deployment Overview page on the main RDS screen, select Add RD Licensing Server. Choose your broker VM and confirm.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; height=&quot;514&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhycCmOPk1CT498qK3qj3TPy9bWTm0xy5R9z7zdNSnENbI1l6g35lRxzmRYXF8LhWnK1EXYT1zByUzDBkYn3mSbaB7FvuX7FyX58lrtPwm-_6Npxb60Q6gnkGFwrkeGDINLSkRtokKpTl3U/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Edit the deployment properties of your RDS Deployment and choose the RD Licensing section. Select your desired licensing mode and RD License server.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;700&quot; height=&quot;563&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp1YmHG2BFCKgSJJDu4zFhSfAR4qqfuAEWlZv4onTx8buKa7ysplQ6TCUyZY9LzlYHHjwrhX6ODoJDQEG3EJxSNxxgZUE-WAYxR0do7j2Oj5MBdYhzUc-fxc3cULx85G79WRMlhxirRBhz/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;To manage your RDS Cals, launch the RD Licensing Manager from the Server Manager Tools menu. Connect to your license server, right-click and select Activate. Complete the information forms and start the Install Licenses Wizard. The wizard will contact the Microsoft ClearingHouse real-time to authorize your server. Microsoft takes licensing of RDSH servers very seriously as there is a tremendous opportunity for software license abuse. Enter the particulars of your license agreement to activate your deployment. &lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;543&quot; height=&quot;611&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimEHHrWjA1asJZCvXp-oBMx-UTba-slhp3SXFeZgWgC3JCYBLstjPmcfYvKwgNLmhudZUI8yrEM5jIaiJs_zjrULaA1ZcOPuL4VZGaKq-LHctZWLx2OZUCyZDNtqrM-mKw72mY92ZNGcuf/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;546&quot; height=&quot;612&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg19yn6c_eqbyk4QC5j7Hr62SFL-jez2eK8PJY336j_7WsFqziP13jDBmzhC-v4t_Br9pVnvHa3TzGq_OmjMVdFypwQxodhFV3hz4NhIwMZ63yx5wnetuDPidDoXp1LfB640jPUN80u162C/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Another useful tool is the RD Licensing Diagnoser which can help identify problems as well as help achieve compliance. This tool can be launched from the Tools/ Remote Desktop Services menu within Server Manager.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img width=&quot;648&quot; height=&quot;748&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoe_TetA4CFgvEMrQF4Qk6BwH3KPWFOf39Q_gJSBa9vc1SfZ-MAUdfIX9XqZnAJGVbTeLGw8PddjoxgyLzhRbxVbHJnT6BOwZbz-OI7d2VuWXnG7Qe7Sq5gxV_dyKo1tetO1uP4HumkbGU/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt;
&lt;p&gt;Via PowerShell (change to your server names):&lt;/p&gt;&lt;pre&gt;Add-RDServer -Server RDLicName.domain.com -Role RDS-Licensing -ConnectionBroker CBname.domain.com
&lt;p&gt;Set-RDLicenseConfiguration -ConnectionBroker CBname.domain.com -LicenseServer RDLicName.domain.com -Mode PerUser&lt;/p&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;&lt;/font&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Managing the Collection&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Once the collection is created it will become available for management in Server Manager. Entitlements, RD Web visibility, client settings and UPDs can be manipulated via the collection properties. Idle sessions can be force logged off while active sessions can be shadowed, disconnected, messaged or logged off. RemoteApp Programs provides application virtualization for programs running within the RDSH servers of the pool to RD Web Access. Session collections can offer full session desktops or published applications, but not both. Virtual GPU is not supported for session collections, you&#39;ll need to look to Citrix XenApp for that. &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;1300&quot; height=&quot;684&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyZzFzyZSKZKsZZtbfsp3Tg-FtibWDFeUpVThmJfhdaH4kmcO8qtZ8IGwtJxa2WU7v8Uf5sWO8c4Vl0j5wu10AZzlIF33IO2XtB46l65ouTO8LMDI8SKVd5AxsVISgRF-anxw5E80xvZmo/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Once the collection is created you can either publish specific applications or full shared sessions themselves. Individual applications will launch seamlessly and can even be tied to specific file extensions. If you wish to publish a full shared session desktop, this is very easy to do. Simply edit the properties of the collection via the Tasks dropdown on the collection page and ensure that the box is checked to &quot;Show the session collection in RD Web Access.&quot; This will provide an icon in RD Web that users can click to launch a full desktop experience on the RDSH server. &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;550&quot; height=&quot;444&quot; title=&quot;image&quot; style=&quot;border-width: 0px; margin: 0px auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg627Lq9xurU640YBNrnOqlKD47mXL2nMMesg5pUHvRIQkrZ90YZNbHNMSqvrfAlVvK0h7HpRVqFq5mbeBNhsBpbWShojiXBeNhMlhBENEFS0x7grbKkaAHD5KY4eI8o0R_b8W6AjkryDpI/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;To publish specific applications, select &quot;Publish RemoteApp Programs&quot; from the tasks dropdown in the middle of the page. RDS will poll the RDSH servers currently part of your collection for available apps to publish. As the note at the bottom of the initial dialog says, make sure than any program you wish to publish is installed on all RDSH servers within the collection. Confirm your selections and publish.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;450&quot; height=&quot;331&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlvrab9ozBW6dnEqDlYGKmPBSVdDQM_47OF4pBCHQVM9Ng-Q1bVBqlDnfYNIMGq06u_uOxUbvVBiYF-tLwCn9d5mdgdQ5BWCv5QyyHsxHPJPgGDNHy3vitwZCe1PQMhJIJpR9R-yDgDbU2/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhziVQe-UZ5fvcHAtOBDkuQs9m8Fk8oLWRpnsqxeuMec6Z9imWIExiuPLYjSiHyTjXjcstnDO4HZiCXMeBfeN9KZrN_D3Dgjlq5jJkxcMv5YssVk9GjD0yZoe9-nlXzRLhi7jrXvLdAk5Lm/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-vAfDlCYPldKdSBkFP6sYfDsgvW_uqoarnedXG446LWje3TOVKWz91BCqpNqPcJGLUhP82Cqkzu9WgDQkL17E4zzYzsQ7vZLCZCe_AD-QOxGkZXVr8pz_h2-vYBtnjIkPdbPT9V50x7Tq/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Via PowerShell (use $variables and script for multiple apps or repeat command for each):&lt;/p&gt;&lt;pre&gt;New-RDRemoteApp -CollectionName RDSH -DisplayName &quot;OpenOffice Calc&quot; -FilePath &quot;%SYSTEMDRIVE%\Program Files (x86)\OpenOffice...scalc.exe&quot; -ShowInWebAccess 1&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Connecting to Resources&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;At this point, anything you have published and entitled will be available in RD Web Access. By default this URL as created within IIS will be https://&amp;lt;RD Web Access name&amp;gt;/RDWeb and should be secured using a proper certificate.You can see below that I now have a mix of RDSH published apps, a RemoteApp Program from a desktop collection, a session collection, as well as a desktop collection. What users will see will vary based on their entitlements.&amp;nbsp; To enable direct connection to a collection using the Remote Desktop Connection (RDC), a collection within RD Web can be right clicked which will trigger a download of the .rdp file. This file can be published to users and used to connect directly without having to log into RD Web first.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;1029&quot; height=&quot;797&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNMrt9o-rJ6yY5sUG0MK0542APluMPyWt5GAtIX144485C4n7vd0dQ3xYJEjkOrCpP3K9F9FLrqMAXMVZJbmHUqux5_A750uKYnOXAs_fg3nIvoYGmPGiu4fuBdgta3mlCtMZHrDNAiiqS/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Editing the .rdp file in a text editor will reveal the embedded characteristics of the connection which include the client settings, connection broker, gateway and most importantly the collection ID which in this case is &quot;RDSH2&quot;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;489&quot; height=&quot;478&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAJusOpMppPgzxe3x-WUjxjsP3enUKkUeQWtPhMvgGZky2T0HmhORSJbRGER0tgVbqQDH_65qMVaHGlEBbrwcGToqb6pO3F6us6S__vFKNxdJCE62SkX5WrLh2uWCpDJvx1XZXCFyZe6nU/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;RemoteApp Programs can also be delivered directly to a users&#39; Start menu by connecting the client session to the feed of the RD Web Access Server. This can be configured individually or delivered via GPO. A proper security certificate is required.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;779&quot; height=&quot;585&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0jWCo4bdNCRLF9J6BzAs7tvf0zbVlulsSEPwIRqtMEy73QjDuyAxvJWGB3XWAHQVGbp00hUIyL7meDaJz1CyMCneQIa3gjilSQfwV5WRfckRKrlAYg7ymjCZXW70MsdODuKAHgH3XgCQ8/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;When a user initiates a connection to a resource with an unknown publisher for the first time they will be greeted with the following dialog. The resources allowed by the remote host can be restricted via deployment properties or GPOs. The RemoteApp will launch within a seamless session window and to the user will appear to be running locally.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;495&quot; height=&quot;512&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1cEOVzUMoy3fHubd91_tP4Sp_l4nl92B72CvwgzNKRJ_DcdMg4TzOapFIRQTJpnleEPiVnrARDbKYW9jl_OKEmNdyPd0-V1qzE0DRmRuDqRVvu8RzhfMOEBcspic0COw5RzKVTivr7mXD/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;645&quot; height=&quot;511&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQC4Lrm59RQw8MKZlq-XiZlTWfy4NY7rsOf6reUHsyUBKo6gbZOAtXZEAwRxn1H6CEPyHiI7sQK8lQoU7Mn-mRzaFcpUqBkWyE7whDEpzPVmXyZJ3PmUjIHBsYF2djMGXaLYerLYCkuOmc/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;At this point the connection broker does as the name implies and connects users to resources within the deployment while maintaining where VMs are running and which VMs users are logged in to. In the next section we&#39;ll take a look at scaling and HA.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Part 3: RDSH&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Resources:&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://technet.microsoft.com/en-us/library/jj215451.aspx&quot; target=&quot;_blank&quot;&gt;RDS Cmdlets for Server 2016&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/06/native-rds-in-server2016-part-3-rdsh.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTCkT1HpCbNfv4KkJ14SfnhIR9RxXBpGTNAIPR9XDVHQqBiZ6CPpsx7IHjPg2vl1tCx9788B0_Lsztahpb9rqZa5VVBpV-NEkTD2odtI_5fx4ti6f8mvbq4o3APqTAe8LW5IVp8T4lLKQl/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-8747598305048396097</guid><pubDate>Thu, 02 Jun 2016 04:04:00 +0000</pubDate><atom:updated>2018-01-25T11:40:22.302-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>Native RDS in Server2016 - Part 2 - RDVH</title><description>&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Part 2: RDVH&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLW1zcV7MXKbhUiZ-qrU07IRxVt7rcsof6eHRoXPYyQrI_kK9JskyaeFUlEdw6GKpMAD6KFsPefu9sGlwPVJ9HGl1kohP6-N3lzKokLkUfd-7w8hHQkHMqLPz21fK4FQ6G1lYRkcov_jq5/s1600-h/image273.png&quot;&gt;&lt;img width=&quot;117&quot; height=&quot;133&quot; title=&quot;image[27]&quot; style=&quot;border-width: 0px; margin: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image[27]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4O1pUy734fUZU7JxNhv2RSYLFy-XLD5EaD-jcjYWanWswG_QJQWO0qVWZA0TPnmjCeEmzgxv9XAxDi43MNLEWreUQFJzkr7i6tZBBY0J9sw1P_Pt94Sz29vN8ODDz_fJH0OMGrO6XmHGm/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/div&gt;
In part 1 of this series we took a look at the over all architecture of RDS in Server 2016 along with the required components&amp;nbsp; contrasting the function performed by each. If you&#39;re not new to RDS, things really haven&#39;t changed a great deal from Server 2012R2 from a basic architecture perspective. In this chapter we&#39;ll take a look at the RDVH role, what it does, how to get going and how to manage it. &lt;br&gt;
&lt;br&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Test Environment&lt;/span&gt;&lt;/h3&gt;
Here is a quick rundown of my environment for this effort:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Servers&lt;/strong&gt; - 2 x Dell PowerEdge R610&#39;s, dual X5670 (2.93GHz) CPUs, 96GB RAM, 6 x SAS HDDs in RAID5 each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt; - EqualLogic PS6100E &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network&lt;/strong&gt; - 1Gb LAN, 1Gb iSCSI physically separated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Software&lt;/strong&gt; - Windows Server 2016 TP5 build 14300.rs1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Features&lt;/strong&gt; - Hyper-V, RDS, Failover Clustering&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Installation&lt;/span&gt;&lt;/h3&gt;
The first step is to create an RDS deployment within your environment. Consider this construct to exist as a farm that you will be able to install server roles and resources within. Once the initial RDS deployment is created, you can create and expand collections of resources. An RDS deployment is tied to RD Connection Broker(s) which ultimately constitute the farm and how it is managed. The farm itself does not exist as an explicitly addressable entity. My hosts are configured in a Failover Cluster which is somewhat inconsequential for this part of the series. I&#39;ll explain the role clustering plays in part 4 but the primary benefits are being able to use Cluster Shared Volumes, Live Migration and provide service HA.&lt;br&gt;
On one of your management hosts that already has Hyper-V enabled, fire up the Add Roles and Features Wizard, select Remote Desktop Services installation and choose your deployment model. &quot;Standard&quot; would be what is chosen most often here unless doing a POC then &quot;Quick Start&quot; may be more appropriate. MultiPoint is something entirely different which carries a different set of requirements. You don&#39;t have to use this wizard but it is an easy way to get going. I&#39;ll explain another way in a moment.&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;373&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNL3vdkw-paksfDWUwOJ1ugSw__31ZNRuLuoVaWWBptnDg6MM6hWGC22-iXR85Luj3CFlI0d9I-hdS4bVloTMqhFjezCcg3VwoTNafIYk9_BfvV3LmThRmU6Iu0nd2p7caVn5jgBDrvDSe/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;373&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: 0px; margin-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidEMgBnfQHeYjziEs3suDS-Gm-NR1CaswXrcJ_AuGZZB64ahM7-TiyoGhdARdi2YhT1LqbaQQSBRfiYgBYqoh3iIjUVMMc2aISUj4bF6odCy3ITItBKipBf-5CV8bPcbrd9yo0sQGu7qAo/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;br&gt;
Next choose whether you&#39;ll be deploying desktop VMs or sessions. Desktops require the RDVH role on the parent, sessions require RDSH and can be enabled within Server VMs. For this portion we&#39;ll be focusing on RDVH.&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;373&quot; title=&quot;SNAGHTML463b08fe&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: inline; background-image: none;&quot; alt=&quot;SNAGHTML463b08fe&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgowdnketmG7Zy2eWhmfTQ2yNDKYR-6cuk4fYdonvYFgMedRfkuoYa4iWhdwZSiMHbQP3_VdjdG1L2lVMnsImOg7sJaqek8a-ih92UUNjp-1nMZtr__DAr6DNow-eJUlKw-P9ZpV1sELZXJ/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;373&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAoIKTwpwj-Kf0jACwXluEFRvzCS_5VK-PxXZncVtIwsGNTqe4Ebv3rvYvBt42Zus1yzL1mXkIB_1Fs6_4PNcGIiyGgnIFAMrk2Rx26YWkQ7mSLBFDQzJO5ECk7Y0hdRsdNQrF-nBq0B_t/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/div&gt;
&lt;br&gt;
Next select the hosts or VMs to install the RD Connection Broker and Web Access roles. For POCs everything on one host is ok, for production it is recommended to install these RDS roles onto dedicated Server VMs. You&#39;ll notice that I pointed the wizard at my Failover Cluster which ultimately resolved to a single host (PFine16A).&lt;br&gt;
&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;372&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd17eGktita1SYu16UsarVkuJA2I6vwrmwWCaShg92dwS4YCTjYacv7Qc8o2xgNO1FScEalNXFYzjr5kkhq19KyBSHRUEMm8VehCmTFKTSOZJywF5Nop4K-IRkO_n_vLQ7mwIrWG7AAPp4/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;371&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhre1Ti1yWEuzsS0gVZamkH9Q6Jc6v8meweX4RjSVbLYunzEXYFF2G26ucOOe6QzmEIGeBCrrgYKsB71zjY3KfcCRtKHBBMPSjkNPQxtSLlC-n5yOIw_-c9rBtiBTiju1KdlYhiv_S1Zj5Q/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;br&gt;
The third piece in this wizard is identifying the host(s) to assume the RDVH role. Remember that RDVH goes on the physical compute host with Hyper-V. Confirm your selections and deploy. &lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;373&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFAX-H45E4it_1tyeTYOnDIIhyphenhyphenaoZuYhHN4vR2mgmkVwR_MIOkl-2cj7aJsUUKHm9kfIL7W4ZCxePOkP8UU_B2a_QSBBiAJARCxedPx_ADvroCb0EJ7cVFHzerBDlzMhuxZ_Y4XxqLl7hyphenhyphen/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;372&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha6YAtc4qtTHBXhZFr1hEcM8beAY9FjJAI-T2F2mjD0L92yLazgVFK6QNr-9gUsaBhi4LgHR0PxYQVi9wb0bSPWA5pSZT2qLyb-LRW9vYMyZq2t4iU9G9Hwu6Vllrz6TkOrI1gJEOLRI3_/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/div&gt;
&lt;br&gt;
The installation will complete and affected hosts or VMs will be restarted. In order to manage your deployment, all Hyper-V hosts and server VM roles that exist within your deployment must be added to the Servers tab within Server Manager. This can be done at the very beginning as well, just make sure it gets done or you will have problems.&lt;br&gt;
&lt;img width=&quot;677&quot; height=&quot;363&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWhRbaxyNYKPGK87m4qqG4z89Y4h0kTpzWx8AnKO6V4zff9p4gqazQ-Kx-DldfId989z4EGc0CoTDKlkKFbafej3n_L9ZA6nLvoLLTz8pA_EoCvIjGODdWnGPt_ZcMbdd4aYmzl-b7GaF-/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
At this point your RDS deployment should be available for further configuration with the option to create additional roles or a desktop collection. Unless you are building a new RDS deployment, when adding additional server roles, it is much easier to select the role-based installation method from the Add Roles and Features Wizard and choose the piece-parts that you need. This is especially true if adding singular roles to dedicated server VMs. There is no need to rerun the &quot;Remote Desktop Services Installation&quot; wizard, in fact it may confuse things.&lt;br&gt;
&lt;img width=&quot;774&quot; height=&quot;556&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBouCQ_FOMZBEDxq01o2rKKBWOLcn9-hRQDTGbUzYyUvH_X2p4ClJ7lR9p73lT9_4yMIVhTazOuNqCy4MdjCUU7sTzkPV6SCOeXVjJUPByH2drwMvAcB0M2E1q31k5hyphenhyphenV2oit8jsNEdVrR/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Desktop VM Templates and Collections &lt;/span&gt;&lt;/h3&gt;
Before we create a new collection, we need to have a template VM prepared. This can be a desktop or server OS but the latter requires some additional configuration. By default, the connection broker looks for a desktop OS SKU when allowing a template VM to be provisioned. If you try to use a Server OS as your template you will receive the following error:&lt;br&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6hDnbYugvDSrV_7yVEtViZr96akWCZqnzTN03QHWEXiR6K8Du1Sc8OL0b1zE6O-_rUqte8XMixQIMLgR-TqijkrsjHzaXTVQe08jkP0KI_PVhqwh9ae83LtsBueneiadXN-JTrowbUc5G/s1600-h/image20%25255B1%25255D.png&quot;&gt;&lt;img width=&quot;428&quot; height=&quot;161&quot; title=&quot;image[20]&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;image[20]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtgdQz1pNdQKi4F9YE-S6U1twK3asosTuAKci72we3KRluI9-skYYw_7NwWhyphenhyphen680B3gWJRh8Kz1eIGoCC9zFCKoSbWj8CyjFjDEfcUBInCJj9cQHoyximz2uXOlUdrzPhLwSymnKKAdZRo/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
To get around this, you must add the following registry key to any host that sources or owns the master template. Reboot and you will be allowed to use a Server OS as a collection template.&lt;br&gt;
&lt;pre&gt;HKLM\System\CurrentControlSet\Services\VMHostAgent\Parameters\SkipVmSkuValidation&amp;nbsp;&amp;nbsp; REG_DWORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/pre&gt;
Your template should be a normal VM (Gen 1 or 2), fully patched, desired software installed and manually sysprepped. That&#39;s right, RDS does not integrate the ability to auto-clone a template VM to new unique VMs, you need to do this manually as part of your collection prep. &lt;br&gt;
&lt;img width=&quot;351&quot; height=&quot;265&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZTeCRn2Yjk6VGE0hbKr1ta-2U9kIoH6mQhTAkDye_h7XUlvqDz8z-PQmDMqgxs6rsV0PSUSc1Xfv9W7gSHEaHuKT7CU5TCq6PnLKB1Hp6TjM1slKM118xciDO30X-bzGE-wc9UuCRyKjl/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
Make sure whatever template you intend to provision in your desktop collection is already added to your RDVH host or cluster and powered off. &lt;br&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEA-sX-ev7AKHzYyrX-eYqjTOrXbBG2a7m72J8fuZz3lZOulboF8aCtRy1eHg31fnxDJq4aEwrCjE007ACBFMAU4I9WQTaN-wq_qnX0Izef_69MuvYjBQts6YULuyAf5AtEk7PqDN1suMx/s1600-h/image2%25255B1%25255D.png&quot;&gt;&lt;img width=&quot;733&quot; height=&quot;294&quot; title=&quot;image[2]&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;image[2]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2iabJgBv5EjbWU0_90No6KT78vFM6z9RCMkzXBd1_wdUxch3wCg8hRwYX_sqjCIjNqbxM3hSXJhrC_u-fAHSQXpWAdxj3Ead8MkZaMBc4U3ZPcsI37CHsrtYEwGvtthuJtUh48zwIRCTf/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Launch the Create Collection wizard within Server Manager, give the collection a name and select pooled or personal desktops.&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;385&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIHFRZlLITfVHGmcdTxNo4aWVtqk92QS6yjat0USGK81N8j44IjiPekuCLmZBXytbBS8T32G-BYrJ-hgDnK3itWmphO5zSmPzofjHOS-XD0IpykEsJaBqnRR1ELX6FleI6hOFmsqU2ZQUE/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;385&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3gkH88sBcs9zkYpchrGTs8R1zoahazZjl7ULIAaAtjAphNPl43R-uOo2Iv5WdS-Y2_MTkGJP2ypHx9GSxchKmAuDj7EKlNb2c4y9XJOf0YluLO2EPoum0ypEPq6uxOrMB1BNggY_7xXFm/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
Select the template VM to use to create the collection, if using a Server OS make sure you completed the steps above to make the template VM visible and selectable in the RD Collection wizard. Keep in mind that a template VM can only be used in a single collection, no sharing allowed. Provide an answer file if you have one or use the wizard to generate the settings for time zone and AD OU.&lt;br&gt;
&lt;img width=&quot;450&quot; height=&quot;329&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin42fWtk_1JaD_RAD0ctlWBaHD1JYFbei9QJmEYjYiWcIuHKQHq4weaAr0n8SbjzGDnyMqGXL9_UAhDYs4bEGkQlrCX-jTc4ws4IHkchnNUm2XZ66eYthubN2u9B71GrRG9uuhN8a2OBqm/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWuHe-qrHsYCsaaM1iJj_1CWqjnBCYQ1V-a9InPszIYWSEYiljw6HX7MVSbc3_BWUBGLH0zvulhRZScsEcjCIpgd4cx_l3Czq7ZzkBJi0TQKxhD9lf1AGpY-njrQonaittXkRs-sc27vb3/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQFXUJns6GyBgjiTWzAk5LN4Nkv6N7K-hQMzuaEFWAF9LI-WQyCjfYKbycYetcIRwL2aB9G3MWkt7WqQRIdscISIKLvBURJUa5iT-DeasAlAP590RE_r3QAgc9MYtpINVdY348EGXCLkkH/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
Specify the users to be entitled to this collection and the number of desktops you wish to deploy along with the desired naming convention. For allocation, you can now decide how many VMs of the total pool to provision to each available physical host. Take note of this, VMM is not here to manage Intelligent Placement for you, you can accept the defaults or decide how many VMs to provision to a host. &lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;525&quot; height=&quot;385&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgheQYzltVjmg1-zSf4Mbhp2Tg4actWx2dCRs4O1KXpsuCOM8XiCucPHsWJAmkhTi94oWNRtngBkPjPubKhG1oALwHg97DPuvHjJDuvKgaNxIN6zrpOInShrbOC_ey56XbU0QZiPNZ20lOi/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;525&quot; height=&quot;387&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnUjDTnMbJyFaoYcpd0U_ui8eKnLZM4oY6AqHfwjpJHrosU5KdqpoHtANgp586Mxtyc6zyfvvdfMihxOSO56WyneRqlkt3E97NR4B-1_z2gt8NQNHqR2CNRFIMRtyF7vK1Ytcu1yZt6410/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;
Select where to store the VMs: this can be a local or shared drive letter, SMB share or CSV. The ability to use CSVs is one of the benefits of using Failover Clustering for RDS deployments. Next, if you intend to use UPDs for storing user settings, specify the path and size you want to allocate to each user. Again, CSVs work fine here. Confirm and deploy.&lt;br&gt;
&lt;img width=&quot;450&quot; height=&quot;330&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmSFQEaM8fNzdqY58HK3y4rKZP2tv7OhhM70B051LL0lgzkHGbdkPZ497Z0sxwpM7VYhm4DwthUcriXSQzkwMkqK5ai2caLq-iQhBNW4WfD8nWif8jnU0J_BxX5digrB9bwjGWheNYzQiz/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;331&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9VM72N1QJnNv3HcHWiEVl-wiAYzyaVLxeydMPosMWT1botQKJLKaQBlLwwf1hK1Rt03CCz-SVw0ZoQVM5eCS2SFNThJXuyIlsqyBXHJFDYVQAMEht0xS5o_BV17JqYeiS7NSNS5EDdMb2/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;450&quot; height=&quot;332&quot; title=&quot;image&quot; style=&quot;margin: 0px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD-pH9sY6AB0dSSVgsgnrl2I73gfLpezrnyhq4CWWO0-dfqVSHJWBW3UkLqHiBnbp-HLOsxMdYNr1nGzAioZprEGb1qbtSkgMsY17r3Ew7hxkZ2Jasz-If0BXMuiyaKyxAakIGq0QqGFZg/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
Behind the scenes, RDS is making a replica of your template VM&#39;s VHDX stored in the volume you specified, which it will then clone to the collection as new VMs. &lt;br&gt;
&lt;img width=&quot;758&quot; height=&quot;169&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK6g0tBRLbdyVRLuZy3hjmdihXXsylhMuhU1h_ZpCDhucRM5oXvqTJoRlzQZjsGq_fIZEIZ2wMoSU5sc9UotjpvKOYaeLiJoO2dZ52h-PrcsIXthw5pseDVGNgwPkdtw1NzFgLpyzrFJOz/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
The pooled VMs themselves are thin provisioned, snapped (checkpointed) and only consume a fraction of the storage consumed by the original template. When reverting back to a pristine state at log off, the checkpoint created during provisioning is applied and any changes to the desktop OS are discarded.&lt;br&gt;
&lt;img width=&quot;783&quot; height=&quot;199&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7k63DiiWcmn4XUu7AZnlLWSp4_5YQ2LoRXziHvc1LJB7WeQ_WWBMb_ZKzxqhtFF_22bdkdZu1bAgZ9SUhyphenhyphensabUCtPlXCHCtX76NwOW-26OdZUBEwzdhHKZS_5zLYIhuoVTE3gTUA1lrZE/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
UPDs are ultimately VHDX files that get created for each user that connects to the collection. By default all user profile data is stored within a UPD. This can become unwieldy if your users make heavy use of the Desktop, Documents, Music, etc folders. You can optionally restrict which pieces should be stored within the UPD and use folder redirection for the others if desired.&lt;br&gt;
&lt;img width=&quot;732&quot; height=&quot;864&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOIlOd6OVk_1VyJOv1-Z06rGzn7q-AhGA4DMS2bZgpntYXrFVmg8Up4TlynYbfiIVAKr4uPeS_KbUeMgYPvyhyr2GvlwRQOLVIQ3-ws31sqW_QQuhvDlYYyHtZu-zTeHdD0hC7LX_oBvkj/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
When UPD is enabled for a collection, there is a template UPD created within the volume specified then each user gets a dedicated UPD with the SID of the user as the file name. Selected settings are saved within and follow the user to any session or desktop they log into within the collection. This file will grow up to the maximum allotted. &lt;br&gt;
&lt;img width=&quot;698&quot; height=&quot;119&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaqsuGv-DU3V1u_rQtB_Pjd7Nek97kt4ddiBsQm-FF7f4ZiQ_gV82ABI8MiWJ24lI1tTAvp-UyNzPFZu6dI-qFpz25ECREfgSl2hlBGMYE-weycCS9KvXvsYQVbLprEZ8ZjWZjNpqpqf4l/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Managing the Collection&lt;/span&gt;&lt;/h3&gt;
Depending on the speed of your hardware, your pooled VMs will deploy one by one and register with the broker. Once the collection is deployed it will become available for management in Server Manager. Entitlements, RD Web visibility, client settings and UPDs can be manipulated via the collection properties. Desktop VMs can be manipulated with a basic set of controls for power management, deletion and recomposition. RemoteApp Programs provides a way to publish applications running within the desktop pool to RD Web Access without requiring RDSH or RD Lics which may be useful in some scenarios. Virtual GPU can also be enabled within a desktop collection if the host is equipped with a supported graphics cards. Server 2016 adds huge improvements to the Virtual GPU stack.&lt;br&gt;
&lt;img width=&quot;1306&quot; height=&quot;853&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNRmw54457x-bHEsg2kVMZInt7c_-sApQexwfQVNvDyVd1k6C6k0FgpvcjwMdhQxuE3l9-88LcOKJA9lu_6qXGLFbXXMtNlJin0sWFIx1UMxVf6AqVL9BXJxcdYY8MS2LTSFSNA49IX-nc/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
Notice here that RDS is aware of which VMs are deployed to which hosts within my cluster. Should a VM move between physical hosts, RDS will see that too. When removing VMs from a collection, always do this from the Collections dialog within Server Manager as it&#39;s a cleaner process. This will turn off the VM and remove it from Hyper-V. If you delete a VM from Hyper-V manager, the RDS broker will report that VM as unknown in Server Manager. You will then need to delete it again from within Server Manager.&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img width=&quot;449&quot; height=&quot;291&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1VYAAjdzmZfAMCrD5yyo1cYF0L1zW4S84RXfC5P-kQsj_i2VbvQ7vFc-NpdNi1yoL8iPLZAuhppvtIeRuGz0tcnLNcvtpyamDcBUCozFu8vXkrCQ8iCAzrbcgRautfht-fc7h5kjTvejt/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img width=&quot;438&quot; height=&quot;272&quot; title=&quot;image&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5BZ3q9wprKYj1kbvOwbZqq10b7IBBAsdBhQSUUuIs3W_dUY1w_Sjs2g0F3sFv3I_QwNiNtdqujE4NFF52qmchdwSBz8gFyNtkvwH0hyUhA3Jn4dIXWbgHNjwOW7LjWbKnu39UOd4MqAhC/?imgmax=800&quot; border=&quot;0&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;br&gt;
If you have an AD object that already exists with the same machine name, that VM will fail to provision. Make sure that if you redeploy any collection using the same names that AD is also cleaned up before you do so.&lt;br&gt;
&lt;img width=&quot;886&quot; height=&quot;494&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJhrF-68BlHyighkYIySfxFmhDym-bU90dimUyytj9JL9ff0lv8NChOC5mCDPwc-QJ2KdwLhPghLrES58MqGUKDXWCPbkmy2WDeae320Bj0zAmWOF0pnXoLGdHKaqlhH5UZ3AEoNfshhV2/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
As is always the case when working with VMs in Hyper-V, manual file system cleanup is required. Deleting a VM from Hyper-V or RDS in Server Manager will not remove the files associated with the VM. You could always add them back if you made a mistake but otherwise you will need to manually delete or script an operation to do this for you.&lt;br&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2ddAMiKcdnf5TqR1fjIQZwVeXKH78Rb4ibTUDVSO9yQflAw6vEWakHHNNAz2s4U5lrjFN4dAlS2ZLlEaJCAp1swwTBZgJS_trNW9z6DYShhyZP_c2_Fx9e535YNLeuTpkKVtpH9ZHhNbB/s1600-h/image17%25255B1%25255D.png&quot;&gt;&lt;img width=&quot;629&quot; height=&quot;131&quot; title=&quot;image[17]&quot; style=&quot;border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;&quot; alt=&quot;image[17]&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD2X4ztsnvohRVUubYjOFIQQZFGV-RmwsV4QzpSBay7PJClbA8apkrxUGBQzvRGpJ40n0vz6nz8QW64PFFt2m6gcs4Wy_G0aCZ_D1LxsVA2XKC24U6bVui6nGpTgUljUJ_VWSCxheZPbNo/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
RemoteApp Programs can be used to publish applications for users of a desktop collection. This does not require RDSH but it will only allow a single user to connect to a published resource, just like a desktop VM. If you use RemoteApp Programs within a desktop collection, you will be unable to publish the desktop collection itself. For example, I have Google Chrome published from one desktop within my collection, this prevents the entire collection from being presented in RD Web Access only allowing the published app. To make this collection visible in RD Web Access again, I have to unpublish all RemoteApp Programs from the collection then select to show the collection in RD Web Access. The same is true of session collections. You can publish apps or you can publish sessions but not both simultaneously within a single collection. &lt;br&gt;
&lt;img width=&quot;1087&quot; height=&quot;507&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisL6SKJGwfN4ki6scf9yFF17m7Js1adV1UpJchivOEjkQPWGuYTBlHyBv6lLXjQVOa-C23xdprXt18ZRVRETq7HbODeEGVVQUtLl5-NQUwFKOFqohFeE4F-EhKlFiIG8uUu7-yt51hpJZV/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Connecting to Resources&lt;/span&gt;&lt;/h3&gt;
Logging into RD Web Access is the easiest way to access published resources. By default this URL as created within IIS will be https://&amp;lt;RD Web Access name&amp;gt;/RDWeb and can be secured using a proper certificate. Depending on user entitlements, users will see published apps, sessions or desktops available for launching. To enable direct connection to a collection using the Remote Desktop Connection (RDC), a collection within RD Web can be right clicked which will trigger a download of the .rdp file. This file can be published to users and used to connect directly without having to log into RD Web first.&lt;br&gt;
&lt;img width=&quot;1031&quot; height=&quot;798&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7jaAj7M6uH4xX6KT1i-S7B97dWqXU_3PjWXroq7MC1pKmworePNAwdpnTGFFpJIzuf5po7n_vivpugUwBGILCDiNoVQoaj63ImpzaTlcG_JZFuWPYZ74YNwG3ZpDPp0K-eqnteJ0Y92CI/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
Editing the .rdp file in a text editor will reveal the embedded characteristics of the connection which include the client settings, connection broker, gateway and most importantly the collection ID which in this case is &quot;RDC&quot;.&amp;nbsp; &lt;br&gt;
&lt;img width=&quot;377&quot; height=&quot;506&quot; title=&quot;image&quot; style=&quot;margin: 0px auto; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: none; display: block; background-image: none;&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4QI0Uxl1WH75XAmN7nqYZUFsJZW_uUk8r_ur3sdSdlIV3DkPAbYhnW9KSQpsIYHbd9G1mtzF7ZI1uoW3wlHFzTTf4hcT2thyphenhyphenY8ny6psLjzrcSLXWkd1mnPMBSRlKgtc5fB-DV5DqfF1km/?imgmax=800&quot; border=&quot;0&quot;&gt;&lt;br&gt;
&lt;br&gt;
At this point the connection broker does as the name implies and connects users to resources within the deployment while maintaining where VMs are running and which VMs users are logged in to. In the next section we&#39;ll take a look at integrating RDSH into this environment.&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://goo.gl/cSKbVO&quot; target=&quot;_blank&quot;&gt;Part 1: The Basics&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Part 2: RDVH&lt;/strong&gt; &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/06/native-rds-in-server2016-part-2-rdvh.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4O1pUy734fUZU7JxNhv2RSYLFy-XLD5EaD-jcjYWanWswG_QJQWO0qVWZA0TPnmjCeEmzgxv9XAxDi43MNLEWreUQFJzkr7i6tZBBY0J9sw1P_Pt94Sz29vN8ODDz_fJH0OMGrO6XmHGm/s72-c?imgmax=800" height="72" width="72"/><thr:total>12</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6279473641499127269</guid><pubDate>Wed, 01 Jun 2016 02:28:00 +0000</pubDate><atom:updated>2016-11-14T09:22:52.135-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">Server2016</category><title>Native RDS in Server2016 - Part 1 - The Basics</title><description>Part 1: The Basics &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;133&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUT27PV0fouxnHF4vdufMP-wJwMrbYevhyky2_RVVEZizzX-z1bov7YrQ3QrYL32WSbmlm_WObdDt3RtPDc0HOuntY_mJQRYFE1F7XaVi3JjJQR8I9_atLnJt-4F87jmdrzTuyvskbGBZ3/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;117&quot; /&gt;&lt;br /&gt;
As is the case with a number of Microsoft workload technologies, particularly in the End User Compute (EUC) space, Microsoft provides you with the basic tools to fulfill a particular requirement or use case. If you want to get more granular with management or fancier with features, your next step would be to invest into their partner ecosystem to expand upon the base offering. Such is and always has been the case with Remote Desktop Services (RDS). Remote Desktop Virtualization Host (RDVH) and Remote Desktop Session Host provide a very functional, but basic solution for virtual desktops or shared sessions. If you want greater granularity with an increased feature set while wanting to stay on Hyper-V, you can upgrade into the Citrix XenDesktop or XenApp product space. If you want to use vSphere as your hypervisor you could run RDSH VMs natively or add greater management granularity and features by buying into the VMware Horizon product space. At the end of the day, no matter which way you go, if you intend to deploy shared sessions or shared virtualized applications, as most environments do initially, Microsoft RDSH is the technology underneath it all. This series will cover the what, why and how of the native Microsoft RDS stack for Server 2016.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Use Cases&lt;/span&gt;&lt;/h3&gt;
The first thing to decide is whether you need shared sessions/ published apps (most common) or dedicated pooled or personal virtual desktops assigned 1:1 to each user. RDSH is the most widely deployed technology in this space and where most environments initially invest to virtualize published applications or deploy a shared hosted workspace. If the shared session/ app solution falls short in any way or if users need greater dedicated performance, the next step is to isolate users via pooled or personal virtual desktops. Pooled desktops can be refreshed for each new user (non-persistent) while personal desktops are dedicated to a user (persistent). Pooled desktops or shared sessions can make use of User Profile Disks (UPD) which store user settings and folders in a central location. A collection can make use of both folder redirection as well as UPDs. &lt;br /&gt;
Virtual desktops are completely complimentary to published applications which can reduce the complexity of the template used for a collection while lowering the resource consumption of VMs running within. This is done by offloading the running applications to RDSH hosts keeping the desktop VMs leaner thereby yielding greater density per compute host. Multipoint is now an installable role in Server 2016 RDS which is useful for single-server multi-user scenarios not requiring RDP across the network. For Server 2016 all uses cases can be built on-premise, in the cloud, or a hybrid of the two. This blog series will focus on the on-premise variety which is also most common. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What&#39;s new in RDS 2016 &lt;/span&gt;&lt;/h3&gt;
Personal Session Desktops - A new type of session collection that allows users to be assigned to a dedicated RDSH VM (Azure deployments)&lt;br /&gt;
Gen2 VMs - Full support for Gen2 VM templates for pooled/ personal VM collections and personal session desktop collections&lt;br /&gt;
Pen Remoting - Surface Pro stylus devices available for use in RDS&lt;br /&gt;
Edge browser support&lt;br /&gt;
RemoteFX Virtual GPU - OpenGL, OpenCL, DX12, CUDA, 4K resolution, Server OS VMs, 1:1 Direct Device Assignment&lt;br /&gt;
Windows Multipoint Services - Now a part of RDS as an installable role for super low cost single server solutions, RDSH required&lt;br /&gt;
RDP10 - h.264/ AVC 444 codec, open remoting&lt;br /&gt;
Scale - RD Connection Broker capable of supporting 10K concurrent connection requests&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Solution Components&lt;/span&gt;&lt;/h3&gt;
At a very basic level, if you want shared sessions you need the RDSH role enabled on physical hosts or Server VMs. If you want virtual desktops you need Hyper-V and the RDVH role enabled on the physical host/ parent partition. Best practices suggest that only Hyper-V and RDVH roles be enabled on physical hosts, all other roles should exist within VMs to enable better scale, HA and portability. It is important to note that neither SQL Server nor System Center Virtual Machine Manager (SCVMM) are required for a basic RDS deployment.&lt;br /&gt;
The RDS management infrastructure for Server 2016 has two deployment scenario roles and four Services roles which can be deployed within a single VM for POCs or very small environments.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Hosts&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Compute hosts - Hyper-V hosts used for the sole purpose of running RDSH VMs or pooled and personal desktop VMs.  &lt;/li&gt;
&lt;li&gt;Management hosts - Hyper-V hosts used for the sole purpose of running RDS infrastructure components such as Connection Brokers and Web Access servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;strong&gt;Deployment Roles&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;RDVH - Virtualization Host role provides the ability to deploy pooled or personal desktops within Hyper-V, organized via collections. Enabled within parent partition of Hyper-V enabled host.  &lt;/li&gt;
&lt;li&gt;RDSH - Session Host role provides the ability to deploy servers or VMs hosting shared sessions or published applications, organized via collections. Can be enabled within physical or dedicated RDSH Server VMs. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;strong&gt;Services Roles&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;RD Connection Broker - The broker is the heart of the operation and connects users to their desktops, sessions or apps while load balancing amongst RDSH and RDVH hosts. This role is mandatory. &lt;/li&gt;
&lt;li&gt;RD Gateway - The gateway role is used to securely connect internet-based users to their session, desktop or app resources on the corporate network. This role is optional. &lt;/li&gt;
&lt;li&gt;RD Web Access - Enables users to access RemoteApp and Desktop Collections via the Start menu or web browser. This role is mandatory. &lt;/li&gt;
&lt;li&gt;RD Licensing - Manages the licenses required for users to connect to RDSH sessions, virtual desktops or apps. This role is mandatory after 120 days.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;strong&gt;Collection Deployment Options&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Sessions/ apps - Users connect via RDP to a RDSH host or VM to run a full desktop experience or a published app. All users connected to a single RDSH host share the physical resources of that host. In 2016 users can be configured to connect to a dedicated RDSH host (useful for Azure and desktop licensing rules).  &lt;/li&gt;
&lt;li&gt;Pooled desktops - Non-persistent desktop VMs created within a collection that have power state and automatic rollback capabilities to create fresh VMs for each user login. User settings can be stored on a UPD. &lt;/li&gt;
&lt;li&gt;Personal desktops - Persistent desktop VMs created within a collection that have power state managed and are permanently assigned to a user of the desktop. This collection type does not require nor support the use of UPDs.  &lt;/li&gt;
&lt;li&gt;User Profile Disks - UPDs can be added to any session or pooled desktop collection to persist user profile data between session or desktop connection activities. One UPD per user.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
View of the various RDS infrastructure roles as portrayed within Server Manager:&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;441&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJaz_o8uS0FcFehVoWruXOO70fpUXwCAw9GCScgkUUpgcbO06eCPubvVKRIk6x7ZOH3TEhHnTn8YE0KgEIW7fFCuG6xl3dmMgXZuc8-tG47q_HpKJvgRH7GEBh6BQuF-efVoKG43rQZlwH/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;561&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Architecture&lt;/span&gt;&lt;/h3&gt;
Here are all those pieces showcased in a basic distributed architecture, separating resources based on compute and management roles as I like to do in our Dell solutions. You&#39;ll notice that there are a couple of ways to connect to the environment depending on where the user is physically as well as which resource they need to connect to. SQL Server is listed for completeness but is only required if you intend to add HA to your RDS deployment. Pooled (non-persistent) and Personal (persistent) desktops are functionally similar in that they are both based on a template VM to deploy the collection but only sessions and pooled collections can make use of a UPD. The storage hosting the UPDs is illustrated below as external to the management hosts but it could also be a file server VM that exists within. This RDS architecture can be deployed using traditional shared storage, software defined, or local disk. &lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;949&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkWgaq167jO-K8ndAZZTSXFGmEGk-D0CiqD18KmEmqeJJSU_5-A2I65mNZ__HkP1S9DN4Ox1f3V_DuWZ04KWIb82tx-I2k9FgdXvRGX72ARvF58jQ-IYiNWRB17Wr6UKuZE0F-G8ppM_B4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;845&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Part 1: The Basics &lt;strong&gt;(you are here)&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://goo.gl/fb/volKv9&quot; target=&quot;_blank&quot;&gt;Part 2: RDVH&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://goo.gl/bKAh6v&quot; target=&quot;_blank&quot;&gt;Part 3: RDSH&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.exitthefastlane.com/2016/05/native-rds-in-server-2016-part-4.html&quot; target=&quot;_blank&quot;&gt;Part 4: Scaling and HA&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;https://technet.microsoft.com/en-us/library/hh831447(v=ws.11).aspx&quot; target=&quot;_blank&quot;&gt;Technet&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/05/native-rds-in-server2016-part-1-basics.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUT27PV0fouxnHF4vdufMP-wJwMrbYevhyky2_RVVEZizzX-z1bov7YrQ3QrYL32WSbmlm_WObdDt3RtPDc0HOuntY_mJQRYFE1F7XaVi3JjJQR8I9_atLnJt-4F87jmdrzTuyvskbGBZ3/s72-c?imgmax=800" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6307391435400654168</guid><pubDate>Mon, 02 May 2016 21:39:00 +0000</pubDate><atom:updated>2021-01-10T14:53:47.161-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">TroubleFreePool</category><title>Hayward AQR15 Install</title><description>&lt;p&gt;So I&#39;ve decided to leave the tech business and start a pool services company, this is my first post of several in a series of related topics. Just kidding, but I did install a new salt water chlorine generator (SWCG) for my pool and here&#39;s what was involved. I&#39;ve had an ailing &lt;a href=&quot;http://www.amazon.com/Pentair-520555-IntelliChlor-Chlorine-Generator/dp/B001DSLLH4&quot; target=&quot;_blank&quot;&gt;Pentair IC40&lt;/a&gt; for five years now that worked ok the first year I had it, but then it was nothing but trouble thereafter. Three flow switch replacements at $75+ each, constantly pouring in bleach to augment and this year, yet again, after removing the cell for the winter, when I reinstall it comes up red, system off, again. This means one of four things: water temp too low, salt too low, bad flow switch or bad cell. I&#39;m betting the last as these things aren&#39;t really expected to survive more than 2-3 years, so my cell probably died over a year ago. Sadly, Pentair only offers an abysmal 1 year warranty on these units (60 days if you install yourself), which at the price of admission, is completely unacceptable. I set out to replace my bad Pentair solution with something better. &lt;/p&gt;&lt;pre&gt;&lt;p&gt;Disclaimer: As is always the case, anything presented here is for informational purposes only. &lt;/p&gt;&lt;p&gt;Anything you choose to replicate is at your risk or peril, not mine. If you have no experience &lt;/p&gt;&lt;p&gt;with plumbing or electrical work this is probably &lt;strong&gt;not&lt;/strong&gt; the project for you!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;So, why salt water? &lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;Many confuse why people convert their pools to salt to begin with and what that really means. There&#39;s a couple of very good reasons: easier maintenance and easier on your body. Salt pools still require Chlorine (CL) but instead of using feeders, pucks or liquid CL, the sodium chloride in the water (NaCL) is converted to sodium hypochlorite aka Chlorine (NACIO) with the help of an electric salt cell as the water passes through it. The CL does its job destroying organics and returns to the water as salt when exhausted where the process repeats. The process is simple, renewable and cost effective. Salt pools require much lower CL levels overall (3-5ppm) and leave your skin feeling soft without the eye burn that comes with traditional CL pools. Your water chemistry still requires balance of course with a special consideration paid to PH, which will steadily creep upwards if unchecked, and calcium hardness. Calcium scaling is the enemy of salt cells which reduces the cell&#39;s effectiveness and life over time. You&#39;ll often see thin slivers of calcium on the pool steps or floor as the salt cell performs its &quot;reversing&quot; procedure to clean itself of scale buildup. There are of course a number of options that can be used to sanitize your pool, each with its pluses and minuses. Here is a short list of options from my research and practical experience from maintaining a pool for many years as well as why I settled on a replacement salt system.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chlorine Tablets (Pucks)&lt;/strong&gt; - This is the most common method used via &lt;a href=&quot;http://www.amazon.com/Hydro-8725-Adjustable-Floating-Dispenser/dp/B000P5A4R4/ref=pd_sim_86_3?ie=UTF8&amp;amp;dpID=4190Yz-vbzL&amp;amp;dpSrc=sims&amp;amp;preST=_AC_UL160_SR160%2C160_&amp;amp;refRID=1SJZVA9R1HCTTM24G1GY&quot; target=&quot;_blank&quot;&gt;floating dispensers&lt;/a&gt; or &lt;a href=&quot;http://www.amazon.com/dp/B004GXSBPS/ref=wl_it_dp_o_pd_nS_ttl?_encoding=UTF8&amp;amp;colid=URYHVNALA7QV&amp;amp;coliid=IZ86JQFQUQW3R&quot; target=&quot;_blank&quot;&gt;automatic in-line feeders&lt;/a&gt;. While it&#39;s easy to stack a few pucks in one of these delivery products&amp;nbsp; and forget about it, the problem with this method is that these pucks contain additional chemicals besides CL, namely cyanuric acid (CYA) aka stabilizer. CYA is important to have in the pool to protect the CL from being destroyed by sunlight, but there is a specific balance to maintain. Pucks keep feeding CYA which keeps building in the water, finally to the point that the CL can no longer do its job. Algae starts building and you wonder why. The only way to get rid of CYA is to drain and refill. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liquid Chlorine&lt;/strong&gt; - Most commonly known as bleach, liquid CL is the purest and most beneficial sanitization method available for the pool. Varying concentrations can be found from 8.25% to 10+% but it&#39;s all the same stuff: bleach. The only problem with this method is having to constantly stock, store and add bleach to the pool. Slip up because your stock is low and you could be fighting an algae outbreak in no time. Contrary to what the pool store will tell you, you don&#39;t need to buy &quot;special&quot; chlorine nor shock for your pool. Bleach is all that you need.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Liquidator&lt;/strong&gt; - Pouring bottles of bleach in the pool, while effective, is a hassle, enter the &lt;a href=&quot;http://www.amazon.com/HASA-Pool-C201-Liquidator-Upgrade/dp/B00SDICAMM&quot; target=&quot;_blank&quot;&gt;Liquidator&lt;/a&gt; (LQ). The LQ is a simple device that is used to passively add liquid CL to the pool using gravity and the suction side of the plumbing. Liquid CL is mixed with pool water in an 8 gallon tub that causes the heavier CL to sink to the bottom below the pool water. When the pump runs the liquid CL is pumped into the pool and chemical odors are kept at bay. The LQ is fairly cheap at $200 for the equipment plus the cost of bleach to maintain. The problem with this method is fine tune control of how much CL you add to the pool and keeping the tank filled with the CL kept cool. I&#39;ve read recently of people having trouble with mineral build up in the LQ equipment causing them to abandon this solution completely. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stenner&lt;/strong&gt; - &lt;a href=&quot;http://www.amazon.com/AutoPilot-75004-Stenner-Pump-Tank/dp/B00XD7X5ZE&quot; target=&quot;_blank&quot;&gt;Stenner&lt;/a&gt; pumps have been around for ages and provide another method to get liquid CL into the pool but via an active pump, so there are no issues with mineral build up on the stenner side. Most use a 15 gallon tank, filled with bleach, and a 100PSI pump set to run on a timer to add CL to the pool when the main pool pump runs. Most are very happy with their Stenners but the issues with this solution are getting the right parts to build the pump and tank, storing CL which degrades when it gets hot and the cost/ hassle of keeping the tank filled. While the Stenner may be cheaper to build initially (~$400), the annual cost of bleach puts this as a potentially expensive solution depending on the number of active months in your season. The average I read was consuming ~15 gallons per month during the summer, which at $4+ per gallon adds up year after year. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SWCG&lt;/strong&gt; - So here we are, back at the SWCG. I outlined the benefits in the first paragraph which center around ease of maintenance and body friendly properties. Buying into the SWCG solution is one of the more expensive options and will set you back at least $1K plus salt which is $5-10 per bag. After the initial investment, if all goes well, you&#39;ll be on easy street only having to adjust your salt after heavy rains or being closed for the winter. But, assuming this solution lasts for a minimum of 3 years, which is the warranty period of the Hayward AQR15, it is still cheaper than the Liquid CL methods in the long run. Problems can and will occur, however. The most likely issues will be failing flow switches, bad control boards and salt cells that require replacing, all of which should be covered during the warranty period if any of that were to happen. Once the cell has lived its useful life, the replacement for this particular model is ~$450, half of the initial investment, which would last another 3+ years.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;More information on all these options including proper water chemistry and other pool basics can be found at my favorite online pool resource: troublefreepool.com (TFP). &lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Installing the Aqua Rite 15&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&quot;41bS0NQ8IBL._SY355_&quot; border=&quot;0&quot; height=&quot;355&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_SCZ4Q5dm30krqRYBpiQHlRf2ZZO7z4c3EmUXlFXg1jjMthTsjAGB8dNwa7WYp_sDpDJxOZ5CBZJXTYvONGzNeNLJ3HoH13QN-Gz1_4bGghOLngkIUiEL7ABMsbYggXdZVYodGALvDunE/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; border-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;41bS0NQ8IBL._SY355_&quot; width=&quot;355&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The AQR15 is a fan favorite at TFP with many claiming years of faithful service well past the warranty period. Having done the math on the other options and ruling out the LQ and Stenner due to cost, I finally decided the AQR15 was the right move. After having such a rough go with the Pentair SWCG I was extremely hesitant to invest in a new setup which is not a cheap entry to market. $1000 will get you a salt cell and a control box/ transformer. The general rule of thumb for pool equipment is to &quot;go bigger&quot; than you need to. This mainly applies to filters and SWCGs as it is possible to go too big on the pump depending on the size of your pool. The AQR15 is a kit that includes: a flow switch mounted to a 2&quot; slip-fit T union, a T-15 cell (chlorinates up to 40K gallons) and the control center that monitors each of these components while being able to provide useful metrics such as water temperature, water salinity and cell voltage/ amperage. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the desired before and after design. The Pentair IC40 is a simpler product with the flow switch integrated into the cell housing using a single cable to connect to the transformer. The AQR has an external flow switch which requires 12-inches of straight pipe upstream from the switch but placed after all other pool components (filter, heater etc). If placing the flow switch after the T-15 cell, the cell itself serves as the required 12-inches. Both the flow switch and the cell must be wired to the control box individually. &lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;383&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpIJ_Rd8iFDbtFlTALIQ8D-flRl_IZoGLXCXc3QEiyZTYHGT03qs9uPVGr09UzTdxAFcV87kx3b551ZwhJ4_GQC4K4yM-LkxYD_HXxAEuclZ-o0N211sUl-Mmgh5O3QhZl8r7AJThNDIJ4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; border-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;726&quot; /&gt;&lt;/p&gt;
&lt;p&gt;First step is to modify the plumbing to accept the new Hayward components, which requires me to elongate my existing return loop. You always want to try and leave 2-3&quot; of pipe, minimum, in your plumbing for future modifications. You&#39;ll see there are a few spots where I am now out of room. Any future updates will require me to rebuild larger downstream valve junctions and these Jandy valves are $50 each. I made cuts with my reciprocating saw to remove the existing Pentair couplings which, unfortunately, did not match the thread pattern of the new AQR and had to be replaced. I glued in the new flow switch and built the downstream side of the cell couplings as you can see below. Pay special attention to the direction of the flow switch whose arrows are on the top of the unit itself.&lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN2FiW3X6QmwIxlPQ9kwNmDSUSw1ar3jtaXkh9fxKWj1V3aM31c37kyIu2CVjR5763r28wLsgBFv80kfg2BCPRtpEy9UqIUhJ3WdLCvkGHiWbDBHXJk54ZBXEnac_4E8KtIK6SkP80wxbl/w1470-h1099-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;869&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Next I built the other side of the cell coupling trying to elongate this section as little as possible. Any length I add here will have to be replicated to the upper section of the loop. After installing the cell I was able to cut the upper portion of the loop and elongate using a single 2&quot; coupler. I got lucky. I was prepared to have to add a new section of pipe here with 2 couplers but that proved unnecessary. The cell can be installed in either direction since the flow switch is external to the cell. Don&#39;t forget to lube the O-rings of the cell couplings. Here is the new cell plumbed in (with my helper working on the bonding wire):&lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfpnBjlST_5RYos1U-daIGYNOmVhRR3Air9oDTeUo1IqvF2EaBvhEnx1KIX6lvfiyAvVWyaY8MTP5U_LxO6bAsTQHyEzcEFyPF2UP_8XWkD-y95V101Pn9WImeDorUEhb9f3IjNN4zPuwA/w1470-h1099-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;869&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;While the glue sets on the plumbing, on to the electrical portion of the install. The Hayward control box is much bigger than Pentair&#39;s, so while I was able to reuse 2 of the existing mounting screws, I needed to drill more. Drilling through brick sucks, it just does. I have my SWCG control box mounted above my timer and already have weatherproof conduit in place. Remove a knock out from the bottom corner of the new control box and shorten the wires to the appropriate length. Secure the conduit to the new box. The control box comes preconfigured for 240V setups which will be most common in larger in-ground pools. 2 x 120v hots plus a ground with the 2 middle connections of the box jumpered. Pretty simple. Make sure the breaker is off before you start fiddling with wires, 240v is not something to play with. Because my Pentair VS pump has a built-in timer, I have to use a separate timer to run my SQCG and heater or invest in a very costly automation system. Have I mentioned that I don&#39;t like Pentair much anymore?&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2dmWtjxjWU_RugZNyW4S3L6KMBxA-4aOVXes0q463w6QDs9IpSmJXMeEhkE6pRmjXtzG2bKmg1XKKnErx9g5jH5Ns1ZKtDSFBW9j-_ddqbRjK_514GgPM5D4hRhb7FPPDtVk2-VmWz_j0/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-color: initial; border-left: 0px; border-right: 0px; border-style: initial; border-top: 0px; border-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;866&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With the power supplied to the control box, all that remains is connecting the bonding wire, flow switch and salt cell.&amp;nbsp; The previous idiot that installed my Pentair system used the wrong kind of wire for bonding which isn&#39;t safe or to code. Code calls for 8 AWG copper and should connect to the exterior of all pool equipment that carries an electrical charge. The bonding wires of all components connect together and then run into an earth ground. This is to eliminate the risk of shock should any of these pieces become electrified. Here my helper is connecting our new bonding wire to the junction next to the pump. &lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;570&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU9N1-Air5_L3HcUvdDNyapBjxLtLlYfOTFjL14SgdYfi-N8ZX4fJDjh1R7d1SsPh22E0gIf9NpYEoGzZq8xKjxirMF4TyCxR1Xla0KZ7U9086twXHDscEY8mfIEa6diCMXFO1G_1kqEwn/w1470-h1099-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;762&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The bonding wire connects to the exterior of the control box via screw mount and the flow switch connects using an RJ11 connector pre-assembled.&lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVVNyfJ6DutH6vYcUvjHc6dehBOeN5LEs5PuZSRjRdUUW6ufJSbIXtpRG7CSWUrdYCANDgXDx8lNnSY0CIOgfvMJZRX_PFx9bpCz25i0Z-ZLqvseNRQExx8GtsErxyudftYkQhVNvUJGCd/w1466-h1099-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;866&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Before you connect the salt cell to the front of the control box, the proper model number needs to be entered in the control box first via the diagnostics menu. There are stickers everywhere warning you of this so best to take heed. By default the largest cell available, the T-15, is programmed. If you have a smaller model, change this first before supplying any power to the new cell. Once everything is wired, glue dry and proper cell configured, the system can be tested assuming you already have the proper salt level in your pool. If you do not have any salt yet, add this first and wait 24 hours before powering the new cell. The proper amount of salt plus other pool chemicals can be determined by using &lt;a href=&quot;http://poolcalculator.com&quot; target=&quot;_blank&quot;&gt;the pool calculator&lt;/a&gt;. Otherwise, set the desired % of CL output, set the cell to Auto and watch for green lights and power and generating. Expect a period of &#39;dialing in&#39; while you figure out what output percentage and run times are necessary. Success!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;IMG_20160428_172316&quot; border=&quot;0&quot; height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtY80cemsQHtF4C3wKA6_NYq9rLXpa-V989p0uHqIgh9VeImA_YNquJsCec7kBAZ9OD7ben3vWCzjeNHH0lQTinlePLjrE76azycWM84cuOYoE_IxMXkFFUZa8DxXGAyhoJ87Y3lZqDVVy/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-color: initial; border-left: 0px; border-right: 0px; border-style: initial; border-top: 0px; border-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;IMG_20160428_172316&quot; width=&quot;866&quot; /&gt;&lt;/p&gt;







&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is everything installed. So far very pleased with the setup. &lt;/p&gt;
&lt;p&gt;&lt;img height=&quot;650&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS4n5uvv_NiNUggRf9QxamElqOUJs1corML1ceM4zQneZz1Np-L5ouYlAQUhMgxS79_czMhUj46i_pBNgrGAp6kyNRZ2vJr8U5oeENJEbGxGYQi6VG9NgAKwXiFnPByRp2Fitz1k4o3898/w1470-h1099-no/&quot; style=&quot;display: block; float: none; margin-left: auto; margin-right: auto;&quot; width=&quot;869&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Key Takeaways&lt;/font&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Go bigger than you think you need to with pool equipment. A bigger SWCG means that it will do the job at a lower percentage of output which is great if you really need to crank things higher for short periods of time.&lt;/li&gt;
&lt;li&gt;Plan your plumbing. A SWCG can be easily plumbed into a new or existing setup. Keep in mind that the Hayward AQR has an external flow switch that requires 12-inches of straight pipe in front of it, placed after all other pool equipment on the return side of the plumbing.&lt;/li&gt;
&lt;li&gt;Use clear PVC primer for a cleaner finish. Nothing wrong with the purple stuff but clear is cleaner.&lt;/li&gt;
&lt;li&gt;The Hayward T-15 cell can be mounted in either direction since the flow switch is external. Hayward encourages changing the direction after 3-month inspections or cleanings.&lt;/li&gt;
&lt;li&gt;Bond your equipment with the proper 8AWG copper wire.&lt;/li&gt;
&lt;li&gt;Make sure the control box is programmed with your particular cell before you supply power to the cell!&lt;/li&gt;
&lt;li&gt;Time your cell to operate while the main pump is running only via timer box. Do not use the operation of the main pump to control the timing of the SWCG operation. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;font style=&quot;font-weight: bold;&quot;&gt;Resources&lt;/font&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.troublefreepool.com/&quot; title=&quot;http://www.troublefreepool.com/&quot;&gt;http://www.troublefreepool.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.troublefreepool.com/content/&quot; target=&quot;_blank&quot;&gt;Pool School&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://poolcalculator.com&quot; target=&quot;_blank&quot;&gt;The pool calculator&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.hayward-pool.com/pdf/manuals/AquaRite-AQR-Operation-Installation.pdf&quot; target=&quot;_blank&quot;&gt;Aqua Rite Operation and Installation Manual&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/05/hayward-aqr15-install.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_SCZ4Q5dm30krqRYBpiQHlRf2ZZO7z4c3EmUXlFXg1jjMthTsjAGB8dNwa7WYp_sDpDJxOZ5CBZJXTYvONGzNeNLJ3HoH13QN-Gz1_4bGghOLngkIUiEL7ABMsbYggXdZVYodGALvDunE/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6461067935478170803.post-6376548855773048318</guid><pubDate>Fri, 01 Apr 2016 21:17:00 +0000</pubDate><atom:updated>2018-02-21T09:55:05.988-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">RDS</category><category domain="http://www.blogger.com/atom/ns#">RDSH</category><category domain="http://www.blogger.com/atom/ns#">vSphere</category><title>vSphere Design for NUMA Architecture and Alignment</title><description>I’m publishing this design topic separately for both Hyper-V and vSphere, assuming that the audience will differ between the two. Some of this content will be repeated between posts but arranged to focus on the hypervisor each prospective reader will likely care most about. &lt;br /&gt;
Be sure to also check out: Hyper-V Design for NUMA Architecture and Alignment: &lt;a href=&quot;http://www.exitthefastlane.com/2015/06/hyper-v-design-for-numa-architecture.html&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Non-Uniform Memory Access (NUMA) has been with us for awhile now and was created to overcome the scalability limits of the Symmetric Multi-Processing (SMP) CPU architecture. In SMP, all memory access was tied to a singular shared physical bus. There are obvious limitations in this design, especially with higher CPU counts and increased traffic on the bus.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;328&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizdCeEyCZbyqFDKrWy42F5nc8VWce641TSU_EQkWK8fLk7RGd_4BWVr3Qxgg0CuK7dWnOrRSef6EJfsPLW0JHHv2uhLUhK0HyJSFKEEHzSgPuP7MIojIyhpQONZBhILxTbT0trM7BXpO1z/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;539&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;NUMA was created to limit the number of CPUs tied to a single memory bus and as a result defines what is construed as a NUMA &lt;em&gt;node&lt;/em&gt;. A high performing NUMA node is defined by the memory directly attached to a physical CPU socket in turn accessed directly by consuming applications and services. The memory controller is on-die and the memory DIMMs connect directly to the CPU socket.&amp;nbsp; The total number of logical cores available to a NUMA node is double if Hyperthreading is enabled. Per the example below, I have a dual socket system with 6 physical cores per CPU, including hyperthreading there are 12 logical cores per physical NUMA node, netting a total of 24 logical cores in the system.&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIpDn9Mv3WyXmsUBwR5GCBriFPWLVR5TftC9YMHAVcook21Xjjt7yHZn7AsxrkhqeYFE3qmFRePtFpYjLnB9582Fr1074seV9chIkQ9Mxb0FRGqQG3b9Q-_GJDcV_o5AbHCsdOx-Ld3QOs/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;769&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
NUMA &lt;em&gt;spanning&lt;/em&gt; occurs when memory or CPU cores are accessed remote to the NUMA node an application, service or VM is connected. NUMA spanning means your application or service won’t run out of memory or CPU cores within its NUMA node as it can access the remote DIMMs or cores of an adjacent CPU. The problem with NUMA spanning is that your application or service has to cross the lower performing processor interconnects to store its pages in the remote DIMMs or access remote cores. The maximum vCPU value assignable to a VM is dictated by the total number of &lt;em&gt;&lt;strong&gt;logical &lt;/strong&gt;&lt;/em&gt;cores available in all NUMA nodes. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;What is NUMA alignment?&lt;/span&gt;&lt;/h3&gt;
In the case of virtualization, VMs created on a physical server receive their vCPU entitlements from the physical CPU cores of their hosts (um, obviously). There are many tricks used by hypervisors to oversubscribe CPU and run as many VMs on a host as possible while ensuring good performance. Better utilization of physical resources = better return on investment and use of the company dollar. To design your virtual environment to be NUMA aligned means ensuring that your VMs receive vCPUs and RAM tied to a single &lt;em&gt;physical&lt;/em&gt; CPU (pCPU), thus ensuring the memory and pCPU cores they access are directly connected and not accessed via traversal of a CPU interconnect (QPI). As fast as interconnects are these days, they are still not as fast as the connection between a DIMM and pCPU. Ensuing that your virtual environments are NUMA aligned means ensuring the highest possible performance. &lt;br /&gt;
&lt;br /&gt;
Running many smaller 1 or 2 vCPU VMs with lower amounts of RAM, such as virtual desktops, aren’t as big of a concern and we generally see very good oversubscription at high performance levels with less need to span NUMA. In the testing my team does at Dell for VDI architectures, we see somewhere between 9-12 vCPUs per pCPU core depending on the workload and VM profile. For larger server-based VMs, such as those used for RDSH sessions, this ratio is smaller and more impactful because there are fewer overall VMs consuming a greater amount of resources. In short, NUMA alignment is much more important when you have fewer total VMs with larger vCPU and RAM allocations.&lt;br /&gt;
&lt;br /&gt;
To achieve sustained high performance for a dense server workload, it is important to consider:&lt;br /&gt;
&lt;ol&gt; &lt;ol&gt;
&lt;li&gt;The number of&amp;nbsp; vCPUs assigned to each VM within a NUMA node to avoid contention.  &lt;/li&gt;
&lt;li&gt;The amount RAM assigned to each VM to ensure that all memory access remains local within a physical NUMA node. &lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
The easiest method to follow is to ensure that your VMs receive vCPUs in an even multiple of the total logical cores available per NUMA node. The following is an example of a balanced configuration based on a dual 6-core, 96GB server used for RDSH. The server hosts 6 high performance VMs that are configured within 2 NUMA node boundaries. Given the number of vCPUs and RAM assigned to each VM, each NUMA node is oversubscribed 2x from a pCPU core perspective (including hyperthreading) and does not exceed the 48GB of RAM available to each pCPU socket. This ensures that NUMA spanning is not required and minimizes potential contention amongst the VMs. Your oversubscription ratio may vary depending on workload or SLAs. For RDSH specifically, the best results are achieved using 1.5x or 2x oversubscription. Here is an example of a NUMA aligned configuration with 4 VMs:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;335&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2f6JmpGXRqV_5BoSz7_FZKdKkEcLYYpLa3jOTiUg6AKToX0mRcjdtM-SRAu1hzV8yqFE579mZDwOdALkwGFBSMueNuvvXMEupJhsyQB2lMY_zSXKxr6AFjRXnmT0X1n3j7k-0EcrqliB/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;766&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;vNUMA in vSphere&lt;/span&gt;&lt;/h3&gt;
In vSphere 5.0 and later, the virtual NUMA topology can be exposed to the guest OS as long as it is hardware version 8 or later. vNUMA is enabled by default if a VM is configured with more than &lt;strong&gt;8 total vCPUs&lt;/strong&gt; (or 4 vCPU cores + 2 cores per NUMA node) and will match the host where it was powered on until the VM is restarted. This minimum number can be adjusted if desired as shown later.&lt;br /&gt;
When the NUMA topology is exposed to a guest VM, one of two things happen via the ESXi NUMA scheduler: &lt;br /&gt;
&lt;ol&gt; &lt;ol&gt;
&lt;li&gt;If a VM is assigned a vCPU value less than or equal to the number of total logical cores in a physical NUMA node, then this VM will be assigned to a single physical NUMA node and consume memory/ cores local to that node (ideal). This remains true until that VM is configured to access more memory than what is available in the single physical NUMA node, which would result in the VM spanning to the remote NUMA node (less than ideal).  &lt;/li&gt;
&lt;li&gt;If a VM is assigned more vCPUs than cores that exist in a single physical NUMA node, it will be assigned to at least 2 physical NUMA nodes. This will satisfy the resource requirements of the VM but will come with a performance penalty as the VM spans local and remote NUMA nodes (less than ideal).&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
Some conditions will cause VMs to not be managed by the ESXi NUMA scheduler, such as enabling CPU Hot Add or manual specification of a VM&#39;s CPU or memory affinity. This effectively disables vNUMA and carries some obvious inherent risks.&lt;br /&gt;
The NUMA scheduler assigns each VM to a “home node” at boot time which is a defined physical NUMA node within the server. ESXi tracks NUMA nodes within the System Resource Allocation Table (SRAT). When calculating a VM&#39;s NUMA home node, &lt;strong&gt;hyperthreading is ignored&lt;/strong&gt;. So if your VM is configured with more vCPUs that a single physical CPU has cores, it will be assigned to 2 or more NUMA home nodes. ESXi will ensure VM memory locality by locking a VM to run from the same home node that contains its assigned memory. If system load changes such that a VM’s home node is no longer optimal, ESXi can dynamically migrate a VM to a new home node. Part of this migration could also include a migration of the VM’s memory assignment to prevent spanning NUMA if possible. Important to note that if you set CPU affinity for a VM, this essentially disables the NUMA scheduler for that VM. &lt;br /&gt;
There are 2 ways you can verify how many NUMA nodes are present according to what ESXi sees, via esxtop or esxcli. From the console of one of your hosts run esxtop. Once running, press &quot;m&quot; to enable memory stats. Later, to see the NUMA stats as they apply to VMs, from esxtop press &quot;f&quot; to change the fields displayed, select NUMA Stats with &quot;g&quot; and hit any key to exit.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;376&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinMQxDp0anZsUv_2baWF7fHqt4J1SMkM2evwvnx7S_K8Vhw8_ix-b3h6o9f10RBxmuXiF96cTOJ8h0-SYuE03VkJxgGkHNqVSiB4tI4ElHvvFRiumAim5BqeF6jr-yAvZt-vdlnFP4KjFG/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;425&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
As you can now see, ESXi is aware of 2 physical NUMA nodes in my test system each with 49GB memory directly attached to each node.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;440&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxec5lb0CZqJmGxVNyJn_Az-_OGtIR_gB6b4MUlO_zPJKLzQFZj7zSOYj3tVtEjZkQQPWS5Z0itA1epATg5ogS6XtKl8Vhyphenhyphen_GNq_wP0tOXUbIAVFkLI4Rsbkj9z8JEpYVoq9m2IrLXqzd7/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;760&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The second method is the &quot;easy&quot; way but displays less information overall. Run the following esxcli command which also reveals that this host has 2 NUMA nodes:&lt;br /&gt;
&lt;pre&gt;esxcli hardware memory get | grep NUMA&lt;/pre&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcjHILRH0ZUMgmZHuzBhu8Xhm4iak68dJswsQACJd42RmBlmGX03b5nfsZySzp9kzbBCQ6XcUuCr8WaKJGPZgAPUBqnnwLhFziVhI5hhsaz1O-SEgmGewzGdAxyHChEO5Xc99_7Fw2r-Nv/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;350&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Further, just to completely remove any doubt about the number of logical cores available and to which physical NUMA node they belong, consider the following output from esxcli. 12 logical CPUs assigned to each physical node.&lt;br /&gt;
&lt;pre&gt;esxcli hardware cpu list | grep Node&lt;/pre&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgExNQRTAIWccDaNknpKFtqxFUgHiuSPZYjdhDPj05NS_f4Nt3en9HvYiwRF5EY_SptmeEDrSohyQQY1Yd7RHsebAksJ7qj_WT4L498xoLTdv1S84S9JLuEXXGLNE0GKRn7dHisfQEwbI78/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;324&quot; /&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;NUMA Alignment in vSphere&lt;/span&gt;&lt;/h3&gt;
The basic principles of NUMA are the same when dealing with vSphere or Hyper-v however executed slightly differently from a VM perspective. My vSphere cluster shares the same specs of my Windows cluster:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;2 x Dell PowerEdge R610’s with dual X5670 6-core CPUs and 96GB RAM running vSphere 5.5 U2 in an HA Cluster. 24 total logical hyperthreaded processors as reported by ESXi. &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
vNUMA can be altered on a VM by VM basis through vCPU assignments or via advanced host settings if global tweaks need to be made. It’s worth noting here that although the vSphere Client will allow you to assign CPU cores as well as “cores per socket” to your VMs, this is generally not required. VMware added this option in previous versions to provide the ability to control the number of sockets seen by the guest OS as a way to get around certain software restrictions and limitations that likely no longer apply. In vSphere a vCPU is a vCPU and will be scheduled according to how it fits into the exposed vNUMA topology. You can specify the cores per socket which will affect the NUMA topology presented to the VM, but also realize that this could have negative impacts as to how well that VM plays within the presented topology. Unless you have a good reason to change this, leave the default value of 1 core per socket when configuring VMs in ESXi. In my test servers a single VM can be configured with up to 24 vCPUs and if it&#39;s a Windows server OS, up to 24 sockets, which constitutes the maximum logical configuration of all available cores on this host. Take for example a Server 2012 R2 VM called &quot;X2&quot; configured with 12 vCPUs using the default of 1 core per socket.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;627&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGPQLxnZot68shwDvND9aa13M-tSPC8xJ-uIKuuOKTNGH0dttwcvjB_ioQiotEtuJV6rxydWEFyNOIVPxaIVUHNyy7sAA2yr_7e6U2emwKSm9qmmZPnLBFqXW0j_jbg1oC_MZuVCsRn0q6/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;601&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Using the &lt;a href=&quot;https://technet.microsoft.com/en-us/sysinternals/cc835722.aspx&quot; target=&quot;_blank&quot;&gt;Sysinternals Coreinfo&lt;/a&gt; tool we can view the virtual NUMA topology presented to the VM, but keep in mind this is not always indicative of the physical NUMA node assignment. With 12 vCPUs assigned, at 1 core per socket (12 sockets), ESXi exposes the VM to 2 vNUMA nodes. Note that this topology is virtual but at 12 vCPUs fits within a single physical NUMA node:&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;104&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlPIa0C8YA6QdVZAttik93xV8YSZQxipjKq6WnmM7WgNnOjbCpG9nH9bK3m1ZA43ZruAhoSxvOM2Twqg94Y_MG8RGh_gsBcMeQoKwsI47Rhyphenhyphenl6N7LVJ1FUC9GgRvbtBfkmox8cFoW13_ad/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;481&quot; /&gt;&lt;br /&gt;
Because the number of vCPUs is &amp;gt;6, ESXi assigns this VM to both NUMA home nodes, shown here in esxtop via the NUMA Home Node (NHN) value. Remember that the NUMA Scheduler ignores the hyperthreaded cores when making this calculation: &lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvPYsDlNDalSlMOK8L0QfWIssBPE35UwwF-CpiGk9DAF4S4CEQIqT4C_EC1TWpRsJO2ozfyawTKp0x1Th99rEbUXl6Uhyjl5homnnkuWte01dYckKOYUvad0tQMF9fKMOIQSDchgI_UgvQ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;757&quot; /&gt;&lt;br /&gt;
Even though at 12 vCPUs this VM fits within the logical boundaries of a single physical NUMA node, this VM is assigned to more vCPUs than the 6 physical cores that exist in a single NUMA node, thus enabling ESXi to reserve the right to schedule this VM&#39;s CPU consumption on either NUMA node. If this VM were to be assigned 13 vCPUs, not only would it be assigned to both NUMA home nodes as we see above but it would span NUMA to fulfill it&#39;s operational requirements. Per the diagram below you can see that two similarly configured VMs fit within the constraints of each NUMA node from an assigned memory perspective, but because X2 is configured with more vCPUs than total logical cores that exist on one NUMA node, it must cross the QPIs to fully satisfy its entitlement.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;325&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7AsJg4vjJ7JHEM_dKLsRos0AyXAXpYQsRs2BFSNXfoyGuga3mibiMonr3wX5JHDPpCVDt-fXKgTP5eUwm8eutRAmacE4SJ9fcVh-fUw0m16WmlZT7XL7kTfZ6NlmBVcA1u0MMvwjvdeIQ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;769&quot; /&gt;&lt;br /&gt;
Another example of vNUMA in action is the assignment of 24 vCPUs to this VM using an arbitrary 3 cores per socket. vNUMA creates 8 NUMA nodes (sockets) with 3 processors assigned to each. &lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;363&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AXr25L62U733WQIUeh9zmC6NcczPC80RwvRyx0Lqv1k_MbGn8OiSpEnW-NJdaF19UJHMhyphenhyphenJe1btvPnqRGTGTZ-wOeoLlInSb0COynGV1gpqIobFvjLE6IIAQbbPZ6dS-s64cqxdYiFqO/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;828&quot; /&gt;&lt;br /&gt;
The other example that would cause a VM to span NUMA would be if it were assigned to more memory than what exists within a single physical NUMA node. For this example I&#39;ve reconfigured my X2 VM with 6 vCPUs to ensure CPU locality but assigned and reserved more memory than what exists within the NUMA home node to which it is assigned.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;295&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuGG_GP0dke7-3zytRsEUeHgoRhQ8bRj-uwWJvBPmzgW8vPCI25llam8V58Fa-KBsfZKSAo5FgXgvglQMTP-kZFCFDRYBQ2LovshFvUP0lUTwP-WksboVH5aWLI6l7Um-q5ggVI2y7y2zM/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;419&quot; /&gt;&lt;br /&gt;
For NUMA spanning to actually take place the VM now has to actually consume more memory than what exists in the NUMA home node it was assigned. To do this I used a memory allocation tool and consumed 48GB of active memory. Hopping back over to esxtop we can see exactly the amount of memory being used locally (NLMEM) vs memory spanning to the remote NUMA node (NRMEM).&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSi93OX-qav1Cov6HMh4-BDQkSufBG2-ZrGxTMwBeNr2DLDCgWY70VskJe0wqKIHBPVZ6nou4A_frpPWAxJB2iETPHUuiPZIg-6aI8rkEtrJ1TfPGb72SrDz9vzx8K0b8DC3K7uVOqnyQO/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;761&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
To illustrate what is happening here, X2 is utilizing memory from its assigned NUMA home node but is also having to access the remote NUMA node to store its memory pages. If the cluster didn&#39;t have enough resources available for the configuration of the VM, it would fail to power on.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;324&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie8eal7QJvKkCPBve_2G1pqORKKbugao19MoyViFpWLCh4Lo8b5sxWkwZayZlbHkKRI6l6SuB2ug87K02fMRA6dD055rgsEt1rkqCjrXHv9JcXCNMV4wHSdP8flroe89JdQ7xpBSL3ftwt/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;769&quot; /&gt;&lt;br /&gt;
There are a number of additional tweaks available in the Advanced System Settings for a given host or at the individual VM level. Be extremely careful here and only change something if you have education and purpose.&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;788&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFF_WTXOLD6QQuEnoDTPcnl2KIISiLNOK2jot2WDoXTbxiLEZE4qlr4JGcQCMz-noAUyQeimCejAXJyfp-W_ORKk1dNdFLCpCUVocVNQXfYsszuRfnbfGzC-OiBnI11CO0LmLa1tFoPCGA/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;1173&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
To allow a VM with fewer than 8 vCPUs to be managed by vNUMA, a configuration parameter entry must be added to its .vmx file. Open the settings of the VM to be configured, under the VM Options tab, expand Advanced and click Edit Configuration beside Configuration Parameters. Look for the entry “numa.vcpu.min” and edit its value, if it’s not there add this entry and specify the number of vCPUs you need in the value. This would be useful in scenarios where you have fewer VMs with larger memory assignments. &lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOWYAw6EPhgGpv34AF8fkrOVtzEIUQaXEzxgkwANqTgOvuaUvDH-RSBkCQy92-pvARb6rUY6HpHTgX381MQ1WupXvp3He98pA69yquGOt8a0D2kMyGAWDzUe10KqFT3m2WtNBXsOZxZ-Lv/?imgmax=800&quot; height=&quot;452&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;613&quot; /&gt;&lt;/div&gt;
&lt;div align=&quot;right&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
The numa.autosize.vcpu.maxPerVirtualNode value assigned from within a VM&#39;s configuration parameters, can be used to control the vNUMA topology presented to a VM. By default, based on the physical characteristics of my test servers, the value is 6 vCPUs per node as presented to the VM. This can be adjusted up or down if required.&lt;br /&gt;
&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;450&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy7Gf5EdPglIBQKEvW_MPqXJjkBtDhVAxc5jqFkQeAv8_0dK78LOG7tCxAYKQMfCjb403TGK2LXvEPqrvbjGgk70nArin5f8eXII-l6JNQb_AvGHlzdRMvj_ru0etvfkZGJE_OIpvgxEyn/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin: 0px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;image&quot; width=&quot;607&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Key Takeaways&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;As a matter of general best practice, assign vCPU values to VMs less than or equal to the number of physical cores on a single NUMA node.
&lt;/li&gt;
&lt;li&gt;Designing your virtual infrastructure to work in concert with the physical NUMA boundaries of your servers will net optimal performance and minimize contention. 
&lt;/li&gt;
&lt;li&gt;A single VM consuming more vCPUs than a single NUMA node contains, will be scheduled across multiple NUMA nodes causing possible CPU contention. 
&lt;/li&gt;
&lt;li&gt;A single or multiple VMs consuming more RAM than a single NUMA node contains will span NUMA and store a percentage of their pages in the the remote NUMA node causing reduced performance. 
&lt;/li&gt;
&lt;li&gt;In vSphere vNUMA is enabled by default for VMs with 8+ vCPUs (adjustable) but enabling &quot;hot add CPU&quot; or configuring CPU affinity will essentially disable this feature. Be careful if you do this.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;When the NUMA Scheduler calculates which NUMA home node to assign a VM to, hyperthreading is ignored. This calculation is based on the physical cores of the CPUs.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resources:&lt;/span&gt;&lt;/h3&gt;
&lt;a href=&quot;http://lse.sourceforge.net/numa/faq/&quot; title=&quot;http://lse.sourceforge.net/numa/faq/&quot;&gt;http://lse.sourceforge.net/numa/faq/&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vsphere.resmgmt.doc/GUID-BD4A462D-5CDC-4483-968B-1DCF103C4208.html&quot; target=&quot;_blank&quot;&gt;NUMA in ESXi&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.5.pdf&quot; title=&quot;http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.5.pdf&quot;&gt;http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.5.pdf&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html&quot; title=&quot;https://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html&quot;&gt;https://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://pubs.vmware.com/vsphere-55/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-55-resource-management-guide.pdf&quot; title=&quot;http://pubs.vmware.com/vsphere-55/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-55-resource-management-guide.pdf&quot;&gt;http://pubs.vmware.com/vsphere-55/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-55-resource-management-guide.pdf&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://pubs.vmware.com/vsphere-60/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-60-resource-management-guide.pdf&quot; title=&quot;https://pubs.vmware.com/vsphere-60/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-60-resource-management-guide.pdf&quot;&gt;https://pubs.vmware.com/vsphere-60/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-60-resource-management-guide.pdf&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;This post originated at ExitTheFastLane.Com&lt;/div&gt;</description><link>http://www.exitthefastlane.com/2016/04/vsphere-design-for-numa-architecture.html</link><author>noreply@blogger.com (Peter)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizdCeEyCZbyqFDKrWy42F5nc8VWce641TSU_EQkWK8fLk7RGd_4BWVr3Qxgg0CuK7dWnOrRSef6EJfsPLW0JHHv2uhLUhK0HyJSFKEEHzSgPuP7MIojIyhpQONZBhILxTbT0trM7BXpO1z/s72-c?imgmax=800" height="72" width="72"/><thr:total>2</thr:total></item></channel></rss>