<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<channel>
<title>Server Storage at Microsoft</title>
<atom:link href="https://blogs.technet.microsoft.com/filecab/feed/" rel="self" type="application/rss+xml" />
<link>https://blogs.technet.microsoft.com/filecab</link>
<description>The official blog of the Windows Server storage engineering teams</description>
<lastBuildDate>Fri, 07 Apr 2017 16:24:36 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<item>
<title>To RDMA, or not to RDMA – that is the question</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/03/27/to-rdma-or-not-to-rdma-that-is-the-question/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/03/27/to-rdma-or-not-to-rdma-that-is-the-question/#comments</comments>
<pubDate>Mon, 27 Mar 2017 20:56:31 +0000</pubDate>
<dc:creator><![CDATA[clausjor]]></dc:creator>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Uncategorized]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[Storage Spaces Direct]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7905</guid>
<description><![CDATA[Hello, Claus here again. By now, you have probably seen some of my blogs and demos on Storage Spaces Direct performance. One of Storage Spaces Direct’s advantages is RDMA networking support that lowers latency and reduces CPU consumption. I often get the question “Is RDMA required for Storage Spaces Direct”. The answer to this question... <a aria-label="read more about To RDMA, or not to RDMA – that is the question" href="https://blogs.technet.microsoft.com/filecab/2017/03/27/to-rdma-or-not-to-rdma-that-is-the-question/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hello, Claus here again. By now, you have probably seen some of my blogs and demos on Storage Spaces Direct performance. One of Storage Spaces Direct’s advantages is <a href="https://en.wikipedia.org/wiki/Remote_direct_memory_access">RDMA</a> networking support that lowers latency and reduces CPU consumption. I often get the question “Is RDMA <em>required</em> for Storage Spaces Direct”. The answer to this question is: <strong>no</strong>. We support plain-old <a href="https://en.wikipedia.org/wiki/Ethernet">Ethernet</a> as long as it’s 10GbE or better. But let’s look a bit deeper.</p>
<p>Recently we did a performance investigation on new hardware, comparing it with an in-market offering (more about that in another post). We ran the tests with RDMA enabled and RDMA disabled (Ethernet mode), which provided the data for this post. For this investigation, we used <a href="https://github.com/Microsoft/diskspd">DISKSPD</a> with the following configuration:</p>
<ul>
<li><a href="https://github.com/Microsoft/diskspd">DISKSPD</a> version 2.0.17
<ul>
<li>4K IO</li>
<li>70:30 read/write mix</li>
<li>10 threads, each thread at queue depth 4 (40 total)</li>
<li>A 10GiB file per thread (“a modest VHDX”) for a total of 100GiB</li>
</ul>
</li>
</ul>
<p><span style="color: #000000;font-family: Calibri">We used the following hardware configuration:</span><span style="color: #000000;font-family: Calibri"> </span></p>
<ul>
<li><span style="color: #000000;font-family: Calibri">4 node cluster</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">Intel S2600WT Platform</span></li>
<li><span style="color: #000000;font-family: Calibri">2x E5-2699v4 CPU (22c44t 2.2Ghz)</span></li>
<li><span style="color: #000000;font-family: Calibri">128GiB DDR4 DRAM</span></li>
<li><span style="color: #000000;font-family: Calibri">4x Intel P3700 NVMe per node</span></li>
<li><span style="color: #000000;font-family: Calibri">Mellanox CX3 Pro 40Gb, dual port connected, RoCE v2</span></li>
<li><span style="color: #000000;font-family: Calibri">C States disabled, OS High Performance, BIOS Performance Plan, Turbo/HT on</span></li>
</ul>
</li>
<li><span style="color: #000000;font-family: Calibri">Software configuration</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">Windows Server 2016 with January roll-up package</span></li>
<li><span style="color: #000000;font-family: Calibri">No cache drive configuration</span></li>
<li><span style="color: #000000;font-family: Calibri">3-copy mirror volume</span></li>
</ul>
</li>
</ul>
<p><span style="color: #000000;font-family: Calibri"> </span><span style="color: #000000;font-family: Calibri">We are by no means driving this system hard, which is on purpose since we want to show the delta between RDMA and non-RDMA under a reasonable workload and not at the edge of what the system can do.</span></p>
<table width="887">
<tbody>
<tr>
<td width="196"><strong>Metric</strong></td>
<td width="156">
<p style="text-align: center"><strong>RDMA</strong></p>
</td>
<td width="140">
<p style="text-align: center"><strong>TCP/IP</strong></p>
</td>
<td width="146">
<p style="text-align: center"><strong>RDMA advantage</strong></p>
</td>
</tr>
<tr>
<td width="196">IOPS</td>
<td width="156">
<p style="text-align: center">185,500</p>
</td>
<td width="140">
<p style="text-align: center">145,500</p>
</td>
<td width="146">
<p style="text-align: center">40,000 additional IOPS with the same workload.</p>
</td>
</tr>
<tr>
<td width="196">IOPS/%kernel CPU</td>
<td width="156">
<p style="text-align: center">16,300</p>
</td>
<td width="140">
<p style="text-align: center">12,800</p>
</td>
<td width="146">
<p style="text-align: center">3,500 additional IOPS per percent CPU consumed.</p>
</td>
</tr>
<tr>
<td width="196">90th percentile write latency</td>
<td width="156">
<p style="text-align: center">250µs</p>
</td>
<td width="140">
<p style="text-align: center">390µs</p>
</td>
<td width="146">
<p style="text-align: center">140µs (~36%)</p>
</td>
</tr>
<tr>
<td width="196">90th percentile read latency</td>
<td width="156">
<p style="text-align: center">260µs</p>
</td>
<td width="140">
<p style="text-align: center">360µs</p>
</td>
<td width="146">
<p style="text-align: center">100µs (28%)</p>
</td>
</tr>
</tbody>
</table>
<p><span style="color: #000000;font-family: Calibri">I think there are two key take-away’s from this data:</span><span style="color: #000000;font-family: Calibri"> </span></p>
<ol>
<li><span style="color: #000000;font-family: Calibri">Use RDMA if you want the absolute best performance. RDMA significantly boosts performance. In this test, it shows 28% more IOPS. This is realized by the reduced IO latency provided by RDMA. It also shows that RDMA is more CPU efficient (27%), leaving CPU to run more VMs.</span></li>
<li><span style="color: #000000;font-family: Calibri">TCP/IP is no slouch, and absolutely a viable deployment option. While not quite as fast and efficient as RDMA, TCP/IP provides solid performance and is well suited for organizations without the expertise needed for RDMA. </span></li>
</ol>
<p><span style="color: #000000;font-family: Calibri">Let me know what you think.</span></p>
<p><span style="color: #000000;font-family: Calibri">Until next time</span></p>
<p><span style="color: #000000;font-family: Calibri">Claus</span></p>
<p> </p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/03/27/to-rdma-or-not-to-rdma-that-is-the-question/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Storage Spaces Direct with Intel® Optane™ SSD DC P4800X</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/03/19/storage-spaces-direct-with-intel-optane-ssd-dc-p4800x/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/03/19/storage-spaces-direct-with-intel-optane-ssd-dc-p4800x/#respond</comments>
<pubDate>Sun, 19 Mar 2017 17:00:27 +0000</pubDate>
<dc:creator><![CDATA[clausjor]]></dc:creator>
<category><![CDATA[SDS]]></category>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Uncategorized]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[Storage Spaces Direct]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7865</guid>
<description><![CDATA[Hello, Claus here again. Today Intel is announcing the Intel Optane SSD DC P4800X device family, and of course Windows Server 2016 Storage Spaces Direct will support this device. The P4800X device promises better latency and better endurance, so we took these devices for a spin in a Storage Spaces Direct configuration, comparing them to the... <a aria-label="read more about Storage Spaces Direct with Intel® Optane™ SSD DC P4800X" href="https://blogs.technet.microsoft.com/filecab/2017/03/19/storage-spaces-direct-with-intel-optane-ssd-dc-p4800x/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hello, Claus here again. Today Intel is announcing the Intel Optane SSD DC P4800X device family, and of course Windows Server 2016 Storage Spaces Direct will support this device. The P4800X device promises better latency and better endurance, so we took these devices for a spin in a Storage Spaces Direct configuration, comparing them to the P3700 devices:</p>
<ul>
<li><span style="color: #000000;font-family: Calibri">Hardware Platform</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">4 Intel® Server Systems S2600WT</span></li>
<li><span style="color: #000000;font-family: Calibri">2x Intel® Xeon® E5-2699 v4 @ 2.2 GHz (22c44t)</span></li>
<li><span style="color: #000000;font-family: Calibri">128 GB Memory</span></li>
<li><span style="color: #000000;font-family: Calibri">Mellanox ConnectX®-3 Pro 40GbE</span></li>
</ul>
</li>
<li><span style="color: #000000;font-family: Calibri">Storage config #1</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">4x 800GB Intel® P3700 NVMe SSD</span></li>
<li><span style="color: #000000;font-family: Calibri">20x 1.2TB Intel® S3610 SATA SSD</span><span style="color: #000000;font-family: Calibri"></span></li>
</ul>
</li>
<li><span style="color: #000000;font-family: Calibri">Storage config #2</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">2x 375GB Intel® P4800X NVMe SSD</span></li>
<li><span style="color: #000000;font-family: Calibri">20x 1.2TB Intel® S3610 SATA SSD</span></li>
</ul>
</li>
</ul>
<p><span style="color: #000000;font-family: Calibri">Notice that we have half the devices and a quarter the capacity for the Intel™ Optane™ P4800X device. </span><span style="color: #000000;font-family: Calibri">The software and workload configuration were:</span></p>
<ul>
<li><span style="color: #000000;font-family: Calibri"> </span><span style="color: #000000;font-family: Calibri">Software configuration</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">Single pool</span></li>
<li><span style="color: #000000;font-family: Calibri">4x 2TB 3-copy mirror volume</span></li>
<li><span style="color: #000000;font-family: Calibri">ReFS/CSVFS file system</span></li>
<li><span style="color: #000000;font-family: Calibri">176 VM (44 VMs per server)</span></li>
<li><span style="color: #000000;font-family: Calibri">1 virtual core and 1.75 GB RAM</span></li>
</ul>
</li>
<li><span style="color: #000000;font-family: Calibri">Workload configuration</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">DISKSPD workload generator</span></li>
<li><span style="color: #000000;font-family: Calibri">VMFleet workload orchestrator</span></li>
<li><span style="color: #000000;font-family: Calibri">Each VM with</span>
<ul>
<li><span style="color: #000000;font-family: Calibri">4K IO size</span></li>
<li><span style="color: #000000;font-family: Calibri">10GB working set</span></li>
<li><span style="color: #000000;font-family: Calibri">90% read and 10% write mix</span></li>
<li><span style="color: #000000;font-family: Calibri">Storage QoS used to control IOPS / VM</span></li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span style="color: #000000;font-family: Calibri">The test results are captured in the diagram below:</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2017/03/OptaneResults.png"><img width="752" height="452" class="aligncenter size-full wp-image-7875" alt="optaneresults" src="https://msdnshared.blob.core.windows.net/media/2017/03/OptaneResults.png" /></a></p>
<p> </p>
<p><span style="color: #000000;font-family: Calibri">The first observation is that we see a 90µs latency improvement across the board from low IOPS to high IOPS. This pretty much aligns with the latency improvements in the device itself, and notice how the improvement is realized at the top of the storage stack in a fully resilient storage configuration. This means that customers can realize the latency improvements provided by the P4800X device in their Storage Spaces Direct deployments.</span></p>
<p><span style="color: #000000;font-family: Calibri">The second observation is that we see the same CPU utilization at 880K IOPS (throttled by Storage QoS), with 258µs latency on the P4800X devices vs 344µs latency on the P3700 devices, meaning that Storage Spaces Direct customers can realize the latency improvements without any additional CPU consumption.</span></p>
<p><span style="color: #000000;font-family: Calibri">Let me know what you think.</span></p>
<p><span style="color: #000000;font-family: Calibri">Until next time</span></p>
<p><span style="color: #000000;font-family: Calibri">Claus</span></p>
<p> </p>
<p> </p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/03/19/storage-spaces-direct-with-intel-optane-ssd-dc-p4800x/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Survey: File Server Sizing</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/03/15/survey-file-server-usage/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/03/15/survey-file-server-usage/#respond</comments>
<pubDate>Wed, 15 Mar 2017 17:35:46 +0000</pubDate>
<dc:creator><![CDATA[Will Gries]]></dc:creator>
<category><![CDATA[Survey]]></category>
<category><![CDATA[Windows Server 2008 R2]]></category>
<category><![CDATA[Windows Server 2012]]></category>
<category><![CDATA[Windows Server 2012 R2]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7876</guid>
<description><![CDATA[Hi folks, To prioritize and plan for investments in vNext experiences for Windows Server, we could use input from you! We would like to understand more about how you are utilizing Windows File Server, especially as it relates to the size of your datasets. This survey should take approximately 2-5 minutes to complete. We appreciate... <a aria-label="read more about Survey: File Server Sizing" href="https://blogs.technet.microsoft.com/filecab/2017/03/15/survey-file-server-usage/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hi folks,</p>
<p>To prioritize and plan for investments in vNext experiences for Windows Server, we could use input from you! We would like to understand more about how you are utilizing Windows File Server, especially as it relates to the size of your datasets. This survey should take approximately 2-5 minutes to complete. We appreciate your feedback!</p>
<p><a href="https://www.surveymonkey.com/r/6C3CD3Y" style="font-weight:bold;font-size:30px;color:blue;text-decoration:underline">Click here to take our survey!</a></p>
<p>Thanks,</p>
<p>The Windows Server Storage Team</p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/03/15/survey-file-server-usage/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Storage Spaces Direct throughput with iWARP</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/03/13/storage-spaces-direct-throughput-with-iwarp/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/03/13/storage-spaces-direct-throughput-with-iwarp/#comments</comments>
<pubDate>Mon, 13 Mar 2017 17:02:52 +0000</pubDate>
<dc:creator><![CDATA[clausjor]]></dc:creator>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[failover clustering]]></category>
<category><![CDATA[S2D]]></category>
<category><![CDATA[Storage Spaces Direct]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7835</guid>
<description><![CDATA[Hello, Claus here again. It has been a while since I last posted here and a few things have changed since last time. Windows Server has been moved into the Windows and Devices Group, we have moved to a new building with a better café, but a worse view . On a personal note, I... <a aria-label="read more about Storage Spaces Direct throughput with iWARP" href="https://blogs.technet.microsoft.com/filecab/2017/03/13/storage-spaces-direct-throughput-with-iwarp/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hello, Claus here again. It has been a while since I last posted here and a few things have changed since last time. Windows Server has been moved into the Windows and Devices Group, we have moved to a new building with a better café, but a worse view <img src="https://s.w.org/images/core/emoji/2/72x72/1f60a.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" />. On a personal note, I can be seen waddling the hallways as I have had foot surgery.</p>
<p>At Microsoft Ignite 2016 I did a demo at the 28-minute mark as part of the <a href="https://myignite.microsoft.com/videos/3199">Meet Windows Server 2016 and System Center 2016</a> session. I showed how Storage Spaces Direct can deliver massive amounts of IOPS to many virtual machines with various storage QoS settings. I encourage you to watch it, if you haven’t already, or go watch it again <img src="https://s.w.org/images/core/emoji/2/72x72/1f60a.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" />. In the demo, we used a 16-node cluster connected over iWARP using the 40GbE Chelsio iWARP T580CR adapters, showing 6M+ read IOPS. Since then, Chelsio has released their 100GbE T6 NIC adapter, and we wanted to take a peek at what kind of network throughput would be possible with this new adapter.</p>
<p>We used the following hardware configuration:</p>
<ul>
<li>4 nodes of Dell R730xd
<ul>
<li>2x E5-2660v3 2.6Ghz 10c/20t</li>
<li>256GiB DDR4 2133Mhz (16 16GiB DIMM)</li>
<li>2x Chelsio T6 100Gb NIC (PCIe 3.0 x16), single port connected/each, QSFP28 passive copper cabling</li>
<li>Performance Power Plan</li>
<li>Storage:
<ul>
<li>4x 3.2TB NVME Samsung PM1725 (PCIe 3.0 x8)</li>
<li>4x SSD + 12x HDD (not in use: all load from Samsung PM1725)</li>
</ul>
</li>
<li>Windows Server 2016 + Storage Spaces Direct
<ul>
<li>Cache: Samsung PM1725</li>
<li>Capacity: SSD + HDD (not in use: all load from cache)</li>
<li>4x 2TB 3-way mirrored virtual disks, one per cluster node</li>
<li>20 Azure A1-sized VMs (1 VCPU, 1.75GiB RAM) per node</li>
<li>OS High Performance Power Plan</li>
</ul>
</li>
<li>Load:
<ul>
<li>DISKSPD workload generator</li>
<li>VM Fleet workload orchestrator</li>
<li>80 virtual machines with 16GiB file in VHDX</li>
<li>512KiB 100% random read at a queue depth of 3 per VM</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>We did not configure DCB (PFC) in our deployment, since it is not required in iWARP configurations.</p>
<p>Below is a screenshot from the VMFleet Watch-Cluster window, which reports IOPS, bandwidth and latency.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2017/03/iWARp-throughput-results.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/03/iWARp-throughput-results-1024x164.png" alt="iwarp-throughput-results" width="879" height="141" class="aligncenter size-large wp-image-7845" /></a></p>
<p>As you can see the aggregated bandwidth exceeded 83GB/s, which is very impressive. Each VM realized more than 1GB/s of throughput, and notice the average read latency is <1.5ms.</p>
<p>Let me know what you think.</p>
<p>Until next time</p>
<p><a href="https://twitter.com/ClausJor">@ClausJor</a></p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/03/13/storage-spaces-direct-throughput-with-iwarp/feed/</wfw:commentRss>
<slash:comments>3</slash:comments>
</item>
<item>
<title>Work Folders for iOS can now upload files!</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/02/13/7735/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/02/13/7735/#comments</comments>
<pubDate>Tue, 14 Feb 2017 01:37:54 +0000</pubDate>
<dc:creator><![CDATA[Fabian Uhse]]></dc:creator>
<category><![CDATA[Information Worker]]></category>
<category><![CDATA[SMB]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[Work Folders]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7735</guid>
<description><![CDATA[Work Folders for iOS can now upload files! We are happy to announce, that we’ve just released an update to the Work Folders app on iOS that now allows anyone to upload pictures and documents from other apps, take pictures or even write a simple note – right from within the Work Folders App. We... <a aria-label="read more about Work Folders for iOS can now upload files!" href="https://blogs.technet.microsoft.com/filecab/2017/02/13/7735/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<h1><strong>Work Folders for iOS can now upload files!</strong></h1>
<p>We are happy to announce, that we’ve just released an update to the Work Folders app on iOS that now allows anyone to upload pictures and documents from other apps, take pictures or even write a simple note – right from within the Work Folders App.<br />
We also released a version with this <a href="https://blogs.technet.microsoft.com/filecab/2016/11/08/work-folders-for-android-can-now-upload-files/">feature set for Android</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2017/02/Whats_new_350-and-drop-shadow.png"><img width="400" height="672" class="aligncenter size-full wp-image-7795" alt="What's new: Take pictures and notes and upload documents" src="https://msdnshared.blob.core.windows.net/media/2017/02/Whats_new_350-and-drop-shadow.png" /></a><a href="https://msdnshared.blob.core.windows.net/media/2017/02/Whats_new_400.png"></a></p>
<h2>Overview</h2>
<p>Work Folders is a Windows Server feature since 2012 R2 that enables individual employees to access their files securely from inside and outside the corporate environment. The Work Folders app connects to the server and enables file access on your iOS phone and tablet. Work Folders enables this while allowing the organization’s IT department to fully secure that data.</p>
<h2>What’s New</h2>
<p>Using the latest version of Work Folders for iOS, users can now:</p>
<ul>
<li>Sync files that were created or edited on their device</li>
<li>Take pictures and write notes within the Work Folders application</li>
</ul>
<p>For the complete list of Work Folders for iOS features, please reference the feature list section below.</p>
<p> </p>
<p><span style="color: #000000;font-family: Calibri"><a href="https://msdnshared.blob.core.windows.net/media/2017/02/iOSAddMenu.png"><img width="400" height="673" class="aligncenter size-full wp-image-7825" alt="iosaddmenu" src="https://msdnshared.blob.core.windows.net/media/2017/02/iOSAddMenu.png" /></a></span></p>
<p> </p>
<h2>Work Folders for iOS – Feature List</h2>
<ul>
<li>Sync files that were created or edited on your device</li>
<li>Take pictures and write notes within the Work Folders app</li>
<li>Pin files for offline viewing – saves storage space by showing all available files but locally storing and keeping in sync only the files you care about.</li>
<li>Files are always encrypted – on the wire and at rest on the device.</li>
<li>Access to the app is protected by an app passcode – keeping others out even if the device is left unlocked and unattended.</li>
<li>Allows for DIGEST and Active Directory Federation Services (ADFS) authentication mechanisms including multi factor authentication.</li>
<li>Search for files and folders</li>
<li>Open files in other apps that might be specialized to work with a certain file type</li>
<li>Integration with Microsoft Intune</li>
</ul>
<h2>Saving your office files into the Work Folders app</h2>
<p>Microsoft Office files are read-only when opening the files from the Work Folders app.</p>
<ul>
<li>Inside any of the office apps, tap “Duplicate” to store the file locally on your iOS device.</li>
<li>Make your changes and save the file.</li>
<li>Follow the steps below to sync any office file with your Work Folders app:</li>
</ul>
<p> </p>
<p><div style="width: 879px; " class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->
<video class="wp-video-shortcode" id="video-7735-1" width="879" height="495" preload="metadata" controls="controls"><source type="video/mp4" src="https://msdnshared.blob.core.windows.net/media/2017/02/Work_Folders_Office_demo.mp4?_=1" /><a href="https://msdnshared.blob.core.windows.net/media/2017/02/Work_Folders_Office_demo.mp4">https://msdnshared.blob.core.windows.net/media/2017/02/Work_Folders_Office_demo.mp4</a></video></div></p>
<p> </p>
<h2></h2>
<h3><span>Blogs and Links</span></h3>
<p><span> If you’re interested in learning more about Work Folders, here are some great resources:</span></p>
<ul>
<li><span>Work Folders</span> <a href="https://blogs.technet.microsoft.com/filecab/tag/work-folders/"><span style="color: #0072c6">blogs</span></a> <span>on Server Storage blog</span></li>
<li><span>Nir Ben Zvi</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/09/introducing-work-folders-on-windows-server-2012-r2.aspx"><span style="color: #0072c6">introduced Work Folders on Windows Server 2012 R2</span></a></li>
<li><a href="http://windows.microsoft.com/en-us/windows/work-folders-ipad-faq"><span style="color: #0072c6">Work Folders for iOS help</span></a></li>
<li><span>Work Folders for Windows 7 SP1: Check out this</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/04/24/work-folders-for-windows-7.aspx"><span style="color: #0072c6">post by Jian Yan</span></a> <span>on the Server Storage blog</span></li>
<li><span>Roiy Zysman posted</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/03/06/windows-server-work-folders-resources-list.aspx"><span style="color: #0072c6">a great list of Work Folders resources in this blog</span></a>.</li>
<li><span>See this</span> <a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2014/02/26/q-amp-a-with-fabian-uhse-program-manager-for-work-folders-in-windows-server-2012-r2.aspx"><span style="color: #0072c6">Q&A With Fabian Uhse, Program Manager for Work Folders</span></a><span> in Windows Server 2012 R2</span></li>
<li><span>Also, check out these posts about</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/10/work-folders-test-lab-deployment.aspx"><span style="color: #0072c6">how to setup a Work Folders test lab</span></a>, <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/08/09/work-folders-certificate-management.aspx"><span style="color: #0072c6">certificate management</span></a>,<br />
<span>and</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/06/work-folders-on-clusters.aspx"><span style="color: #0072c6">tips on running Work Folders on Windows Failover Clusters</span></a>.</li>
<li><span>Using Work Folders with</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx"><span style="color: #0072c6">IIS websites or the Windows Server Essentials Role (Resolving Port Conflicts)</span></a></li>
</ul>
<h3><span> </span><span>Introduction and Getting Started</span></h3>
<ul>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/09/introducing-work-folders-on-windows-server-2012-r2.aspx"><span style="color: #0072c6">Introducing Work Folders on Windows Server 2012 R2</span></a></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn265974.aspx"><span style="color: #0072c6">Work Folders Overview</span></a> <span>on TechNet</span></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn479242.aspx"><span style="color: #0072c6">Designing a Work Folders Implementation</span></a> <span>on TechNet</span></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn528861.aspx"><span style="color: #0072c6">Deploying Work Folders</span></a> <span>on TechNet</span></li>
<li><a href="http://windows.microsoft.com/en-us/windows-8/work-folders-faq"><span style="color: #0072c6">Work folders FAQ (Targeted for Work Folders end users)</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2014/02/26/q-amp-a-with-fabian-uhse-program-manager-for-work-folders-in-windows-server-2012-r2.aspx"><span style="color: #0072c6">Work Folders Q&A</span></a></li>
<li><a href="http://technet.microsoft.com/library/dn296644.aspx"><span style="color: #0072c6">Work Folders Powershell Cmdlets</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/10/work-folders-test-lab-deployment.aspx"><span style="color: #0072c6">Work Folders Test Lab Deployment</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2013/10/09/windows-storage-server-2012-r2-work-folders.aspx"><span style="color: #0072c6">Windows Storage Server 2012 R2 — Work Folders</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/04/24/work-folders-for-windows-7.aspx"><span style="color: #0072c6">Work Folders for Windows 7</span></a></li>
</ul>
<h3><span>Advanced Work Folders Deployment and Management</span></h3>
<ul>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/02/24/work-folders-interoperability-with-other-file-server-technologies.aspx"><span style="color: #0072c6">Work Folders interoperability with other file server technologies</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/01/performance-considerations-for-large-scale-work-folders-deployments.aspx"><span style="color: #0072c6">Performance Considerations for Work Folders Deployments</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx"><span style="color: #0072c6">Windows Server 2012 R2 – Resolving Port Conflict with IIS Websites and Work Folders</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/09/a-new-user-attribute-for-work-folders-server-url.aspx"><span style="color: #0072c6">A new user attribute for Work Folders server Url</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/08/09/work-folders-certificate-management.aspx"><span style="color: #0072c6">Work Folders Certificate Management</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/06/work-folders-on-clusters.aspx"><span style="color: #0072c6">Work Folders on Clusters</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/monitoring-windows-server-2012-r2-work-folders-deployments.aspx"><span style="color: #0072c6">Monitoring Windows Server 2012 R2 Work Folders Deployments.</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/03/03/deploying-work-folders-with-ad-fs-and-web-application-proxy-wap.aspx"><span style="color: #0072c6">Deploying Work Folders with AD FS and Web Application Proxy (WAP)</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/02/28/deploying-windows-server-2012-r2-work-folders-in-a-virtual-machine-in-windows-azure.aspx"><span style="color: #0072c6">Deploying Windows Server 2012 R2 Work Folders in a Virtual Machine in Windows Azure</span></a></li>
<li><a href="https://blogs.technet.microsoft.com/filecab/2016/08/12/offline-files-csc-to-work-folders-migration-guide/"><span style="color: #0072c6">Offline Files (CSC) to Work Folders Migration Guide</span></a></li>
<li><a href="https://www.microsoft.com/en-us/cloud-platform/microsoft-intune-apps"><span style="color: #0072c6">Management with Microsoft Intune</span></a></li>
</ul>
<h3><span>Videos</span></h3>
<ul>
<li><a href="https://channel9.msdn.com/Events/TechEd/Europe/2013/WCA-B214#fbid="><span style="color: #0072c6">Windows Server Work Folders Overview: My Corporate Data on All of My Devices</span></a></li>
<li><a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WCA-B332#fbid="><span style="color: #0072c6">Windows Server Work Folders – a Deep Dive into the New Windows Server Data Sync Solution</span></a></li>
<li><a href="https://channel9.msdn.com/Shows/Edge/Edge-Show-65-Windows-Server-2012-R2-Work-Folders"><span style="color: #0072c6">Work Folders on Channel 9</span></a></li>
<li><a href="https://channel9.msdn.com/Shows/news/iPad-Workfolder-App"><span style="color: #0072c6">Work Folders iPad reveal – TechEd Europe 2014</span></a> <span>(in German)</span></li>
<li><a href="https://channel9.msdn.com/Shows/Edge/Edge-Show-140-WorkFolders-for-iPad--exclusive-first-look-at-iPhone" title="Work Folders on the "Edge Show""><span style="color: #0072c6">Work Folders on the “Edge Show”</span></a> <span>(iPad + iPhone video, English)</span></li>
<li><a href="https://channel9.msdn.com/Blogs/malte_lantin/A-first-look-at-Work-Folders-for-Android-with-Program-Manager-Fabian-Uhse"><span style="color: #0072c6">Work Folders for Android on Channel 9</span></a></li>
</ul>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/02/13/7735/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
<enclosure url="https://msdnshared.blob.core.windows.net/media/2017/02/Work_Folders_Office_demo.mp4" length="8820914" type="video/mp4" />
</item>
<item>
<title>Windows Server 2016 Data Deduplication users: please install KB4013429!</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/01/30/windows-server-2016-data-deduplication-users-please-install-kb3216755/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/01/30/windows-server-2016-data-deduplication-users-please-install-kb3216755/#comments</comments>
<pubDate>Tue, 31 Jan 2017 03:35:40 +0000</pubDate>
<dc:creator><![CDATA[Will Gries]]></dc:creator>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[Data Deduplication]]></category>
<category><![CDATA[Dedup]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7715</guid>
<description><![CDATA[Hi folks! Based on several customer bug reports, we have issued a critical fix for Data Deduplication in Windows Server 2016 in the most recent Windows update package, KB4013429. This patch fixes an issue where corruptions may appear in files larger than 2.2 TB. While we always recommend keeping your system up-to-date, based on the... <a aria-label="read more about Windows Server 2016 Data Deduplication users: please install KB4013429!" href="https://blogs.technet.microsoft.com/filecab/2017/01/30/windows-server-2016-data-deduplication-users-please-install-kb3216755/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hi folks!</p>
<p>Based on several customer bug reports, we have issued a critical fix for Data Deduplication in Windows Server 2016 in the most recent Windows update package, <a href="https://support.microsoft.com/kb/4013429">KB4013429</a>. This patch fixes an issue where corruptions may appear in files larger than 2.2 TB. While we always recommend keeping your system up-to-date, based on the severity of any data corruption, we strongly recommend that everyone who is using Data Deduplication on Windows Server 2016 take this update! </p>
<p>Long-time users of Dedup on will note that we only officially support files with <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/data-deduplication/whats-new#large-file-support">size up to 1 TB</a>. While this is true, this is a “soft” support statement – we take your data integrity extremely seriously, and therefore will always address reported data corruptions. Our current defined support statement of 1 TB was chosen for two reasons: 1) for files larger than 1 TB, performance isn’t quite ‘up to snuff’ with our expectations, and 2) dynamic workloads with lots of writes may reach NTFS’ file fragmentation limits, causing the file to become read-only until the next optimization. In short, our 1 TB support statement is about preserving a high quality experience for you. Your mileage may vary… in particular, many users have reported to us that backup workloads that use VHDs or VHD-like container files sized over 1 TB work extremely well with Dedup. This is because backup workloads are typically append-only workloads. We do however recommend that you make use of the new <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/data-deduplication/understand#usage-type-backup">Backup usage type</a> in Windows Server 2016 to ensure the best performance with backup workloads.</p>
<p>Finally, I would just like to thank the three users who reached out to us with this issue and helped us validate the pre-release patch: thank you! We always love to hear from you, our customers, so please feel free to reach out to us with your questions, comments, or concerns anytime: <a href="mailto:dedupfeedback@microsoft.com">dedupfeedback@microsoft.com</a>!</p>
<h3>Post history – see Update 4</h3>
<p><span style="font-weight:bold">Update 1</span><br />
Several folks have asked why KB3216755 is only available in the Windows 10 catalog and not in the Windows Server 2016 catalog. While this does not affect the ability to apply this patch to your Windows Server 2016 deployments, the reason why this patch does not appear in the Windows Server 2016 catalog is important for Windows Server 2016 users to understand. According to our Windows Servicing group, all fixes for Windows 10 and for Windows Server 2016 are “flighted” before release. KB3216755 is a “Windows Insider Preview” patch, meaning it will only be required for folks in the “Windows Insider Preview” program. Since there is no equivalent to the “Windows Insider Preview” program for Windows Server, this patch was only released for Windows 10. Again, this patch can be applied to Windows Server 2016.</p>
<p><span style="font-weight:bold">Update 2</span><br />
We have heard from a Partner that KB3216755 contains a regression in System.Data.dll that is unrelated to Data Deduplication. The System.Data.dll regression may cause unmanaged memory leaks when issuing queries against a SQL Server. The relevant product and servicing teams at Microsoft are engaged with this issue and working towards a resolution. In the meantime, folks who are using System.Data.dll on Windows Server 2016 directly or through installed software should delay installing this patch until a workaround or fix is released.</p>
<p><span style="font-weight:bold">Update 3</span><br />
<del>The regression in System.Data.dll will be addressed with KB3217574, which will be released 2017-02-14. It is recommended that everyone who has deployed KB3216755 take KB3217574!</del></p>
<p><span style="font-weight:bold">Update 4</span><br />
The regression in System.Data.dll has been fixed with <a href="https://support.microsoft.com/en-us/help/4013429/windows-10-update-kb4013429">KB4013429</a> (released 2017-03-14). It is recommended that everyone who has deployed KB3216755 take KB4013429! As such, the title of this post and body has been updated with the new KB information.</p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/01/30/windows-server-2016-data-deduplication-users-please-install-kb3216755/feed/</wfw:commentRss>
<slash:comments>28</slash:comments>
</item>
<item>
<title>Cluster size recommendations for ReFS and NTFS</title>
<link>https://blogs.technet.microsoft.com/filecab/2017/01/13/cluster-size-recommendations-for-refs-and-ntfs/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2017/01/13/cluster-size-recommendations-for-refs-and-ntfs/#comments</comments>
<pubDate>Fri, 13 Jan 2017 20:05:33 +0000</pubDate>
<dc:creator><![CDATA[Garrett Watumull]]></dc:creator>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[NTFS]]></category>
<category><![CDATA[ReFS]]></category>
<category><![CDATA[Storage]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7695</guid>
<description><![CDATA[Microsoft’s file systems organize storage devices based on cluster size. Also known as the allocation unit size, cluster size represents the smallest amount of disk space that can be allocated to hold a file. Because ReFS and NTFS don’t reference files at a byte granularity, the cluster size is the smallest unit of size that... <a aria-label="read more about Cluster size recommendations for ReFS and NTFS" href="https://blogs.technet.microsoft.com/filecab/2017/01/13/cluster-size-recommendations-for-refs-and-ntfs/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p><span>Microsoft’s file systems organize storage devices based on cluster size. Also known as the allocation unit size, cluster size represents the smallest amount of disk space that can be allocated to hold a file. Because ReFS and NTFS don’t reference files at a byte granularity, the cluster size is the smallest unit of size that each file system can reference when accessing storage. Both ReFS and NTFS support multiple cluster sizes, as different sized clusters can offer different performance benefits, depending on the deployment.</span></p>
<p><span>In the past couple weeks, we’ve seen some confusion regarding the recommended cluster sizes for ReFS and NTFS, so this blog will hopefully disambiguate previous recommendations while helping to provide the reasoning behind why some cluster sizes are recommended for certain scenarios.</span></p>
<p><b><span>IO amplification</span></b></p>
<p><span>Before jumping into cluster size recommendations, it’ll be important to understand what IO amplification is and why minimizing IO amplification is important when choosing cluster sizes:</span></p>
<ul>
<li><span>IO amplification refers to the broad set of circumstances where one IO operation triggers other, unintentional IO operations. Though it may appear that only one IO operation occurred, in reality, the file system had to perform multiple IO operations to successfully service the initial IO. This phenomenon can be especially costly when considering the various optimizations that the file system can no longer make:</span>
<ul>
<li><span>When performing a write, the file system could perform this write in memory and flush this write to physical storage when appropriate. This helps dramatically accelerate write operations by avoiding accessing slow, non-volatile media before completing every write.</span></li>
<li><span>Certain writes, however, could force the file system to perform additional IO operations, such as reading in data that is already written to a storage device. Reading data from a storage device significantly delays the completion of the original write, as the file system must wait until the appropriate data is retrieved from storage before making the write.</span></li>
</ul>
</li>
</ul>
<p><b><span>ReFS cluster sizes</span></b></p>
<p><span>ReFS offers both 4K and 64K clusters. 4K is the default cluster size for ReFS, and <i>we recommend using 4K cluster sizes for most ReFS deployments </i>because it helps reduce costly IO amplification:</span></p>
<ul>
<li><span>In general, if the cluster size exceeds the size of the IO, certain workflows can trigger unintended IOs to occur. Consider the following scenarios where a ReFS volume is formatted with 64K clusters:</span>
<ul>
<li><span>Consider a <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/refs/refs-overview#performance"><span style="color: #0000ff;font-family: Calibri">tiered volume</span></a>. If a 4K write is made to a range currently in the capacity tier, ReFS must read the entire cluster from the capacity tier into the performance tier <i>before making the write</i>. Because the cluster size is the smallest granularity that the file system can use, ReFS must read the entire cluster, which includes an unmodified 60K region, to be able to complete the 4K write.</span></li>
<li><span>If a cluster is shared by multiple regions after a <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/refs/block-cloning"><span style="color: #0000ff;font-family: Calibri">block cloning</span></a> operation occurs, ReFS must copy the entire cluster to maintain isolation between the two regions. So if a 4K write is made to this shared cluster, ReFS must copy the unmodified 60K cluster before making the write. </span></li>
<li><span>Consider a deployment that enables <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/refs/integrity-streams"><span style="color: #0000ff;font-family: Calibri">integrity streams</span></a>. A sub-cluster granularity write will cause the entire cluster to be re-allocated and re-written, and the new checksum must be computed. This represents additional IO that ReFS must perform before completing the new write, which introduces a larger latency factor to the IO operation. </span></li>
</ul>
</li>
<li><span>By choosing 4K clusters instead of 64K clusters, one can reduce the number of IOs that occur that are smaller than the cluster size, preventing costly IO amplifications from occurring as frequently. </span></li>
</ul>
<p><span>Additionally, 4K cluster sizes offer greater compatibility with Hyper-V IO granularity, so we strongly recommend using 4K cluster sizes with Hyper-V on ReFS. 64K clusters are applicable when working with large, sequential IO, but otherwise, 4K should be the default cluster size.</span></p>
<p><b><span>NTFS cluster sizes</span></b></p>
<p><span>NTFS offers cluster sizes from 512 to 64K, but in general, we recommend a 4K cluster size on NTFS, as 4K clusters help minimize wasted space when storing small files. We also strongly discourage the usage of cluster sizes smaller than 4K. There are two cases, however, where 64K clusters could be appropriate:</span></p>
<ul>
<li><span>4K clusters limit the maximum volume and file size to be 16TB</span>
<ul>
<li><span>64K cluster sizes can offer increased volume and file capacity, which is relevant if you’re are hosting a large deployment on your NTFS volume, such as hosting VHDs or a SQL deployment.</span></li>
</ul>
</li>
<li><span>NTFS has a fragmentation limit, and larger cluster sizes can help reduce the likelihood of reaching this limit</span>
<ul>
<li><span>Because NTFS is backward compatible, it must use internal structures that weren’t optimized for modern storage demands. Thus, the metadata in NTFS prevents any file from having more than ~1.5 million extents.</span>
<ul>
<li><span>One can, however, use the “format /L” option to increase the fragmentation limit to ~6 million. Read more <a href="https://support.microsoft.com/en-us/kb/967351"><span style="color: #0000ff;font-family: Calibri">here</span></a>. </span></li>
</ul>
</li>
<li><span>64K cluster deployments are less susceptible to this fragmentation limit, so 64K clusters are a better option if the NTFS fragmentation limit is an issue. (Data deduplication, sparse files, and SQL deployments can cause a high degree of fragmentation.)</span>
<ul>
<li><span>Unfortunately, NTFS compression only works with 4K clusters, so using 64K clusters isn’t suitable when using NTFS compression. Consider increasing the fragmentation limit instead, as described in the previous bullets.</span></li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span>While a 4K cluster size is the default setting for NTFS, there are many scenarios where 64K cluster sizes make sense, such as: Hyper-V, SQL, deduplication, or when most of the files on a volume are large.</span></p>
<p><span><span style="color: #000000;font-family: Calibri"> </span></span></p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2017/01/13/cluster-size-recommendations-for-refs-and-ntfs/feed/</wfw:commentRss>
<slash:comments>12</slash:comments>
</item>
<item>
<title>Deep Dive: The Storage Pool in Storage Spaces Direct</title>
<link>https://blogs.technet.microsoft.com/filecab/2016/11/21/deep-dive-pool-in-spaces-direct/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2016/11/21/deep-dive-pool-in-spaces-direct/#comments</comments>
<pubDate>Mon, 21 Nov 2016 17:09:43 +0000</pubDate>
<dc:creator><![CDATA[Cosmos Darwin]]></dc:creator>
<category><![CDATA[SDS]]></category>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Windows 10]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[BiggerPoolThanKanye]]></category>
<category><![CDATA[failover clustering]]></category>
<category><![CDATA[S2D]]></category>
<category><![CDATA[Storage Spaces]]></category>
<category><![CDATA[Storage Spaces Direct]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7335</guid>
<description><![CDATA[Hi! I’m Cosmos. Follow me on Twitter @cosmosdarwin. Review The storage pool is the collection of physical drives which form the basis of your software-defined storage. Those familiar with Storage Spaces in Windows Server 2012 or 2012R2 will remember that pools took some managing – you had to create and configure them, and then manage... <a aria-label="read more about Deep Dive: The Storage Pool in Storage Spaces Direct" href="https://blogs.technet.microsoft.com/filecab/2016/11/21/deep-dive-pool-in-spaces-direct/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p>Hi! I’m Cosmos. Follow me on Twitter <a href="https://twitter.com/CosmosDarwin">@cosmosdarwin</a>.</p>
<h3>Review</h3>
<p>The storage pool is the collection of physical drives which form the basis of your software-defined storage. Those familiar with Storage Spaces in Windows Server 2012 or 2012R2 will remember that pools took some managing – you had to create and configure them, and then manage membership by adding or removing drives. Because of scale limitations, most deployments had multiple pools, and because data placement was essentially static (more on this later), you couldn’t really expand them once created.</p>
<p>We’re introducing some exciting improvements in Windows Server 2016.</p>
<h3>What’s new</h3>
<p>With <a href="http://aka.ms/s2d">Storage Spaces Direct</a>, we now support up to 416 drives per pool, the same as our per-cluster maximum, and we strongly recommend you use exactly one pool per cluster. When you enable Storage Spaces Direct (as with the <code>Enable-ClusterS2D</code> cmdlet), this pool is automatically created and configured with the best possible settings for your deployment. Eligible drives are automatically discovered and added to the pool and, if you scale out, any new drives are added to the pool too, and data is moved around to make use of them. When drives fail they are automatically retired and removed from the pool. In fact, you really don’t need to manage the pool at all anymore except to keep an eye on its available capacity.</p>
<p>Nonetheless, understanding how the pool works can help you reason about fault tolerance, scale-out, and more. So if you’re curious, read on!</p>
<p>To help illustrate certain key points, I’ve written a script (open-source, available at the end) which produces this view of the pool’s drives, organized by type, by server (‘node’), and by how much data they’re storing. The fastest drives in each server, listed at the top, are claimed for caching.</p>
<p><div id="attachment_7465" style="width: 774px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Screenshot-1.png" width="764" height="500" class="wp-image-7465 size-full" /><p class="wp-caption-text">The storage pool forms the physical basis of your software-defined storage.</p></div></p>
<h3>The confusion begins: resiliency, slabs, and striping</h3>
<p>Let’s start with three servers forming one Storage Spaces Direct cluster.</p>
<p>Each server has 2 x 800 GB NVMe drives for caching and 4 x 2 TB SATA SSDs for capacity.</p>
<p><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Servers-3-500x278.png" alt="poolsblog-servers-3" width="500" height="278" class="aligncenter size-mediumlarge wp-image-7415" /></p>
<p>We can create our first volume (‘Storage Space’) and choose 1 TiB in size, two-way mirrored. This implies we will maintain <em>two identical copies </em>of everything in that volume, always on different drives in different servers, so that if hardware fails or is taken down for maintenance, we’re sure to still have access to all our data. Consequently, this 1 TiB volume will actually occupy 2 TiB of physical capacity on disk, its so-called ‘footprint’ on the pool.</p>
<p><div id="attachment_7365" style="width: 970px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Gif1.gif" alt="Our 1 TiB two-way mirror volume occupies 2 TiB of physical capacity, its ‘footprint’ on the pool." width="960" height="320" class="size-full wp-image-7365" /><p class="wp-caption-text">Our 1 TiB two-way mirror volume occupies 2 TiB of physical capacity, its ‘footprint’ on the pool.</p></div></p>
<p><strong></strong><em></em>(Storage Spaces offers many <a href="https://technet.microsoft.com/en-us/windows-server-docs/storage/storage-spaces/storage-spaces-fault-tolerance">resiliency types with differing storage efficiency</a>. For simplicity, this blog will show two-way mirroring. The concepts we’ll cover apply regardless which resiliency type you choose, but two-way mirroring is by far the most straightforward to draw and explain. Likewise, although Storage Spaces offers <a href="https://technet.microsoft.com/en-us/windows-server-docs/failover-clustering/fault-domains">chassis and/or rack awareness</a>, this blog will assume the default server-level awareness for simplicity.)</p>
<p>Okay, so we have 2 TiB of data to write to physical media. <strong>But where will these two tebibytes of data actually land? </strong></p>
<p>You might imagine that Spaces just picks any two drives, in different servers, and places the copies <em>in whole </em>on those drives. Alas, no. What if the volume were larger than the drive size? Okay, perhaps it spans <em>several</em> drives in both servers? Closer, but still no.</p>
<p>What actually happens can be surprising if you’ve never seen it before.</p>
<p><div id="attachment_7515" style="width: 970px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Gif2-SV.gif" width="960" height="320" class="wp-image-7515 size-full" alt="Storage Spaces starts by dividing the volume into many 'slabs', each 256 MB in size." /><p class="wp-caption-text">Storage Spaces starts by dividing the volume into many ‘slabs’, each 256 MB in size.</p></div></p>
<p>Storage Spaces starts by dividing the volume into many ‘slabs’, each 256 MB in size. This means our 1 TiB volume has some 4,000 such slabs!</p>
<p>For each slab, two copies are made and placed on different drives in different servers. This decision is made independently for each slab, successively, with an eye toward equilibrating utilization – you can think of it like dealing playing cards into equal piles. This means every single drive in the storage pool will store some copies of some slabs!</p>
<p><div id="attachment_7525" style="width: 970px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Gif3-SV.gif" width="960" height="540" class="wp-image-7525 size-full" /><p class="wp-caption-text">The placement decision is made independently for each slab, like dealing playing cards into equal piles.</p></div></p>
<p><strong></strong>This can be non-obvious, but it has some real consequences you can observe. For one, it means all drives in all servers will gradually “fill up” in lockstep, in 256 MB increments. This is why we rarely pay attention to how full specific drives or servers are – because they’re (almost) always (almost) the same!</p>
<p><strong></strong></p>
<p><div id="attachment_7475" style="width: 774px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Screenshot-2.png" width="764" height="500" class="wp-image-7475 size-full" alt="Slabs of our two-way mirrored volume have landed on every drive in all three servers." /><p class="wp-caption-text">Slabs of our two-way mirrored volume have landed on every drive in all three servers.</p></div></p>
<p>(For the curious reader: the pool keeps a sprawling mapping of which drive has each copy of each slab called the ‘pool metadata’ which can reach up to several gigabytes in size. It is replicated to at least five of the fastest drives in the cluster, and synchronized and repaired with the utmost aggressiveness. To my knowledge, pool metadata loss has <em>never</em> taken down an actual production deployment of Storage Spaces.)</p>
<h3>Why? Can you spell parallelism?</h3>
<p>This may seem complicated, and it is. So why do it? Two reasons.</p>
<h3>Performance, performance, performance!</h3>
<p>First, striping every volume across every drive unlocks truly awesome potential for reads and writes – especially larger sequential ones – to activate many drives in parallel, vastly increasing IOPS and IO throughput. The unrivaled performance of Storage Spaces Direct compared to competing technologies is largely attributable to this fundamental design. (There is more complexity here, with the infamous <em>column count </em>and <em>interleave </em>you may remember from 2012 or 2012R2, but that’s beyond the scope of this blog. Spaces automatically sets appropriate values for these in 2016 anyway.)</p>
<p>(This is also why members of the core Spaces engineering team take some offense if you compare mirroring directly to RAID-1.)</p>
<h3>Improved data safety</h3>
<p>The second is data safety – it’s related, but worth explaining in detail.</p>
<p>In Storage Spaces, when drives fail, their contents are reconstructed elsewhere based on the surviving copy or copies. We call this ‘repairing’, and it happens automatically and immediately in Storage Spaces Direct. If you think about it, repairing must involve two steps – first, reading from the surviving copy; second, writing out a new copy to replace the lost one.</p>
<p>Bear with me for a paragraph, and imagine if we kept <em>whole </em>copies of volumes. (Again, we don’t.) Imagine one drive has every slab of our 1 TiB volume, and another drive has the copy of every slab. What happens if the first drive fails? The other drive has the only surviving copy. Of <em>every</em> slab. To repair, we need to read from it. <em>Every. Last. Byte.</em> We are obviously limited by the read speed of that drive. Worse yet, we then need to write all that out again to the replacement drive or hot spare, where we are limited by its write speed. Yikes! Inevitably, this leads to contention with ongoing user or application IO activity. Not good.</p>
<p><strong></strong>Storage Spaces, unlike some of our friends in the industry, does not do this.</p>
<p>Consider again the scenario where some drive fails. We <em>do </em>lose all the slabs stored on that drive. And we <em>do </em>need to read from each slab’s surviving copy in order to repair. <strong>But, where are these surviving copies?</strong> They are evenly distributed across almost every other drive in the pool! One lost slab might have its other copy on Drive 15; another lost slab might have its other copy on Drive 03; another lost slab might have its other copy on Drive 07; and so on. So, almost every other drive in the pool has something to contribute to the repair!</p>
<p>Next, we <em>do</em> need to write out the new copy of each – <strong>where can these new copies be written? </strong>Provided there is available capacity, each lost slab can be re-constructed on almost any other drive in the pool!</p>
<p><strong></strong>(For the curious reader: I say <em>almost</em> because the requirement that slab copies land in different servers precludes any drives in the same server as the failure from having anything to contribute, read-wise. They were never eligible to get the other copy. Similarly, those drives in the same server as the surviving copy are ineligible to receive the new copy, and so have nothing to contribute write-wise. This detail turns out not to be terribly consequential.)</p>
<p>While this can be non-obvious, it has some significant implications. Most importantly, repairing data faster minimizes the risk that multiple hardware failures will overlap in time, improving overall data safety. It is also more convenient, as it reduces the ‘resync’ wait time during rolling cluster-wide updates or maintenance. And because the read/write burden is spread thinly among all surviving drives, the load on each drive individually is light, which minimizes contention with user or application activity.</p>
<h3>Reserve capacity</h3>
<p>For this to work, you need to set aside some extra capacity in the storage pool. You can think of this as giving the contents of a failed drive “somewhere to go” to be repaired. For example, to repair from one drive failure (without immediately replacing it), you should set aside at least one drive’s worth of reserve capacity. (If you are using 2 TB drives, that means leaving 2 TB of your pool unallocated.) This serves the same function as a hot spare, but unlike an actual hot spare, the reserve capacity is taken evenly from every drive in the pool.</p>
<p><div id="attachment_7355" style="width: 1814px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/Reserve-Capacity.png" alt="Reserve capacity gives the contents of a failed drive "somewhere to go" to be repaired." width="1804" height="677" class="wp-image-7355 size-full" /><p class="wp-caption-text">Reserve capacity gives the contents of a failed drive “somewhere to go” to be repaired.</p></div></p>
<p>Reserving capacity is not enforced by Storage Spaces, but we highly recommend it. The more you have, the less urgently you will need to scramble to replace drives when they fail, because your volumes can (and will automatically) repair into the reserve capacity, completely independent of the physical replacement process.</p>
<p>When you do eventually replace the drive, it will automatically take its predecessor’s place in the pool.</p>
<p>Check out our <a href="http://aka.ms/s2dcalc">capacity calculator</a> for help with determining appropriate reserve capacity.</p>
<h3>Automatic pooling and re-balancing</h3>
<p>New in Windows 10 and Windows Server 2016, slabs and their copies can be moved around between drives in the storage pool to equilibrate utilization. We call this ‘optimizing’ or ‘re-balancing’ the storage pool, and it’s essential for scalability in Storage Spaces Direct.</p>
<p>For instance, what if we need to add a fourth server to our cluster?</p>
<pre><code>Add-ClusterNode -Name <Name></code></pre>
<p><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Servers-4-500x278.png" alt="poolsblog-servers-4" width="500" height="278" class="aligncenter wp-image-7405 size-mediumlarge" /></p>
<p>The new drives in this new server will be added automatically to the storage pool. At first, they’re empty.</p>
<p><div id="attachment_7485" style="width: 774px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Screenshot-3.png" width="764" height="548" class="wp-image-7485 size-full" /><p class="wp-caption-text">The capacity drives in our fourth server are empty, for now.</p></div></p>
<p>After 30 minutes, Storage Spaces Direct will automatically begin re-balancing the storage pool – moving slabs around to even out drive utilization. This can take some time (many hours) for larger deployments. You can watch its progress using the following cmdlet.</p>
<pre><code>Get-StorageJob</code></pre>
<p>If you’re impatient, or if your deployment uses Shared SAS Storage Spaces with Windows Server 2016, you can kick off the re-balance yourself using the following cmdlet.</p>
<pre><code>Optimize-StoragePool <span>-FriendlyName "S2D*"</span></code></pre>
<p><div id="attachment_7395" style="width: 970px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Gif4.gif" alt="The storage pool is 're-balanced' whenever new drives are added to even out utilization." width="960" height="320" class="size-full wp-image-7395" /><p class="wp-caption-text">The storage pool is ‘re-balanced’ whenever new drives are added to even out utilization.</p></div></p>
<p>Once completed, we see that our 1 TiB volume is (almost) evenly distributed across all the drives in all <em>four </em>servers.</p>
<p><strong></strong></p>
<p><div id="attachment_7495" style="width: 774px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/PoolsBlog-Screenshot-4.png" width="764" height="549" class="wp-image-7495 size-full" alt="The slabs of our 1 TiB two-way mirrored volume are now spread evenly across all four servers." /><p class="wp-caption-text">The slabs of our 1 TiB two-way mirrored volume are now spread evenly across all four servers.</p></div></p>
<p>And going forward, when we create new volumes, they too will be distributed evenly across all drives in all servers.</p>
<p>This can explain one final phenomena you might observe – that when a drive fails, <em>every</em> volume is marked ‘Incomplete’ for the duration of the repair. Can you figure out why?</p>
<h3>Conclusion</h3>
<p>Okay, that’s it for now. If you’re still reading, wow, thank you!</p>
<p>Let’s review some key takeaways.</p>
<ul>
<li>Storage Spaces Direct automatically creates one storage pool, which grows as your deployment grows. You do not need to modify its settings, add or remove drives from the pool, nor create new pools.</li>
<li>Storage Spaces does not keep whole copies of volumes – rather, it divides them into tiny ‘slabs’ which are distributed evenly across all drives in all servers. This has some practical consequences. For example, using two-way mirroring with three servers does <em>not</em> leave one server empty. Likewise, when drives fail, all volumes are affected for the very short time it takes to repair them.</li>
<li>Leaving some unallocated ‘reserve’ capacity in the pool allows this fast, non-invasive, parallel repair to happen even before you replace the drive.</li>
<li>The storage pool is ‘re-balanced’ whenever new drives are added, such as on scale-out or after replacement, to equilibrate how much data every drive is storing. This ensures all drives and all servers are always equally “full”.</li>
</ul>
<h3>U Can Haz Script</h3>
<p>In PowerShell, you can see the storage pool by running the following cmdlet.</p>
<pre><code>Get-StoragePool S2D*</code></pre>
<p>And you can see the drives in the pool with this simple pipeline.</p>
<pre><code>Get-StoragePool S2D* | Get-PhysicalDisk</code></pre>
<p>Throughout this blog, I showed the output of a script which essentially runs the above, cherry-picks interesting properties, and formats the output all fancy-like. That script is included below, and is also available at <a href="http://cosmosdarwin.com/Show-PrettyPool.ps1">http://cosmosdarwin.com/Show-PrettyPool.ps1</a> to spare you the 200-line copy/paste. There is also a simplified version at <a href="http://cosmosdarwin.com/Show-PrettyPool-Simplified.ps1">here</a> which forgoes my extravagant helper functions to reduce running time by about 20x and lines of code by about 2x. <img src="https://s.w.org/images/core/emoji/2/72x72/1f642.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Let me know what you think!</p>
<pre><code># Written by Cosmos Darwin, PM
# Copyright (C) 2016 Microsoft Corporation
# MIT License
# 11/2016
Function ConvertTo-PrettyCapacity {
<#
.SYNOPSIS Convert raw bytes into prettier capacity strings.
.DESCRIPTION Takes an integer of bytes, converts to the largest unit (kilo-, mega-, giga-, tera-) that will result in at least 1.0, rounds to given precision, and appends standard unit symbol.
.PARAMETER Bytes The capacity in bytes.
.PARAMETER UseBaseTwo Switch to toggle use of binary units and prefixes (mebi, gibi) rather than standard (mega, giga).
.PARAMETER RoundTo The number of decimal places for rounding, after conversion.
#>
Param (
[Parameter(
Mandatory = $True,
ValueFromPipeline = $True
)
]
[Int64]$Bytes,
[Int64]$RoundTo = 0,
[Switch]$UseBaseTwo # Base-10 by Default
)
If ($Bytes -Gt 0) {
$BaseTenLabels = ("bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
$BaseTwoLabels = ("bytes", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB")
If ($UseBaseTwo) {
$Base = 1024
$Labels = $BaseTwoLabels
}
Else {
$Base = 1000
$Labels = $BaseTenLabels
}
$Order = [Math]::Floor( [Math]::Log($Bytes, $Base) )
$Rounded = [Math]::Round($Bytes/( [Math]::Pow($Base, $Order) ), $RoundTo)
[String]($Rounded) + $Labels[$Order]
}
Else {
0
}
Return
}
Function ConvertTo-PrettyPercentage {
<#
.SYNOPSIS Convert (numerator, denominator) into prettier percentage strings.
.DESCRIPTION Takes two integers, divides the former by the latter, multiplies by 100, rounds to given precision, and appends "%".
.PARAMETER Numerator Really?
.PARAMETER Denominator C'mon.
.PARAMETER RoundTo The number of decimal places for rounding.
#>
Param (
[Parameter(Mandatory = $True)]
[Int64]$Numerator,
[Parameter(Mandatory = $True)]
[Int64]$Denominator,
[Int64]$RoundTo = 1
)
If ($Denominator -Ne 0) { # Cannot Divide by Zero
$Fraction = $Numerator/$Denominator
$Percentage = $Fraction * 100
$Rounded = [Math]::Round($Percentage, $RoundTo)
[String]($Rounded) + "%"
}
Else {
0
}
Return
}
Function Find-LongestCommonPrefix {
<#
.SYNOPSIS Find the longest prefix common to all strings in an array.
.DESCRIPTION Given an array of strings (e.g. "Seattle", "Seahawks", and "Season"), returns the longest starting substring ("Sea") which is common to all the strings in the array. Not case sensitive.
.PARAMETER Strings The input array of strings.
#>
Param (
[Parameter(
Mandatory = $True
)
]
[Array]$Array
)
If ($Array.Length -Gt 0) {
$Exemplar = $Array[0]
$PrefixEndsAt = $Exemplar.Length # Initialize
0..$Exemplar.Length | ForEach {
$Character = $Exemplar[$_]
ForEach ($String in $Array) {
If ($String[$_] -Eq $Character) {
# Match
}
Else {
$PrefixEndsAt = [Math]::Min($_, $PrefixEndsAt)
}
}
}
# Prefix
$Exemplar.SubString(0, $PrefixEndsAt)
}
Else {
# None
}
Return
}
Function Reverse-String {
<#
.SYNOPSIS Takes an input string ("Gates") and returns the character-by-character reversal ("setaG").
#>
Param (
[Parameter(
Mandatory = $True,
ValueFromPipeline = $True
)
]
$String
)
$Array = $String.ToCharArray()
[Array]::Reverse($Array)
-Join($Array)
Return
}
Function New-UniqueRootLookup {
<#
.SYNOPSIS Creates hash table that maps strings, particularly server names of the form [CommonPrefix][Root][CommonSuffix], to their unique Root.
.DESCRIPTION For example, given ("Server-A2.Contoso.Local", "Server-B4.Contoso.Local", "Server-C6.Contoso.Local"), returns key-value pairs:
{
"Server-A2.Contoso.Local" -> "A2"
"Server-B4.Contoso.Local" -> "B4"
"Server-C6.Contoso.Local" -> "C6"
}
.PARAMETER Strings The keys of the hash table.
#>
Param (
[Parameter(
Mandatory = $True
)
]
[Array]$Strings
)
# Find Prefix
$CommonPrefix = Find-LongestCommonPrefix $Strings
# Find Suffix
$ReversedArray = @()
ForEach($String in $Strings) {
$ReversedString = $String | Reverse-String
$ReversedArray += $ReversedString
}
$CommonSuffix = $(Find-LongestCommonPrefix $ReversedArray) | Reverse-String
# String -> Root Lookup
$Lookup = @{}
ForEach($String in $Strings) {
$Lookup[$String] = $String.Substring($CommonPrefix.Length, $String.Length - $CommonPrefix.Length - $CommonSuffix.Length)
}
$Lookup
Return
}
### SCRIPT... ###
$Nodes = Get-StorageSubSystem Cluster* | Get-StorageNode
$Drives = Get-StoragePool S2D* | Get-PhysicalDisk
$Names = @()
ForEach ($Node in $Nodes) {
$Names += $Node.Name
}
$UniqueRootLookup = New-UniqueRootLookup $Names
$Output = @()
ForEach ($Drive in $Drives) {
If ($Drive.BusType -Eq "NVMe") {
$SerialNumber = $Drive.AdapterSerialNumber
$Type = $Drive.BusType
}
Else { # SATA, SAS
$SerialNumber = $Drive.SerialNumber
$Type = $Drive.MediaType
}
If ($Drive.Usage -Eq "Journal") {
$Size = $Drive.Size | ConvertTo-PrettyCapacity
$Used = "-"
$Percent = "-"
}
Else {
$Size = $Drive.Size | ConvertTo-PrettyCapacity
$Used = $Drive.VirtualDiskFootprint | ConvertTo-PrettyCapacity
$Percent = ConvertTo-PrettyPercentage $Drive.VirtualDiskFootprint $Drive.Size
}
$Node = $UniqueRootLookup[($Drive | Get-StorageNode -PhysicallyConnected).Name]
# Pack
$Output += [PSCustomObject]@{
"SerialNumber" = $SerialNumber
"Type" = $Type
"Node" = $Node
"Size" = $Size
"Used" = $Used
"Percent" = $Percent
}
}
$Output | Sort Used, Node | FT
</code></pre>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2016/11/21/deep-dive-pool-in-spaces-direct/feed/</wfw:commentRss>
<slash:comments>75</slash:comments>
</item>
<item>
<title>Don’t do it: consumer-grade solid-state drives (SSD) in Storage Spaces Direct</title>
<link>https://blogs.technet.microsoft.com/filecab/2016/11/18/dont-do-it-consumer-ssd/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2016/11/18/dont-do-it-consumer-ssd/#comments</comments>
<pubDate>Fri, 18 Nov 2016 16:00:23 +0000</pubDate>
<dc:creator><![CDATA[Cosmos Darwin]]></dc:creator>
<category><![CDATA[SDS]]></category>
<category><![CDATA[Software Defined Storage]]></category>
<category><![CDATA[Uncategorized]]></category>
<category><![CDATA[Windows Server 2016]]></category>
<category><![CDATA[Clustering]]></category>
<category><![CDATA[Hardware]]></category>
<category><![CDATA[Performance]]></category>
<category><![CDATA[S2D]]></category>
<category><![CDATA[Storage Spaces Direct]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7255</guid>
<description><![CDATA[// This post was written by Dan Lovinger, Principal Software Engineer. Howdy, In the weeks since the release of Windows Server 2016, the amount of interest we’ve seen in Storage Spaces Direct has been nothing short of spectacular. This interest has translated to many potential customers looking to evaluate Storage Spaces Direct. Windows Server has... <a aria-label="read more about Don’t do it: consumer-grade solid-state drives (SSD) in Storage Spaces Direct" href="https://blogs.technet.microsoft.com/filecab/2016/11/18/dont-do-it-consumer-ssd/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p><em>// This post was written by Dan Lovinger, Principal Software Engineer.</em></p>
<p>Howdy,</p>
<p>In the weeks since the release of Windows Server 2016, the amount of interest we’ve seen in <a href="http://aka.ms/s2d">Storage Spaces Direct</a> has been nothing short of spectacular. This interest has translated to many potential customers looking to evaluate Storage Spaces Direct.</p>
<p>Windows Server has a strong heritage with do-it-yourself design. We’ve even done it ourselves with the <a href="https://blogs.technet.microsoft.com/filecab/2016/10/14/kepler-47">Project Kepler-47 proof of concept</a>! While over the coming months there will be many OEM-validated solutions coming to market, many more experimenters are once again piecing together their own configurations.</p>
<p>This is great, and it has led to a lot of questions, particularly about Solid-State Drives (SSDs). One dominates: <em>“Is <strong>[some drive]</strong> a good choice for a cache device?”</em> Another comes in close behind: <em>“We’re using <strong>[some drive]</strong> as a cache device and performance is horrible, what gives?”</em></p>
<p><div id="attachment_7256" style="width: 510px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/SSD-Buffer-And-Spare-500x305.png" alt="The flash translation layer masks a variety of tricks an SSD can use to accelerate performance and extend its lifetime, such as buffering and spare capacity." width="500" height="305" class="wp-image-7256 size-mediumlarge" /><p class="wp-caption-text">The flash translation layer masks a variety of tricks an SSD can use to accelerate performance and extend its lifetime, such as buffering and spare capacity.</p></div></p>
<p><strong>Some background on SSDs</strong></p>
<p>As I write this in late 2016, an SSD is universally a device built from a set of NAND flash dies connected to an internal controller, called the flash translation layer (“FTL”).</p>
<p>NAND flash is inherently unstable. At the physical level, a flash cell is a charge trap device – a bucket for storing electrons. The high voltages needed to trigger the quantum tunneling process that moves electrons in and out of the cell – your data – slowly accumulates damage at the atomic level. Failure does not happen all at once. Charge degrades in-place over time and even reads aren’t without cost, a phenomenon known as read disturb.</p>
<p>The number of electrons in the cell’s charge trap translate to a measurable voltage. At its most basic, a flash cell stores one on/off bit – a single level cell (SLC) – and the difference between 0 and 1 is “easy”. There is only one threshold voltage to consider. On one side the cell represents 0, on the other it is 1.</p>
<p>However, conventional SSDs have moved on from SLC designs. Common SSDs now store two (MLC) or even three (TLC) bits per cell, requiring four (00, 01, 10, 11) or eight (001, 010, … 110, 111) different charge levels. On the horizon is 4 bit QLC NAND, which will require sixteen! As the damage accumulates it becomes difficult to reliably set charge levels; eventually, they cannot store new data. This happens faster and faster as bit densities increase.</p>
<ul>
<li>SLC: 100,000 or more writes per cell</li>
<li>MLC: 10,000 to 20,000</li>
<li>TLC: low to mid 1,000’s</li>
<li>QLC: mid-100’s</li>
</ul>
<p>The FTL has two basic defenses.</p>
<ul>
<li>error correcting codes (ECC) stored alongside the data</li>
<li>extra physical capacity, over and above the apparent size of the device, “over-provisioning”</li>
</ul>
<p>Both defenses work like a bank account.</p>
<p>Over the short term, some amount of the ECC is needed to recover the data on each read. Lightly-damaged cells or recently-written data won’t draw heavily on ECC, but as time passes, more of the ECC is necessary to recover the data. When it passes a safety margin, the data must be re-written to “refresh” the data and ECC, and the cycle continues.</p>
<p>Across a longer term, the over-provisioning in the device replaces failed cells and preserves the apparent capacity of the SSD. Once this account is drawn down, the device is at the end of its life.</p>
<p>To complete the physical picture, NAND is not freely writable. A die is divided into what we refer to as program/erase “P/E” pages. These are the actual writable elements. A page must first be erased to prepare writing it, then the entire page can be written at once. A page may be as small as 16K, or potentially much larger. Any one single write that arrives in the SSD probably won’t line up with the page size!</p>
<p>And finally, NAND never re-writes in place. The FTL is continuously keeping track of wear, preparing fresh erased pages, and consolidating valid data sitting in pages alongside stale data corresponding to logical blocks which have already been re-written. These are additional reasons for over-provisioning.</p>
<p><strong></strong></p>
<p><div id="attachment_7325" style="width: 889px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/SSD-Comparison1-1024x511.png" width="879" height="439" class="wp-image-7325 size-large" /><p class="wp-caption-text">In consumer devices, and especially in mobile, an SSD can safely leverage an unprotected, volatile cache because the device’s battery ensures it will not unexpectedly lose power. In servers, however, an SSD must provide its own power protection, typically in the form of a capacitor.</p></div></p>
<p><strong>Buffers and caches</strong></p>
<p>The bottom line is that a NAND flash SSD is a complex, dynamic environment and there is a lot going on to keep your data safe. As device densities increase, it is getting ever harder. We must maximize the value of each write, as it takes the device one step closer to failure. Fortunately, we have a trick: a buffer.</p>
<p>A buffer in an SSD is just like the cache in the system that surrounds it: some memory which can accumulate writes, allowing the user/application request to complete while it gathers more and more data to write efficiently to the NAND flash. Many small operations turn into a small number of larger operations. Just like the memory in a conventional computer, though, on its own that buffer is volatile – if a power loss occurs, any pending write operations are lost.</p>
<p>Losing data is, of course, not acceptable. Storage Spaces Direct is at the far end of a series of actions which have led to it getting a write. A virtual machine on another computer may have had an application issue a flush which, in a physical system, would put the data on stable storage. After Storage Spaces Direct acknowledges <em>any </em>write, it must be stable.</p>
<p>How can any SSD have a volatile cache!? Simple, and it is a crucial detail of how the SSD market has differentiated itself: you are very likely reading this on a device with a battery! <em>Consumer</em> flash is volatile in the device but not volatile when considering the entire system – your phone, tablet or laptop. Making a cache non-volatile requires some form of power storage (or new technology …), which adds unneeded expense in the consumer space.</p>
<p><span>What about servers? In the enterprise space, the cost and complexity of providing complete power safety to a collection of servers can be prohibitive. This is the design point enterprise SSDs sit in: the added cost of internal power capacity to allow saving the buffer content is small.</span></p>
<p><div id="attachment_7295" style="width: 889px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/35-1024x768.jpg" alt="An (older) enterprise-grade SSD, with its removable and replaceable built-in battery!" width="879" height="659" class="wp-image-7295 size-large" /><p class="wp-caption-text">An (older) enterprise-grade SSD, with its removable and replaceable built-in battery!</p></div></p>
<p><div id="attachment_7305" style="width: 889px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/15-1024x768.jpg" alt="This newer enterprise-grade SSD, foreground, uses a capacitor (the three little yellow things, bottom right) to provide power-loss protection." width="879" height="659" class="wp-image-7305 size-large" /><p class="wp-caption-text">This newer enterprise-grade SSD, foreground, uses a capacitor (the three little yellow things, bottom right) to provide power-loss protection.</p></div></p>
<p>Along with volatile caches, consumer flash is also universally of lower endurance. A consumer device targets environments with light activity. Extremely dense, inexpensive, fragile NAND flash – which may wear out after only a thousand writes – could still provide many years of service. However, expressed in total writes over time or capacity written per day, a consumer device could wear out more than <em>10x</em> faster than available enterprise-class SSD.</p>
<p>So, where does that leave us? Two requirements for SSDs for Storage Spaces Direct. One hard, one soft, but they normally go together:</p>
<ul>
<li>the device must have a non-volatile write cache</li>
<li>the device <em>should</em> have enterprise-class endurance</li>
</ul>
<p>But … could I get away with it? And more crucially – for us – what happens if I just put a consumer-grade SSD with a volatile write cache in a Storage Spaces Direct system?</p>
<p> </p>
<p><strong>An experiment with consumer-grade SSDs</strong></p>
<p>For this experiment, we’ll be using a new-out-of-box 1 TB consumer class SATA SSD. While we won’t name it, it is a first tier, high quality, widely available device. It just happens to not be appropriate for an enterprise workload like Storage Spaces Direct, as we’ll see shortly.</p>
<p>In round numbers, its data sheet says the following:</p>
<ul>
<li>QD32 4K Read: 95,000 IOPS</li>
<li>QD32 4K Write: 90,000 IOPS</li>
<li>Endurance: 185TB over the device lifetime</li>
</ul>
<p>Note: QD (“queue depth”) is geek-speak for the targeted number of IOs outstanding during a storage test. Why do you always see 32? That’s the SATA Native Command Queueing (NCQ) limit to which commands can be pipelined to a SATA device. SAS and especially NVME can go much deeper.</p>
<p>Translating the endurance to the widely-used device-writes-per-day (DWPD) metric, over the device’s 5-year warranty period that is</p>
<pre><code>185 TB / (365 days x 5 years = 1825 days) = ~ 100 GB writable per day
100 GB / 1 TB total capacity = 0.10 DWPD
</code></pre>
<p>The device can handle just over 100 GB each day for 5 years before its endurance is exhausted. That’s a lot of Netflix and web browsing for a single user! Not so much for a large set of virtualized workloads.</p>
<p>To gather the data below, I prepared the device with a 100 GiB load file, written through sequentially a little over 2 times. I used <a href="http://aka.ms/diskspd">DISKSPD 2.0.18</a> to do a QD8 70:30 4 KiB mixed read/write workload using 8 threads, each issuing a single IO at a time to the SSD. First with the write buffer enabled:</p>
<pre><code>diskspd.exe -t8 -b4k -r4k -o1 -w30 -Su -D -L -d1800 -Rxml Z:\load.bin</code></pre>
<p><div id="attachment_7315" style="width: 510px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/Graph-1-500x301.png" alt="Normal unbuffered IO sails along, with a small write cliff." width="500" height="301" class="wp-image-7315 size-mediumlarge" /><p class="wp-caption-text">Normal unbuffered IO sails along, with a small write cliff.</p></div></p>
<p>The first important note here is the length of the test: 30 minutes. This shows an abrupt drop of about 10,000 IOPS two minutes in – this is normal, certainly for consumer devices. It likely represents the FTL running out of pre-erased NAND ready for new writes. Once its reserve runs out, the device runs slower until a break in the action lets it catch back up. With web browsing and other consumer scenarios. the chances of noticing this are small.</p>
<p>An aside: this is a good, stable device in each mode of operation – behavior before and after the “write cliff” is very clean.</p>
<p>Second, note that the IOPS are … a bit different than the data sheet might have suggested, even before it reaches steady operation. We’re intentionally using a light, QD8 70:30 4K to drive it more like a generalized workload. It still rolls over the write cliff. Under sustained, mixed IO pressure the FTL has much more work to take care of and it shows.</p>
<p>That’s with the buffer on, though. Now just adding write-through (with -Su<em>w</em>):</p>
<pre><code>diskspd.exe -t8 -b4k -r4k -o1 -w30 -Suw -D -L -d1800 -Rxml Z:\load.bin</code></pre>
<p><div id="attachment_7316" style="width: 510px" class="wp-caption aligncenter"><img src="https://msdnshared.blob.core.windows.net/media/2016/11/Graph-2-500x301.png" alt="Write-through IO exposes the true latency of NAND, normally masked by the FTL/buffer." width="500" height="301" class="wp-image-7316 size-mediumlarge" /><p class="wp-caption-text">Write-through IO exposes the true latency of NAND, normally masked by the FTL/buffer.</p></div></p>
<p>Wow!</p>
<p>First: it’s great that the device honors write-through requests. In the consumer space, this gives an application a useful tool for making data durable when it must be durable. This is a good device!</p>
<p>Second, <em>oh my</em> does the performance drop off. This is no longer an “SSD”: especially as it goes over the write cliff – which is still there – it’s merely a fast HDD, at about 220 IOPS. Writing NAND is slow! This is the FTL forced to push all the way into the NAND flash dies, immediately, without being able to buffer, de-conflict the read and write IO streams and manage all the other background activity it needs to do.</p>
<p>Third, those immediate writes take what is already a device with modest endurance and deliver a truly crushing blow to its total lifetime.</p>
<p>Crucially, <em>this</em> is how Storage Spaces Direct would see this SSD. Not much of a “cache” anymore.</p>
<p> </p>
<p><strong>So, why does a non-volatile buffer help?</strong></p>
<p>It lets the SSD claim that a write is stable once it is in the buffer. A write-through operation – or a flush, or a request to disable the cache – can be honored without forcing all data directly into the NAND. We’ll get the good behavior, the stated endurance, <em>and</em> the data stability we require for reliable, software-defined storage to a complex workload.</p>
<p>In short, your device will behave much as we saw in the first chart: a nice, flat, fast performance profile. A good cache device. If it’s NVMe it may be even more impressive, but that’s a thought for another time.</p>
<p> </p>
<p><strong>Finally, how do you identify a device with a non-volatile buffer cache?</strong></p>
<p>Datasheet, datasheet, datasheet. Look for language like:</p>
<ul>
<li>“Power loss protection” or “PLP”
<ul>
<li>Samsung SM863, and related</li>
<li>Toshiba HK4E series, and related</li>
</ul>
</li>
<li>“Enhanced power loss data protection”
<ul>
<li>Intel S3510, S3610, S3710, P3700 series, and related</li>
</ul>
</li>
</ul>
<p>… along with many others across the industry. You should be able to find a device from your favored provider. These will be more expensive than consumer grade devices, but hopefully we’ve convinced you why they are worth it.</p>
<p>Be safe out there!</p>
<p>/ Dan Lovinger</p>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2016/11/18/dont-do-it-consumer-ssd/feed/</wfw:commentRss>
<slash:comments>30</slash:comments>
</item>
<item>
<title>Work Folders for Android can now upload files!</title>
<link>https://blogs.technet.microsoft.com/filecab/2016/11/08/work-folders-for-android-can-now-upload-files/</link>
<comments>https://blogs.technet.microsoft.com/filecab/2016/11/08/work-folders-for-android-can-now-upload-files/#comments</comments>
<pubDate>Tue, 08 Nov 2016 23:37:06 +0000</pubDate>
<dc:creator><![CDATA[Jeff Patterson - MSFT]]></dc:creator>
<category><![CDATA[Information Worker]]></category>
<category><![CDATA[Work Folders]]></category>
<guid isPermaLink="false">https://blogs.technet.microsoft.com/filecab/?p=7205</guid>
<description><![CDATA[Hi all, I’m Jeff Patterson, Program Manager for Work Folders. We’re excited to announce that we’ve released an updated version of Work Folders for Android to the Google Play Store which enables users to sync files that were created or edited on their Android device. Overview Work Folders is a Windows Server feature since 2012 R2... <a aria-label="read more about Work Folders for Android can now upload files!" href="https://blogs.technet.microsoft.com/filecab/2016/11/08/work-folders-for-android-can-now-upload-files/" class="read-more">Read more</a>]]></description>
<content:encoded><![CDATA[<p><span style="color: #000000">Hi all,</span></p>
<p><span style="color: #000000">I’m Jeff Patterson, Program Manager for Work Folders.</span></p>
<p><span style="color: #000000">We’re excited to announce that we’ve released an updated version of Work Folders for Android </span><span><span style="color: #000000">to the Google Play</span> </span><a href="https://play.google.com/store/apps/details?id=com.microsoft.workfolders"><span>Store</span></a> <span style="color: #000000">which enables users to sync files that were created or edited on their Android device.</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2016/11/WhatsNew.png"><img width="1430" height="909" class="alignnone size-full wp-image-7215" alt="whatsnew" src="https://msdnshared.blob.core.windows.net/media/2016/11/WhatsNew.png" /></a></p>
<h3><span style="color: #000000">Overview</span></h3>
<p><span style="color: #000000">Work Folders is a Windows Server feature since 2012 R2 that enables individual employees to access their files securely from inside and outside the corporate environment. The Work Folders app connects to the server and enables file access on your Android phone and tablet. Work Folders enables this while allowing the organization’s IT department to fully secure that data.</span></p>
<h3><span style="color: #000000">What’s New</span></h3>
<p><span style="color: #000000">Using the latest version of Work Folders for Android, users can now:</span></p>
<ul>
<li><span style="color: #000000">Sync files that were created or edited on their device</span></li>
<li><span style="color: #000000">Take pictures and write notes within the Work Folders application</span></li>
<li><span style="color: #000000">When working within other applications (i.e., Microsoft Word), the Work Folders location can be selected when opening or saving files. No need to open the Work Folders app to sync your files.</span></li>
</ul>
<p><span style="color: #000000">For the complete list of Work Folders for Android features, please reference the feature list section below.</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2016/11/Import.png"><img width="1430" height="909" class="alignnone size-full wp-image-7225" alt="import" src="https://msdnshared.blob.core.windows.net/media/2016/11/Import.png" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/2016/11/Save.png"><img width="1430" height="909" class="alignnone size-full wp-image-7235" alt="save" src="https://msdnshared.blob.core.windows.net/media/2016/11/Save.png" /></a></p>
<h3><span style="color: #000000">Work Folders for Android – Feature List</span></h3>
<ul>
<li><span style="color: #000000">Sync files that were created or edited on your device</span></li>
<li><span style="color: #000000">Take pictures and write notes within the Work Folders app</span></li>
<li><span style="color: #000000">Pin files for offline viewing – saves storage space by showing all available files but locally storing and keeping in sync only the files you care about.</span></li>
<li><span style="color: #000000">Files are always encrypted – on the wire and at rest on the device.</span></li>
<li><span style="color: #000000">Access to the app is protected by an app passcode – keeping others out even if the device is left unlocked and unattended.</span></li>
<li><span style="color: #000000">Allows for DIGEST and Active Directory Federation Services (ADFS) authentication mechanisms including multi factor authentication.</span></li>
<li><span style="color: #000000">Search for files and folders</span></li>
<li><span style="color: #000000">Open files in other apps that might be specialized to work with a certain file type</span></li>
<li><span style="color: #000000">Integration with Microsoft Intune</span></li>
</ul>
<h3><span style="color: #000000">Android Version Support</span></h3>
<ul>
<li><span style="color: #000000">Work Folders for Android is supported on all devices running Android Version 4.4 KitKat or later.</span></li>
</ul>
<h3><span style="color: #000000">Known Issues</span></h3>
<ul>
<li><span style="color: #000000">Microsoft Office files are read-only when opening the files from the Work Folders app. To workaround this issue, open the file from the Office application (e.g., Microsoft Word).</span></li>
</ul>
<h3><span style="color: #000000">Blogs and Links</span></h3>
<p><span style="color: #000000"><span style="font-family: Times New Roman"> </span>If you’re interested in learning more about Work Folders, here are some great resources:</span></p>
<ul>
<li><span style="color: #000000">Work Folders</span> <a href="https://blogs.technet.microsoft.com/filecab/tag/work-folders/">blogs</a> <span style="color: #000000">on Server Storage blog</span></li>
<li><span style="color: #000000">Nir Ben Zvi</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/09/introducing-work-folders-on-windows-server-2012-r2.aspx">introduced Work Folders on Windows Server 2012 R2</a></li>
<li><a href="http://windows.microsoft.com/en-us/windows/work-folders-ipad-faq">Work Folders for iOS help</a></li>
<li><span style="color: #000000">Work Folders for Windows 7 SP1: Check out this</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/04/24/work-folders-for-windows-7.aspx">post by Jian Yan</a> <span style="color: #000000">on the Server Storage blog</span></li>
<li><span style="color: #000000">Roiy Zysman posted</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/03/06/windows-server-work-folders-resources-list.aspx">a great list of Work Folders resources in this blog</a>.</li>
<li><span style="color: #000000">See this</span> <a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2014/02/26/q-amp-a-with-fabian-uhse-program-manager-for-work-folders-in-windows-server-2012-r2.aspx">Q&A With Fabian Uhse, Program Manager for Work Folders</a><span style="color: #000000"> in Windows Server 2012 R2</span></li>
<li><span style="color: #000000">Also, check out these posts about</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/10/work-folders-test-lab-deployment.aspx">how to setup a Work Folders test lab</a>, <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/08/09/work-folders-certificate-management.aspx">certificate management</a>,<br />
<span style="color: #000000">and</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/06/work-folders-on-clusters.aspx">tips on running Work Folders on Windows Failover Clusters</a>.</li>
<li><span style="color: #000000">Using Work Folders with</span> <a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx">IIS websites or the Windows Server Essentials Role (Resolving Port Conflicts)</a></li>
</ul>
<p><span style="color: #000000;font-family: Times New Roman"> </span><span style="color: #000000">Introduction and Getting Started</span></p>
<ul>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/09/introducing-work-folders-on-windows-server-2012-r2.aspx">Introducing Work Folders on Windows Server 2012 R2</a></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn265974.aspx">Work Folders Overview</a> <span style="color: #000000">on TechNet</span></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn479242.aspx">Designing a Work Folders Implementation</a> <span style="color: #000000">on TechNet</span></li>
<li><a href="http://technet.microsoft.com/en-us/library/dn528861.aspx">Deploying Work Folders</a> <span style="color: #000000">on TechNet</span></li>
<li><a href="http://windows.microsoft.com/en-us/windows-8/work-folders-faq">Work folders FAQ (Targeted for Work Folders end users)</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2014/02/26/q-amp-a-with-fabian-uhse-program-manager-for-work-folders-in-windows-server-2012-r2.aspx">Work Folders Q&A</a></li>
<li><a href="http://technet.microsoft.com/library/dn296644.aspx">Work Folders Powershell Cmdlets</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/07/10/work-folders-test-lab-deployment.aspx">Work Folders Test Lab Deployment</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/storageserver/archive/2013/10/09/windows-storage-server-2012-r2-work-folders.aspx">Windows Storage Server 2012 R2 — Work Folders</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/04/24/work-folders-for-windows-7.aspx">Work Folders for Windows 7</a></li>
</ul>
<p><span style="color: #000000">Advanced Work Folders Deployment and Management</span></p>
<ul>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/02/24/work-folders-interoperability-with-other-file-server-technologies.aspx">Work Folders interoperability with other file server technologies</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/01/performance-considerations-for-large-scale-work-folders-deployments.aspx">Performance Considerations for Work Folders Deployments</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx">Windows Server 2012 R2 – Resolving Port Conflict with IIS Websites and Work Folders</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/09/a-new-user-attribute-for-work-folders-server-url.aspx">A new user attribute for Work Folders server Url</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/08/09/work-folders-certificate-management.aspx">Work Folders Certificate Management</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/11/06/work-folders-on-clusters.aspx">Work Folders on Clusters</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2013/10/15/monitoring-windows-server-2012-r2-work-folders-deployments.aspx">Monitoring Windows Server 2012 R2 Work Folders Deployments.</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/03/03/deploying-work-folders-with-ad-fs-and-web-application-proxy-wap.aspx">Deploying Work Folders with AD FS and Web Application Proxy (WAP)</a></li>
<li><a href="https://blogs.technet.microsoft.com/b/filecab/archive/2014/02/28/deploying-windows-server-2012-r2-work-folders-in-a-virtual-machine-in-windows-azure.aspx">Deploying Windows Server 2012 R2 Work Folders in a Virtual Machine in Windows Azure</a></li>
<li><a href="https://blogs.technet.microsoft.com/filecab/2016/08/12/offline-files-csc-to-work-folders-migration-guide/">Offline Files (CSC) to Work Folders Migration Guide</a></li>
<li><a href="https://www.microsoft.com/en-us/cloud-platform/microsoft-intune-apps">Management with Microsoft Intune</a></li>
</ul>
<p><span style="color: #000000">Videos</span></p>
<ul>
<li><a href="https://channel9.msdn.com/Events/TechEd/Europe/2013/WCA-B214#fbid=">Windows Server Work Folders Overview: My Corporate Data on All of My Devices</a></li>
<li><a href="https://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WCA-B332#fbid=">Windows Server Work Folders – a Deep Dive into the New Windows Server Data Sync Solution</a></li>
<li><a href="https://channel9.msdn.com/Shows/Edge/Edge-Show-65-Windows-Server-2012-R2-Work-Folders">Work Folders on Channel 9</a></li>
<li><a href="https://channel9.msdn.com/Shows/news/iPad-Workfolder-App">Work Folders iPad reveal – TechEd Europe 2014</a> <span style="color: #000000">(in German)</span></li>
<li><a href="https://channel9.msdn.com/Shows/Edge/Edge-Show-140-WorkFolders-for-iPad--exclusive-first-look-at-iPhone" title="Work Folders on the "Edge Show"">Work Folders on the “Edge Show”</a> <span style="color: #000000">(iPad + iPhone video, English)</span></li>
<li><a href="https://channel9.msdn.com/Blogs/malte_lantin/A-first-look-at-Work-Folders-for-Android-with-Program-Manager-Fabian-Uhse">Work Folders for Android on Channel 9</a></li>
</ul>
]]></content:encoded>
<wfw:commentRss>https://blogs.technet.microsoft.com/filecab/2016/11/08/work-folders-for-android-can-now-upload-files/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
</channel>
</rss>