<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Prompt Critical Solutions Blog]]></title><description><![CDATA[IT related thoughts, stories and ideas.]]></description><link>https://blog.pcs.llc/</link><image><url>https://blog.pcs.llc/favicon.png</url><title>Prompt Critical Solutions Blog</title><link>https://blog.pcs.llc/</link></image><generator>Ghost 5.32</generator><lastBuildDate>Sun, 05 Apr 2026 12:13:31 GMT</lastBuildDate><atom:link href="https://blog.pcs.llc/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[3CX Partner]]></title><description><![CDATA[<p>Prompt Critical Solutions (PCS) has been using 3CX for Voice Over IP (VoIP) solutions ever since the company was founded in 2016 (even before if we are being fully transparent). &#xA0;As is the case with many solutions, one starts off simply using a product. Then, once you are sufficiently</p>]]></description><link>https://blog.pcs.llc/3cx-partner/</link><guid isPermaLink="false">64480a726c3866044e0d1b82</guid><category><![CDATA[3CX]]></category><category><![CDATA[VoIP]]></category><category><![CDATA[Partner]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Tue, 25 Apr 2023 18:06:44 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2023/04/3CX-Partner.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2023/04/3CX-Partner.png" alt="3CX Partner"><p>Prompt Critical Solutions (PCS) has been using 3CX for Voice Over IP (VoIP) solutions ever since the company was founded in 2016 (even before if we are being fully transparent). &#xA0;As is the case with many solutions, one starts off simply using a product. Then, once you are sufficiently happy with it, you start promoting it more. And, when presented an opportunity... team up with them as a partner. That evolution and partnership between PCS and 3CX started early on. In fact, <strong><u>PCS has been a 3CX partner since 2018</u></strong>. As with most partnerships, there is a tiering status and 3CX is no exception. Over the years, the partnership levels for 3CX have evolved. With this latest evolution, PCS is now recognized as a Bronze level partner.</p><p>There&apos;s a plethora of reasons I could go into as to why PCS has chosen to use 3CX as our VoIP solution of choice. However, if you just want to take our word for it and start a trial of your own, feel free to use our <a href="https://www.3cx.com/phone-system/download-phone-system/?resellerId=224799">Referral Link</a> to download a fully equipped 3CX System today! Otherwise... keep reading on (content curtesy of the 3CX marketing team) to learn more about 3CX and some of the amazing things it can provide you with...</p><p><strong>3CX - Your Communications System</strong></p><p>3CX is a robust, fully equipped communications system, which allows you to communicate with your colleagues and customers - anywhere, anytime.</p><p>Here is a breakdown of why 3CX is the solution for your business:</p><!--kg-card-begin: markdown--><ul>
<li><strong>Telephony:</strong> Web client and mobile apps for remote working</li>
<li><strong>Video:</strong> Included in your system, no add-ons needed</li>
<li><strong>Live Chat:</strong> Talk with your customers in real time via your website or WhatsApp!</li>
<li><strong>SMS:</strong> Allow your customers to interact with you instantly</li>
<li><strong>Integrations:</strong> CRMs and Microsoft 365</li>
<li><strong>Low Cost:</strong> Save on your phone bills, add ons and hardware</li>
<li><strong>Flexible:</strong> Keep your numbers, choose your phones and your provider</li>
<li><strong>Secure:</strong> 3CX includes advanced security features</li>
<li><strong>Install anywhere:</strong> Hosted or on-premise, MiniPC, Hyper-V, VMware or KVM!</li>
<li>Backed by the vendor, supported by us</li>
<li>600,000+ customers globally</li>
</ul>
<!--kg-card-end: markdown--><h2 id="3cx-apps-features">3CX Apps &amp; Features</h2><p>3CX enables you to take your extension with you wherever you go. With apps for Android, iOS, web browsers and Windows, you are guaranteed to be kept in the loop, always and everywhere. What&#x2019;s more, customers can instantly reach you directly from your website with the <a href="https://www.3cx.com/live-chat/">3CX Live Chat</a> and <a href="https://www.3cx.com/live-chat/whatsapp/">WhatsApp integration</a>.</p><p><strong>3CX Apps for </strong><a href="https://www.3cx.com/pbx/remote-working-apps/"><strong>Android &amp; iOS Device</strong></a></p><!--kg-card-begin: markdown--><ul>
<li>Make and take calls from anywhere</li>
<li>Video Conferencing</li>
<li>Instant Messaging and Chat</li>
<li>Answer WhatsApp messages</li>
<li>Conference Calls</li>
<li>Free VoIP calls with your smartphone</li>
<li>Encrypted and Secure</li>
</ul>
<!--kg-card-end: markdown--><p><strong>User-friendly </strong><a href="https://www.3cx.com/phone-system/webphone/"><strong>Web Client</strong></a><strong> / Desktop Apps</strong></p><!--kg-card-begin: markdown--><ul>
<li>Work from anywhere - multifunctional web app with inclusive UC features</li>
<li>Call from your browser, control your IP phone or smartphone</li>
<li>Answer customer queries from live chat, WhatsApp and SMS from one interface</li>
<li>Video conferencing at the click of a button</li>
<li>Native Desktop App for calls</li>
<li>Launch calls directly from your CRM</li>
<li>Integrate seamlessly with Microsoft 365</li>
<li>View the status of your colleagues</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/live-chat/"><strong>3CX Live Chat</strong></a><strong>: Next Level Customer Communications</strong></p><!--kg-card-begin: markdown--><ul>
<li>Chat with your customers on your website</li>
<li>Create Chat queues</li>
<li>Answer from your webclient or 3CX App</li>
<li>Transfer chats to other team members</li>
<li>Elevate a chat to a call or a video with a click</li>
<li>Chat reporting available</li>
<li>Chat monitoring feature for Managers!</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/live-chat/whatsapp/"><strong>WhatsApp Integration</strong></a></p><!--kg-card-begin: markdown--><ul>
<li>Manage WhatsApp messages directly from one platform</li>
<li>Messages are logged, to ensure no response violates company policies</li>
<li>Staff do not need to give out their personal WhatsApp numbers</li>
<li>Chat conversations are logged centrally</li>
<li>WhatsApp messages can be sent to a queue of agents to share the load</li>
</ul>
<!--kg-card-end: markdown--><p><strong>Send &amp; Receive </strong><a href="https://www.3cx.com/live-chat/business-text/"><strong>Business SMS</strong></a><strong> / MMS</strong></p><!--kg-card-begin: markdown--><ul>
<li>Send SMS / MMS to your customers</li>
<li>Route SMS to multiple agents so no message goes unanswered</li>
<li>Keep personal mobile numbers private</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/video-conferencing/"><strong>Integrated Video Conferencing</strong></a></p><!--kg-card-begin: markdown--><ul>
<li>Free for up to 250 participants</li>
<li>Initiate with a single click</li>
<li>Video conference dial-in</li>
<li>Create as a conference or a webinar</li>
<li>Remote control assistance for quick &amp; easy troubleshooting</li>
<li>Pre-upload PDFs before meetings</li>
<li>Includes a whiteboard</li>
<li>Share your screen</li>
<li>Polling tool</li>
<li>Record your videos</li>
<li>Includes chat</li>
</ul>
<!--kg-card-end: markdown--><p><strong>The 3CX Call &amp; Contact Center</strong></p><p>With 3CX you get advanced call center features. Increase your customer service, sales, boost productivity and offer support with 3CX&#x2019;s <a href="https://www.3cx.com/contact-center/">contact center</a> technology.</p><!--kg-card-begin: markdown--><ul>
<li>Switchboard and wallboard</li>
<li>Call Center Reporting &#x2013; user activity, team queue, SLA and more!</li>
<li>Queue Strategies and real-time statistics &#x2013; round robin, hunt by threes and more</li>
<li>Call &amp; Chat Monitoring available for Managers</li>
<li>Integration with Microsoft 365</li>
<li>CRM integration with popular CRMs &#x2013; Salesforce, Freshdesk and more</li>
<li>3CX CRM API to develop your own CRM integration</li>
<li>Call Recordings</li>
<li>Hot Desking</li>
<li>Create your own call flows with <a href="https://www.3cx.com/docs/manual/call-flow-designer-manual/">3CX CFD</a></li>
</ul>
<!--kg-card-end: markdown--><p><strong>Slash Costs</strong></p><p>With 3CX, your ongoing <a href="https://www.3cx.com/ordering/pricing/8x8-avaya-pricing/">telco costs</a> will be reduced significantly.</p><!--kg-card-begin: markdown--><ul>
<li>Decrease your Phone Bill by up to 80%</li>
<li>Licensing based on number of simultaneous calls and not extensions</li>
<li>Make free interoffice calls and branch calls</li>
<li>Free calls to remote workers with web client and iOS / Android apps</li>
<li>Use prominent SIP trunks to reduce outbound call charges</li>
<li>Eliminate 800 number phone bills with WebRTC integration</li>
<li>Use International DIDs &amp; IP Telephony so customers can call in at competitive rates</li>
</ul>
<!--kg-card-end: markdown--><p><strong>Security &amp; Backup</strong></p><p>When it comes to VoIP security, 3CX sets the standard. 3CX&#x2019;s inbuilt security features have been exclusively developed to protect your PBX system from attacks.</p><!--kg-card-begin: markdown--><ul>
<li>Increased secure web server configuration</li>
<li>Automatic detection &amp; blacklisting of SIP attack tools</li>
<li>Global IP Blocklist automatically updated for participating PBXs</li>
<li>Traffic to 3CX apps is encrypted via the 3CX Tunnel</li>
<li>Voice traffic is encrypted via SRTP</li>
<li>Automatic generation and management of SSL certs</li>
<li>Qualys labs A+ rating and Immunilabs A Rating</li>
<li>Automatic failover for instant backup</li>
<li>Encryption between browser and the website ensured via HTTPS</li>
<li>Limit access to 3CX management console based on IP</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/phone-system/call-flow-designer/"><strong>Call Flow Designer</strong></a></p><p>By utilizing 3CX&#x2019;s Call Flow Designer you can handle incoming calls effectively, efficiently and much faster. Here are just a few examples of how 3CX can improve your customer service:</p><!--kg-card-begin: markdown--><ul>
<li>Call routing based on customer authentication</li>
<li>Automatic outbound dialler</li>
<li>Callback scheduler</li>
<li>Credit Card Authentication</li>
<li>Phone Orders</li>
<li>Surveys</li>
<li>Automated Text to Speech &amp; Speech to Text in 120 languages</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/call-center/crm-integration/"><strong>CRM Integration</strong></a></p><p>3CX CRM integration can improve customer satisfaction, increase staff productivity and save you time. It supports all major CRMs including Salesforce, Microsoft Dynamics, Hubspot and more!</p><p>This is how it can help you:</p><!--kg-card-begin: markdown--><ul>
<li>Call journaling</li>
<li>Creates a new customer record for new numbers</li>
<li>Saves agents time searching</li>
<li>Chat journaling when using 3CX Live Chat</li>
<li>Call logging in your CRM records - even when using 3CX Apps!</li>
</ul>
<!--kg-card-end: markdown--><p><a href="https://www.3cx.com/pbx/hotel/"><strong>Hotel PBX</strong></a></p><p>3CX&#x2019;s hotel module enables you to provide high-end service, minus the cost. The Hotel Module is optimized for internal and guest communication with features such as:</p><!--kg-card-begin: markdown--><ul>
<li>Check-in/out of Guests</li>
<li>Sets extension to match guest name</li>
<li>Billing of external calls</li>
<li>Scheduling of wake-up calls</li>
<li>Blocking of external calls in vacant rooms</li>
</ul>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Cable Speed Table]]></title><description><![CDATA[<p>This won&apos;t be a long-winded blog post about the evolution of cable standards over the years, nuances of wire gauge and twist rates, and all the various connectors that can be used. There are so many other sites that have covered this, and entire novels could be (and</p>]]></description><link>https://blog.pcs.llc/categorize-your-cables/</link><guid isPermaLink="false">63b04bbffa3c5c3991b66898</guid><category><![CDATA[Ethernet]]></category><category><![CDATA[cables]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Sun, 01 Jan 2023 15:35:23 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2023/01/80mph-Speed-Limit-Sign-Square.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2023/01/80mph-Speed-Limit-Sign-Square.jpg" alt="Cable Speed Table"><p>This won&apos;t be a long-winded blog post about the evolution of cable standards over the years, nuances of wire gauge and twist rates, and all the various connectors that can be used. There are so many other sites that have covered this, and entire novels could be (and have been) written on the subjects. This is just a simple table to act as a quick reference for the various cable categories, their usable/rated speeds (not all of which are official), the distance that speed should be obtainable at (not all of which are agreed upon), and some notes. Enjoy!</p><!--kg-card-begin: html--><style>
    .gh-content table:not(.gist table) td:first-child {
    	background-image: none;
    }
    .gh-content table:not(.gist table) td:last-child {
    	background-image: none;
    }
    .gh-content table:not(.gist table) {
    	background: none;
    }
</style>

<table cellspacing="0" style="border-collapse:collapse; font-family:&quot;Times New Roman&quot;; table-layout:fixed; text-decoration-color:initial; text-decoration-style:initial; text-decoration-thickness:initial; width:745px">
	<tbody>
		<tr>
			<td style="background-color:#002060; border-color:black; border-style:solid; border-width:1px; height:40px; text-align:center; vertical-align:middle; white-space:normal; width:95px"><span style="font-size:15px"><span style="color:white"><strong><span style="font-family:Calibri,sans-serif">Cable Category</span></strong></span></span></td>
			<td style="background-color:#002060; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; text-align:center; vertical-align:middle; white-space:normal; width:86px"><span style="font-size:15px"><span style="color:white"><strong><span style="font-family:Calibri,sans-serif">Ethernet Speed</span></strong></span></span></td>
			<td style="background-color:#002060; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:white"><strong><span style="font-family:Calibri,sans-serif">Distance</span></strong></span></span></td>
			<td style="background-color:#002060; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:1px solid black; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:white"><strong><span style="font-family:Calibri,sans-serif">Notes</span></strong></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">1</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">1Mbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">N/A</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Voice Only Networks</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">2</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">4Mbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">N/A</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Voice and ARCnet Token Ring Networks</span></span></span></td>
		</tr>
		<tr>
			<td rowspan="3" style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:140px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">3</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Mbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Heavily used in early 1990&apos;s</span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:60px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100Mbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Varies</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:red"><span style="font-family:Calibri,sans-serif">Unofficial/Unsupported</span></span><br>
			<span style="font-family:Calibri,sans-serif"><span style="font-size:11pt"><span style="font-family:Calibri,sans-serif">Depending on cable, environmental noise, and switch, this can be anything from a dozen feet up to 100m(328ft)</span></span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:60px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">1Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Varies</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:red"><span style="font-family:Calibri,sans-serif">Unofficial/Unsupported</span></span><br>
			<span style="font-family:Calibri,sans-serif"><span style="font-size:11pt"><span style="font-family:Calibri,sans-serif">Depending on cable, environmental noise, and switch, this can be anything from a dozen feet up to 100m(328ft)</span></span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">4</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">16Mbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">&#xA0;</span></span></span></td>
		</tr>
		<tr>
			<td rowspan="2" style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:80px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">5</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100Mbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100Mbps = &quot;Fast Ethernet&quot;</span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:60px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">1Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Varies</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:red"><span style="font-family:Calibri,sans-serif">Unofficial/Unsupported</span></span><br>
			<span style="font-family:Calibri,sans-serif"><span style="font-size:11pt"><span style="font-family:Calibri,sans-serif">Depending on cable, environmental noise, and switch, this can be anything from a dozen feet up to 100m(328ft)</span></span></span></span></td>
		</tr>
		<tr>
			<td rowspan="4" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:140px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">5e</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">1Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Most popular standard in use since its release in 2001</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">2.5Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="background-color:white; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">802.3bz-2016</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:40px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">5Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">55m (180ft)</span></span></span></td>
			<td style="background-color:white; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:red"><span style="font-family:Calibri,sans-serif">Unofficial/Unsupported</span></span><br>
			<span style="font-family:Calibri,sans-serif"><span style="font-size:11pt"><span style="font-family:Calibri,sans-serif">Depends on cable, environmental noise, and switch</span></span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:60px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">15m (49ft)</span></span></span></td>
			<td style="background-color:white; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif"><span style="font-size:11pt"><span style="color:red"><span style="font-family:Calibri,sans-serif">Unofficial/Unsupported</span></span></span><br>
			<span style="font-size:11pt"><span style="color:black"><span style="font-family:Calibri,sans-serif">Depending on cable, environmental noise, and switch, this can be anything from a dozen feet up to 45m(148ft)</span></span></span></span></span></span></td>
		</tr>
		<tr>
			<td rowspan="2" style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:100px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">6</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">5Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">802.3bz-2016</span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:80px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">55m (180ft) - Unshielded<br>
			100m (328ft) - Shielded</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="font-family:Calibri,sans-serif">IEEE 802.3-2012 clause 55.7.2</span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">6a</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">ANSI/TIA-568.2-D (2018)</span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:40px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">7</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Uses GG45 or TERA connector instead of RJ45 connector.<br>
			It is an ISO standard, but not a TIA/EIA standard</span></span></span></td>
		</tr>
		<tr>
			<td rowspan="3" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:60px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">7a</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">10Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100m (328ft)</span></span></span></td>
			<td rowspan="3" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:normal; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">It is an ISO standard, but not a TIA/EIA standard</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">40Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">50m (164ft)</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">100Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">15m (49ft)</span></span></span></td>
		</tr>
		<tr>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">8.1</span></strong></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">25Gbps</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">30m (98ft)</span></span></span></td>
			<td style="background-color:#d9d9d9; border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Uses RJ45 connector.</span></span></span></td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black; border-top:none; height:20px; text-align:center; vertical-align:middle; white-space:nowrap; width:95px"><span style="font-size:15px"><span style="color:black"><strong><span style="font-family:Calibri,sans-serif">8.2</span></strong></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:86px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">40Gbps</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:116px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">30m (98ft)</span></span></span></td>
			<td style="border-bottom:1px solid black; border-left:none; border-right:1px solid black; border-top:none; text-align:center; vertical-align:middle; white-space:nowrap; width:434px"><span style="font-size:15px"><span style="color:black"><span style="font-family:Calibri,sans-serif">Uses GG45 or TERA connector instead of RJ45 connector</span></span></span></td>
		</tr>
	</tbody>
</table>
<!--kg-card-end: html--><p><strong>Update on Jan 26, 2023</strong> - I expanded the Cat 6 10Gbps entry to reflect shielded vs unshielded and clarify the exact part of the standard where it appears. </p>]]></content:encoded></item><item><title><![CDATA[Microsoft... You Are WEAK!]]></title><description><![CDATA[<p>As one goes about shoring up their IT security, one aspect of the process is limiting (or authorizing) the methods in which a &quot;secure connection&quot; is established. A secured cryptographic connection basically has 2 components, the &quot;protocol&quot; portion, and the &quot;cipher&quot; portion. Together these</p>]]></description><link>https://blog.pcs.llc/microsoft-you-are-weak/</link><guid isPermaLink="false">638409ab9b6139881b74b4c9</guid><category><![CDATA[Cipher Suites]]></category><category><![CDATA[Security]]></category><category><![CDATA[TLS]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Wed, 05 Oct 2022 00:07:00 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2022/11/WeakLink.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2022/11/WeakLink.png" alt="Microsoft... You Are WEAK!"><p>As one goes about shoring up their IT security, one aspect of the process is limiting (or authorizing) the methods in which a &quot;secure connection&quot; is established. A secured cryptographic connection basically has 2 components, the &quot;protocol&quot; portion, and the &quot;cipher&quot; portion. Together these create what is called a &quot;cipher suite.&quot; And, as should be no surprise, as technology advances, these cipher suites fall out of favor and are flagged as being &quot;weak&quot; or &quot;insecure&quot; as vulnerabilities are discovered, and/or computational power renders the security provided as trivial to break. Unfortunately, as I found out this past week, even big players on the block *cough* Microsoft *cough* occasionally don&apos;t get the memo about what they should/shouldn&apos;t use.</p><p>But, before we dive into this past months adventures... first a very rudimentary primer on cipher suites. If you already know about cipher suites... skip this paragraph... otherwise read on...</p><p>While this is a great oversimplification, the protocol portion of the process is what sets up the initial hand shake between two systems and negotiates what kind of packet exchange will take place. Think of this a bit like saying you are going to ship packages back and forth via USPS, UPS, FedEx, etc.. The protocol doesn&apos;t deal with the data... just how the data is shipped back and forth (again... massive oversimplification). The cipher on the other hand is how the messages will be encoded/decoded... it handles the scrambling/obfuscation of the data so that anyone listening in can&apos;t intercept and make use of the data. The cipher could be thought of as a language that both systems agree upon... English, French, Swahili, etc.. But, just because you happen to know Swahili doesn&apos;t mean you can watch the traffic and make sense of it... the language (cipher) just sets the ground rules of the language... there&apos;s a set of encryption keys that both parties will use to do the actual scrambling of the data. The language (cipher) chosen just tells both sides how to use the keys to encode/decode the data while they are speaking Swahili. Stick with me a minute on this one... In English I say &quot;cat&quot; and you know what that is. Well, if we agreed upon Swahili as our language, I would say &quot;paka&quot; instead. But, I want to obfuscate what I really mean, so my super secret decoder book tells me that when I want to say &quot;cat&quot; in Swahili, what I should really say is &quot;tumbili&quot; (the Swahili word for monkey). That way when someone listens in on the conversation, even though they know Swahili, they won&apos;t understand what the conversation is actually about because they don&apos;t have a copy of the secret decoder book.</p><p>OK... that was a lot of oversimplification... but that helped to bring it down to where most people can understand cipher suites at a base level.</p><p>So.. <strong><strong>&quot;Fantastic!&quot;</strong></strong> you say <strong><strong>&quot;We have some cipher suites that are safe and some that aren&apos;t. How do we know which ones we can trust to keep us safe?&quot;</strong></strong> I&apos;m glad you asked! A great site to check the status of a cipher suite is <a href="https://ciphersuite.info/">Ciphersuite Info</a> which will show you the security status for over 300 different common cipher suites. If you visit that site, you can see see the current security status..</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjCm9Iz-QBg0sHTuOIG4qUSOTknaPsNSf2yJ2D_d7Eua85R-k1pgkbmbxVriUB6em5eol4pvPX9AgKRy4WOFtuH-yA5Lhr693tTcegBAE5D0-PpPAuIy1hXvMIv2nAWBvb9jUH1PUL2GuJZlOdHw4md-sFX9H_YpAmekAhLoZixSeqr7yn8hwM9AaI-"><img src="https://blogger.googleusercontent.com/img/a/AVvXsEjCm9Iz-QBg0sHTuOIG4qUSOTknaPsNSf2yJ2D_d7Eua85R-k1pgkbmbxVriUB6em5eol4pvPX9AgKRy4WOFtuH-yA5Lhr693tTcegBAE5D0-PpPAuIy1hXvMIv2nAWBvb9jUH1PUL2GuJZlOdHw4md-sFX9H_YpAmekAhLoZixSeqr7yn8hwM9AaI-=s16000" class="kg-image" alt="Microsoft... You Are WEAK!" loading="lazy"></a></figure><p>I don&apos;t want to get into what all the name mean and do a history of each. But, breaking down a few basics from the above screen shot you&apos;ll see stuff like CBC which is &quot;Cipher-Block-Chaining&quot; and SHA which is &quot;Secure Hash Algorithms&quot; and the like. If you click on any one of them in the list you&apos;ll be presented with a more detailed breakdown of each to include any reasons to hint as why it has been given a particular rating.</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgfuE1fAtZaDj8GHgfji4XCw_TqWHTfexLWTDxvtbTNuMlAzhQbL3mDBCHfAOLu8fz_YhoyDhw7KwqX5PQCmqWuj4EbBWZy6mgL_Ez7CRHg-ocZXw5Gf2Hgo1MTM1_P26zHAshS64yzrRQiFKPUlsXQWi53z1XxPIW-1sCAWQW9kXDy4gn3cZix5XKx"><img src="https://blogger.googleusercontent.com/img/a/AVvXsEgfuE1fAtZaDj8GHgfji4XCw_TqWHTfexLWTDxvtbTNuMlAzhQbL3mDBCHfAOLu8fz_YhoyDhw7KwqX5PQCmqWuj4EbBWZy6mgL_Ez7CRHg-ocZXw5Gf2Hgo1MTM1_P26zHAshS64yzrRQiFKPUlsXQWi53z1XxPIW-1sCAWQW9kXDy4gn3cZix5XKx=w640-h146" class="kg-image" alt="Microsoft... You Are WEAK!" loading="lazy" width="640" height="146"></a></figure><p><br>As for the general meaning of the ratings... Pulling straight from their FAQ section, here&apos;s what each categorization means...</p><ul><li><strong><strong>Insecure </strong></strong>- These ciphers are very old and shouldn&apos;t be used under any circumstances. Their protection can be broken with minimal effort nowadays.</li><li><strong><strong>Weak</strong></strong> - These ciphers are old and should be disabled if you are setting up a new server for example. Make sure to only enable them if you have a special use case where support for older operating systems, browsers or applications is required.</li><li><strong><strong>Secure</strong></strong> - Secure ciphers are considered state-of-the-art and if you want to secure your web server you should certainly choose from this set. Only very old operating systems, browsers or applications are unable to handle them.</li><li><strong><strong>Recommended </strong></strong>- All &apos;recommended&apos; ciphers are &apos;secure&apos; ciphers by definition. Recommended means that these ciphers also support PFS (Perfect Forward Secrecy) and should be your first choice if you want the highest level of security. However, you might run into some compatibility issues with older clients that do not support PFS ciphers.</li></ul><p>The first 3 in the list are fairly self explanatory. It&apos;s that last one where they talk about &quot;Perfect Forward Security&quot; (PFS) that throws people off a bit. Not going too deep into the weeds, PFS is basically a mechanism by which if a hacker takes a packet and manages to decrypt it and thereby discover the key being used, that the key cannot be used to decrypt new packets being transmitted... or to determine future keys to allow the decryption of new packets. So, for now, PFS stands at the panicle of encryption techniques.</p><p><strong><strong>&quot;Fantastic!&quot;</strong></strong> you say. <strong><strong>&quot;We know know what&apos;s good/bad to use... but, how do we know what we are using?&quot;</strong></strong> I&apos;m so glad you asked! &#x1F601; While cipher suites can be used for so many different applications, the one most people use every single day without giving it a second thought is the ones being used to secure your web browsers connection to a given website. Any time you open up a browser and go to &quot;https://www.example.com&quot;... that &quot;S&quot; in &quot;HTTPS&quot; says it should be a secured connection. In many web browsers, if you see a padlock or shield next to the web URL after loading the site, that means the connection has been secured. There&apos;s an article by Microsoft that goes over what some of those symbols are and what they mean when visiting a website in Edge...</p><p><a href="https://support.microsoft.com/en-us/microsoft-edge/securely-browse-the-web-in-microsoft-edge-c7beb47a-de9e-4aec-839d-28224a13a5d2">https://support.microsoft.com/en-us/microsoft-edge/securely-browse-the-web-in-microsoft-edge-c7beb47a-de9e-4aec-839d-28224a13a5d2</a></p><p>Now... that padlock or shield just says it negotiated a secured connection... it doesn&apos;t actually mean that the connection is &quot;safe&quot; to use. Why? Well... because the cipher suite that you used to negotiate with may be considered weak or insecure! In fact, at the time of this writing, the Microsoft Support page linked above uses a weak set of cipher suites! &#x1F602; The way that you can see the cipher suite in use is to hit F12 in Edge or Chrome, then go to the Security tab and look at the connection properties. Viewing the Microsoft site in Chrome shows me that I&apos;m connected using a weak suite...</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj7Q-CwfHqULVJQR8xROo9bZCbQa7gz1-V1aJWseyjPYdt8j4iREpk8vAClyFRyrLwtQF3d9EeIoHpvqhjbTSjURpoHIU8Su2ocagrTPtDZ3wOvCvf0ZNaJj44ii2PzozE9ovB93mxfzn9Y1iQDDhrM7kDr8wC-AslwFbAYq7i-6vTNG6huHpnsOh2G"><img src="https://blogger.googleusercontent.com/img/a/AVvXsEj7Q-CwfHqULVJQR8xROo9bZCbQa7gz1-V1aJWseyjPYdt8j4iREpk8vAClyFRyrLwtQF3d9EeIoHpvqhjbTSjURpoHIU8Su2ocagrTPtDZ3wOvCvf0ZNaJj44ii2PzozE9ovB93mxfzn9Y1iQDDhrM7kDr8wC-AslwFbAYq7i-6vTNG6huHpnsOh2G=s16000" class="kg-image" alt="Microsoft... You Are WEAK!" loading="lazy"></a></figure><p><br><br><strong><strong>&quot;But, how can this be?!?&quot;</strong></strong> you say. <strong><strong>&quot;This is Microsoft! Certainly there must be a mistake. Surely you can connect to their site with a more secure cipher suite, right?&quot;</strong></strong> I love your optimism. Lets find out! As luck would have it, there&apos;s a website that you can use to check on the security of other websites. So, we can go to <a href="https://www.ssllabs.com/">https://www.ssllabs.com/</a> and enter in the &quot;support.microsoft.com&quot; URL and it will test what levels of security their website supports. At the time of this writing... they get an &quot;A&quot; for security score. That sound good right? Well... not quite so fast... scroll down in the report to the section where they list cipher suites available for connection and you&apos;ll see the following...</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjgU75WWMj_DfjWDgP0-ArPlMFYLo9gNo5--o-pf2CuzHX8r6lnnvW1gvyKYnqhb6UYHek5nwnpAdoDkNW5HR8UX7LF-5s5Nrr-bFRHu7Ky8HFoXwAzYzgaeBU2bu165o1tm3wn9bfvMU82SmX3lN8YBwi8GFTS2uzs8ZiDypi8ND0Wjjk35dwJchK5"><img src="https://blogger.googleusercontent.com/img/a/AVvXsEjgU75WWMj_DfjWDgP0-ArPlMFYLo9gNo5--o-pf2CuzHX8r6lnnvW1gvyKYnqhb6UYHek5nwnpAdoDkNW5HR8UX7LF-5s5Nrr-bFRHu7Ky8HFoXwAzYzgaeBU2bu165o1tm3wn9bfvMU82SmX3lN8YBwi8GFTS2uzs8ZiDypi8ND0Wjjk35dwJchK5=w640-h448" class="kg-image" alt="Microsoft... You Are WEAK!" loading="lazy" width="640" height="448"></a></figure><p><br>You&apos;ll notice that they only support TLS 1.2... which is perfectly fine. But, all of the TLS 1.2 cipher suites that they support are flagged as being weak!!! &#x1F632; There are no good/secure connection offerings available. For Shame!</p><p><strong><strong>&quot;My organization said we are disabling all weak cipher suites. So, what will happen when I try to visit the Microsoft Support website?&quot; </strong></strong>It&apos;s funny you should ask! I&apos;ve already done that myself and it&apos;s why I&apos;m aware of the fact that Microsoft&apos;s site has all weak cipher suites in use. When I open up Edge and go to the support website I&apos;m presented with the following error message...</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiDaXBLJGEyogpVg1sieE8tLnINMXBnDYAU6hnvZVjIrEkb5UCk7BIUSlT12wPcYkpuSOMI8f3_XWgTWaXxaBlxBijiTnJjhWcKVz9xzvgHP6mBfm7zLO0PRQseUtReo24lROWfuuPIqSgtNrgJGDrYOwftGfTCn3oE8B9wwgbFTLegaMeuYb2k_ae5"><img src="https://blogger.googleusercontent.com/img/a/AVvXsEiDaXBLJGEyogpVg1sieE8tLnINMXBnDYAU6hnvZVjIrEkb5UCk7BIUSlT12wPcYkpuSOMI8f3_XWgTWaXxaBlxBijiTnJjhWcKVz9xzvgHP6mBfm7zLO0PRQseUtReo24lROWfuuPIqSgtNrgJGDrYOwftGfTCn3oE8B9wwgbFTLegaMeuYb2k_ae5=s16000" class="kg-image" alt="Microsoft... You Are WEAK!" loading="lazy"></a></figure><p><br><br>So, on one hand, my settings worked exactly as intended. Disabling the known weak cipher suites prevented me from connecting to this site using a weak cryptographic connection. On the down side.... I can&apos;t connect to the site because there are no suitable/acceptable cipher suites available to choose from! &#x1F61B;<br><br></p><p>Unfortunately, there&apos;s not much I can do other than complain. I can&apos;t force Microsoft to update their website to use stronger cipher suites. The only solution I have at my disposal is to lower the overall security posture of my browser. Or, in my case, launch an alternative browser that isn&apos;t honoring the Group Policy settings that disable the use of weak cipher suites *cough* Chrome *cough*. So... yeah... Edge will honor Group Policy settings that are created to disable specific cipher suites. Chrome on the other hand does not have complementary Group Policy setting. The only way to force Chrome to disable cipher suites is at the command line when you launch/run the browser. You have to pass it in as a command line argument/parameter which from an IT administrator perspective is 1) really annoying to deploy to users, and 2) near impossible to enforce that it always be used. One basically has to find every shortcut created by the system to launch Chrome and replace the run line to look something like this:</p><p>C:\Program\ Files\ (x86)\Google\Application\chrome.exe &#xA0;--args --cipher-suite-blacklist=0x0088,0x0087,0x0039,0x0038,0x0044,0x0045,0x0066,0x0032,0x0033,0x0016,0x0013</p><p><strong><strong>Note: </strong></strong>Each one of those hex values (eg. 0x0088) correlates to a cipher suite</p><p>And, if Chrome is set to be the default browser, just clicking on a link in an email will cause the program to launch without honoring the black list. As of this writing, there&apos;s no way that I&apos;m aware to force the black list to be honored other than by command line arguments. Hopefully that changes some time in the future.</p><p>Long story short... nobody is perfect... not even Microsoft. (but, you didn&apos;t need me to tell you that, did you! &#x1F609;)</p><p><strong>Note:</strong> Post migrated from old Blogger website.</p>]]></content:encoded></item><item><title><![CDATA[Shrinking a 20TB Virtual Disk Formatted With ReFS]]></title><description><![CDATA[<p>Let us start with a bit of backstory before we dive into the &quot;how to&quot; portion shall we?</p><p>In the early days of using Veeam, the original backup and replication server I started with was a bare metal/physical server. The primary repository had a capacity of 20TB</p>]]></description><link>https://blog.pcs.llc/shrinking-a-20tb-virtual-disk-formatted-with-refs/</link><guid isPermaLink="false">638408699b6139881b74b491</guid><category><![CDATA[P2V]]></category><category><![CDATA[ReFS]]></category><category><![CDATA[SDelete]]></category><category><![CDATA[Storage]]></category><category><![CDATA[Veeam]]></category><category><![CDATA[VHDX]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Thu, 08 Sep 2022 00:04:00 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2022/11/thumb_ReFS.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2022/11/thumb_ReFS.png" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"><p>Let us start with a bit of backstory before we dive into the &quot;how to&quot; portion shall we?</p><p>In the early days of using Veeam, the original backup and replication server I started with was a bare metal/physical server. The primary repository had a capacity of 20TB of usable space and my clients were barely using any of it at the time. Fast forward a few years and I was approaching 16TB of that storage consumed and it was looking like there was no end in sight for growth, so I needed to find a replacement solution. While there were tons of options available, what I chose to go with (for better or worse) was a server which had over 5 times the storage capacity as the original. But, this time I intended to use it as a hypervisor to pull double duty and make storage management of backups a bit easier to deal with... or so I thought at the time...and I was more or less right in the end.</p><p>Rather than stand up a new Veeam Backup &amp; Replication server and start all over... and in doing so leave the existing server in service while backups aged off over the next two years... I chose to instead do a Physical-to-Virtual (P2V) conversion of the old/original server. I&apos;ve done this dozens of times before using the Veeam Agent for Windows... Just never on anything quite so large before. But... Like so many other conversions... It worked like a charm. I took a backup of the server, stood up a fresh VM on the new hypervisor and did a restore. Boom! Other than the amount of time it took because of the sheer mountain of data being moved... everything worked fantastic. &#x1F603;</p><p>&#x1F4CC;<strong><strong>Side Note:</strong></strong> I could have also simply moved the backup files over to the new server, but in doing so it would have lost all the <a href="https://docs.microsoft.com/en-us/windows-server/storage/refs/block-cloning" rel="nofollow">ReFS block cloning</a> benefits. While I did have enough available space to accommodate re-hydrating all the files, the thought of consuming roughly 60% of the new servers capacity right out of the gate was not appealing. Anyway... I digress...</p><p>With the P2V conversion out of the way, over the next few months each client was slowly transitioned over to using their own dedicated repositories... each residing on their own virtual disk. One advantage of this was that I found it was much easier to seed a repository for a new client during the onboarding process (trying to push 3TB of client data out of a 10Mbps DSL Internet connection is just not practical). This transition also significantly reduced the amount of data consumed on the original 20TB volume as short term retention policies quickly freed up a lot of space. The longer GFS retention settings however meant that there was still a substantial amount of data remaining on that volume.</p><p>Having freed up over 6TB of space (leaving me with ~10TB) I was eager to reclaim some of that space by trying to shrink and compact the virtual drive. With a volume formatted with NTFS, the process would have been quite simple... Defrag the drive to push the contents to one end of the volume, shrink the volume, then shrink or compact the virtual disk using any number of available methods. You don&apos;t really need to go through all of that just to shrink the virtual disk... but it does help from a house keeping perspective and it also prevents the drive from inadvertently growing back up to an unruly size. Drives formatted with ReFS are however limited to only being expanded... you cannot shrink an ReFS volume (at least not that I&apos;ve ever discovered). I set out to do the other usual steps without first shrinking the volume and quickly ran into trouble. None of my usual methods of shrinking were working (I tried about 5 different methods with very limited success)... I was seemingly stuck with a +16TB virtual disk even though I was only consuming just under 10TB. But.. all hope was not lost... SDelete to the rescue!</p><p>The main problem I was having is that there was still non-zeroed data in the clusters on the virtual volume. With a non-zero value present, the compacting tools were refusing to free up any significant amount of space. (I did manage to recover about 1TB of space with my normal methods... but not the expected +6TB of space I was hoping for). As luck would have it though, the <a href="https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete">Microsoft Sysinternals team has a product called SDelete</a> that can write zeros to all the free space on a volume to alleviate that issue. After using SDelete, I was able to compact the virtual disk down to about 10TB. All was good with the world.</p><p>Fast forward and now there is hardly any data remaining on the drive (relatively speaking). Due to aging of backups, manually moving some remaining backups to another volume, and just manual deletions in general, only ~1TB remains... and this remaining data is projected to stick around for the foreseeable future. So... Time for another shrinking session to free up another 9TB of space! I&apos;ve learned a few extra tricks along the way and here&apos;s how I went about doing this latest one...</p><p>&#x23F0;Backing up a bit though, I actually started this process off with ~3TB of data... I&apos;ll explain a bit more on that in a minute.</p><p>I started off by moving the the 10TB virtual disk to a new storage pool. This was done as a live migration to avoid any downtime. The migration took the better part of a day. Once moved, I ran SDelete to zero out all the free space. In this case running &quot;<strong><strong>sdelete64.exe -z d:</strong></strong>&quot; was the magic command of the day. I then spent the next half day watching the 20TB volume completely fill to 100%.</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0X0xVN7HBxtz_yWLeQehDRMWJJpzrh7aeKkZJgm3-jDT9CMp_Zw_k-8zx81WSa7BMCFp4iESB_pvRH0jN1-ZdbzUrRbfjlb6NmvPwnnLaPrrWjU1_van96Q_9VldUvY-nnKC2x4RLEj2DNPUR_-B_VhGLQWjLZzJOLsbqyhKxG2CH_E2C4sG8lW5v/s226/SDelete-DriveFull.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="68" data-original-width="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0X0xVN7HBxtz_yWLeQehDRMWJJpzrh7aeKkZJgm3-jDT9CMp_Zw_k-8zx81WSa7BMCFp4iESB_pvRH0jN1-ZdbzUrRbfjlb6NmvPwnnLaPrrWjU1_van96Q_9VldUvY-nnKC2x4RLEj2DNPUR_-B_VhGLQWjLZzJOLsbqyhKxG2CH_E2C4sG8lW5v/s16000/SDelete-DriveFull.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Drive Full</td></tr></tbody></table><!--kg-card-end: html--><p>But... don&apos;t panic... the virtual drive does <strong><strong><u>not</u></strong></strong> expand at this point. Because it&apos;s all zeros being written, the underlying virtual disk didn&apos;t budge in size. It stayed at 10TB the whole time. The zero data that SDelete is generating is written to a hidden file at the root of the volume. As soon as the volume hits 100% capacity, that file is deleted and the actual used space is once again properly reported (in my case just under 3TB). The second phase of SDelete is to purge the MFT files. This is where things get a bit weird. There&apos;s been a known bug in SDelete v2.x whereby the percent complete does not always report properly. And, in my case... by a LARGE amount...</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFmSfhhfB_KnGr9_Ky4riOue2qeOO2g4A1fUIcNZZIGYmbZicXG0VM4ktAVXvLX6tm_VmD0xtVqLmtWsZjdevAYiD--olEO8YLBTaaFB8TUa-RD0HQ-Nm_31Ng9fNcfORcXQdvKZUNr3g1JvBmt8kWXI_ei_FQriQ4PY4PcjtoJJXheL1-wB-QTg9b/s308/sdelete-mft-file-purge.PNG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFmSfhhfB_KnGr9_Ky4riOue2qeOO2g4A1fUIcNZZIGYmbZicXG0VM4ktAVXvLX6tm_VmD0xtVqLmtWsZjdevAYiD--olEO8YLBTaaFB8TUa-RD0HQ-Nm_31Ng9fNcfORcXQdvKZUNr3g1JvBmt8kWXI_ei_FQriQ4PY4PcjtoJJXheL1-wB-QTg9b/s1600/sdelete-mft-file-purge.PNG" class="kg-image" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS" loading="lazy" width="308" height="175"></a></figure><p><br>Nothing quite like having a reported 1 BILLION percent complete! &#x1F602; I&apos;m not sure if this is something with the how SDelete interacts with this particular version of Windows Server (Server 2016), the version of ReFS version (ReFS version 3.1), an issue with it being such a large volume, something with it being on a virtual disk... the fact that SDelete was originally created to work with NTFS volumes (more on that later)... I just don&apos;t know to be honest. I just know it&apos;s been reported as an issue by many different people for a few years now and seems to remain a problem as of SDelete version 2.04.</p><p>Anyway, during this purge process you&apos;ll notice that the drive volume grows once again. This is due to the hidden file once again at the root of the volume (SDELMFT000000) which as of the above screenshot had already consumed over 1.5TB of space. It also took what was feeling like forever to do the MFT purge. Whereas it only took a shade over 7 hours to write all the zero data for the drive in the first phase... the MFT file purge writes much slower to the disk and as such was on track for taking 160 hours (over 6 days) to finish this second phase.&#x1F632; (I&apos;m sure it doesn&apos;t help that this virtual disk sits on mirrored pool of spinning rusty metal if you haven&apos;t already jumped to that conclusion).</p><p>Several people have reported it was OK to let this second phase finish. But, I was growing impatient and killed the process with CTRL+C which cleanly closed the program and removed the hidden file it was creating. The reason I killed SDelete is that ReFS does not have a traditional MFT like NTFS. According to the software&apos;s documentation, what this phase is attempting to do is write files small enough that the data is stored within the MFT itself rather than written out to disk somewhere with a reference in the MFT. So, this phase... to the best of my knowledge... should be omitted from drives formatted with ReFS (again, SDelete was written for NTFS, not ReFS volumes). On an ReFS volume, if this phase is left to run to completion, it seems to simply re-zero the volume again, only this time much slower because it&apos;s doing so with very tiny file writes. With SDelete finished doing it&apos;s magic the virtual drive is still at the same 10TB it started at... but don&apos;t fret... it&apos;s magic time!</p><p>With zeroing the free space complete, I did another live migration of the virtual drive back to its original storage location. The migration back was significantly faster... correction... &quot;shorter&quot;... &#xA0;because the only thing being moved is the actual data consumed at this point. All the free space, having been zeroed out, is ignored. Thus, in doing the move, the drive was auto-magically compacted and my final virtual disk size was reported at just over 3TB... Ok... So... Not really. It only shrunk it down to 7TB. &#x1F61E; And here&apos;s the reason why...</p><p>When data is written to a volume it is written to a &quot;cluster&quot; in the volume. That cluster has a fixed size associated with it. For NTFS and ReFS formatted volumes the default cluster size is 4kB. This size is set when you format the drive and cannot (to my knowledge) be changed thereafter. Here&apos;s an example of selecting the two cluster size options (shown as &quot;Allocation unit size&quot;) for ReFS via the Windows Explorer drive format GUI, as well as an example of using the Disk Manager wizard showing the 8 (yes eight!) cluster size options available when formatting a volume with NTFS.</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggYiCTZCs95mpARUPIZxUdlo1Hd5tw0wu-X2_af874jxjrwuiN0yKcup3xJWGgLX7h4QJiYY5EKSKB-PvBMkpyYfcmkXYZCPMezCGzIVmR924EgTK2NME_bBOo_5imYRK5vWQxksfduGGTP8NuRdZ37V4rO84cw6d7XxaiW3dZaf8SfMhh9hiu5ik3/s227/ClusterSize.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="177" data-original-width="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggYiCTZCs95mpARUPIZxUdlo1Hd5tw0wu-X2_af874jxjrwuiN0yKcup3xJWGgLX7h4QJiYY5EKSKB-PvBMkpyYfcmkXYZCPMezCGzIVmR924EgTK2NME_bBOo_5imYRK5vWQxksfduGGTP8NuRdZ37V4rO84cw6d7XxaiW3dZaf8SfMhh9hiu5ik3/s16000/ClusterSize.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a>&#xA0;</td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">ReFS Cluster Options</td></tr></tbody></table><!--kg-card-end: html--><p><br></p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5g3ixG7qJRjCmFqRWFvpWA-Hbj-dWvrRjZPTYApIeA2nznjpesMdYI6AHIV0mPWEvb-leU4en8kk-j6OhPXBYdS2MxF7o204QRCyl6cCN0DAcXZgKueuy1KcaSS_rtHBu0iYS9MIvUg-m7JM72H4rT99SdH3mV6bsb17yuZC3h1dxZQwUoZQ9tOJ/s445/ClusterSize2.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="350" data-original-width="445" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5g3ixG7qJRjCmFqRWFvpWA-Hbj-dWvrRjZPTYApIeA2nznjpesMdYI6AHIV0mPWEvb-leU4en8kk-j6OhPXBYdS2MxF7o204QRCyl6cCN0DAcXZgKueuy1KcaSS_rtHBu0iYS9MIvUg-m7JM72H4rT99SdH3mV6bsb17yuZC3h1dxZQwUoZQ9tOJ/s16000/ClusterSize2.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">NTFS Cluster Options</td></tr></tbody></table><!--kg-card-end: html--><p>However, when I formatted this volume, per recommendations from Veeam, I formatted it with a cluster size of 64kB. Why does any of this matter? Well... if data is written to the cluster, but the cluster isn&apos;t full, the cluster still has to be tracked by the underlying VHDX file regardless of how full it is. This means that if even so much as 1kB of data is written into the cluster, the VHDX has to account for and track 63kB of empty space. Here&apos;s a perfect example of a text document with only six lines of text and is stored on a volume formatted with 64kB cluster size...</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Pe8MfVi8bLbuzpklOK46Z38Ie-WI8jLZvWUPNm8teSe_2qYjNT0OU21ZFst-ZdgsuXJNt9phxRKf8yihc5F8vu3Dl72KP7Rn_6EkCKb2R5VRsapmiIiB9aklWIlysys9yeZl8SA_JhWTLs3l_UwsYK_i8j2Ko9T-aqEx2cCEFtjPJ0N6Gq7CKByB/s199/SlackSpaceExample.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="136" data-original-width="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Pe8MfVi8bLbuzpklOK46Z38Ie-WI8jLZvWUPNm8teSe_2qYjNT0OU21ZFst-ZdgsuXJNt9phxRKf8yihc5F8vu3Dl72KP7Rn_6EkCKb2R5VRsapmiIiB9aklWIlysys9yeZl8SA_JhWTLs3l_UwsYK_i8j2Ko9T-aqEx2cCEFtjPJ0N6Gq7CKByB/s16000/SlackSpaceExample.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">File Properties</td></tr></tbody></table><!--kg-card-end: html--><p>This empty space in the cluster is called &quot;Slack Space&quot; and has been used by crafty hackers to store bits of malicious code.</p><figure class="kg-card kg-image-card"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOIXBD-GriRmw59EzD3sx6dQ0p9SgLhgrLeUeoE-vOng1LuhWaWUGPFTS3tu4wuGLMhgjFBOJ5mXr3HrTUA94l1bL39FYOAiq2clQBsiUbz0Sj7lgtPKO7gLKa95jpg0R-px8ljI_2iWbINs0ufurf7zqelm6WEPJQ5tJLols26E9CIamjACya5aTM/s885/Blocks%20With%20Slack%20Space.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOIXBD-GriRmw59EzD3sx6dQ0p9SgLhgrLeUeoE-vOng1LuhWaWUGPFTS3tu4wuGLMhgjFBOJ5mXr3HrTUA94l1bL39FYOAiq2clQBsiUbz0Sj7lgtPKO7gLKa95jpg0R-px8ljI_2iWbINs0ufurf7zqelm6WEPJQ5tJLols26E9CIamjACya5aTM/w640-h182/Blocks%20With%20Slack%20Space.png" class="kg-image" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS" loading="lazy" width="640" height="182"></a></figure><p>This particular drive I knew was heavily fragmented from many years of use and it wasn&apos;t entirely surprising to know that I had over double the volume consumed in part because of having to track partially filled clusters (it wasn&apos;t the only contributor of course). I&apos;ve used the Windows Defrag tool on the drive, but if I&apos;m being honest... using the Windows Defrag tool is basically just a way of checking the box so you can tell your manager &quot;yes, I defragmented the drive&quot;... but it really doesn&apos;t do that fantastic of a job IMHO. So... not being completely happy with my initial space savings, I set out to &quot;properly&quot; defragment the volume to combine the clusters. The sad story of which was in my previous post &quot;<a href="https://blog.pcs.llc/2022/09/lessons-learned-in-pain-disk.html" rel="nofollow">Lessons Learned In Pain: Disk Defragmentation</a>&quot;... So, I&apos;ll let you read that rather than rehashing it all again here. But, the short version of my initial defragmentation attempt was that it was an utter failure. The defrag program I used didn&apos;t know how to deal with Block Cloning and it re-hydrated all my backups bloating them up to roughly 6TB, and because of moving data around on the drive during the defrag process... it expanded out the VHDX file to just over 12TB! &#x1F635; (talk about one step forward, two steps back!)</p><p>Being more than a little disgruntled about the drive having lost its block cloning benefits, I moved over a bunch of backups to their own volume to let them age off in another location. What I was left with was 1.1TB data that will stick around for the foreseeable future until the serve is decommissioned. So, I took another swing at defragmenting the drive. Now, the slack space as noted before is one reason the drive didn&apos;t shrink as far as it could/should have. Another reason is that the data was fragmented and scattered all over the drive meaning that there weren&apos;t large segments of zeroed data. Take for instance these two pictures here...</p><p><br></p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeqTaWEIt35Z8kqDVh-FWrotqz9rdq_n-WBN9mScSPnO7RHUz65hKHNuRjPkElyMmFSoCSEx3iLpsNcY1nQaErJ_WHnvPNxqHY-F6kEpx8GZ0QgKdJOvOOBxFhWG6Ilv4AoOSaRT62TVCde62fgUy1Y-SZDvTdIu50O51Xrz86sEkdRL2qdazqGSbl/s880/Blocks%20Non-Continguous.png" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img alt="Shrinking a 20TB Virtual Disk Formatted With ReFS" border="0" data-original-height="141" data-original-width="880" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeqTaWEIt35Z8kqDVh-FWrotqz9rdq_n-WBN9mScSPnO7RHUz65hKHNuRjPkElyMmFSoCSEx3iLpsNcY1nQaErJ_WHnvPNxqHY-F6kEpx8GZ0QgKdJOvOOBxFhWG6Ilv4AoOSaRT62TVCde62fgUy1Y-SZDvTdIu50O51Xrz86sEkdRL2qdazqGSbl/w640-h102/Blocks%20Non-Continguous.png" title="Data Interweaved With Empty Blocks" width="640" style="border: 0px; max-width: 100%; height: auto;"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Fragmented Data Storage</td></tr></tbody></table><!--kg-card-end: html--><p><br><br></p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpfO7hw14wIv4Ld5O2EMjDzE6lVjJnArojKnxPmuiMFNZVX9DIDga5J1B8M-hx7iFsgq1LcmJF3vBU0SbbSj-Oc5VgUE5majPcZ6PXMvZEaycTyKRD7NK6CTnV6WhZWOyYihiTSBySRcwoEyc3pLb2s_rGw7DtdzmzTyii-jhj4StJOgN06p-Xsq0/s885/Blocks%20Contiguous.png" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img alt="Shrinking a 20TB Virtual Disk Formatted With ReFS" border="0" data-original-height="141" data-original-width="885" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpfO7hw14wIv4Ld5O2EMjDzE6lVjJnArojKnxPmuiMFNZVX9DIDga5J1B8M-hx7iFsgq1LcmJF3vBU0SbbSj-Oc5VgUE5majPcZ6PXMvZEaycTyKRD7NK6CTnV6WhZWOyYihiTSBySRcwoEyc3pLb2s_rGw7DtdzmzTyii-jhj4StJOgN06p-Xsq0/w640-h102/Blocks%20Contiguous.png" title="Data and Empty space are both contiguous" width="640" style="border: 0px; max-width: 100%; height: auto;"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Contiguous Data Storage</td></tr></tbody></table><!--kg-card-end: html--><p><br></p><p>Even though the clusters are full in the first picture, there are segments in between that are empty. Now, <u>it is to my understanding</u> (I&apos;m happy to be told I&apos;m wrong) that those empty clusters have an entry for them too, and that entry is fairly small. But, the entry made is for a range of clusters, not just a cluster by cluster entry. So, if you have a large contiguous range of clusters, there would be a single entry for all of them in a row (e.g. clusters &quot;30-35&quot;, rather than, &quot;30, 31, 32, 33, 34, 35&quot;), but, if you had the same number of clusters split into ten regions, then there would be ten entries to account for those ranges of clusters. As I understand it (again, I&apos;m not a storage system engineer), these entries aren&apos;t anywhere nearly as significant as the issue surrounding partially filled clusters and slack space, but it apparently exists as part of the equation all the same. I&apos;ve also read in a few places that if the empty clusters are few in number between two clusters filled with data, that rather than being flagged as empty, they&apos;ll be accounted for just as if they did hold data. Whatever the true story is, my personal experience has shown that it impacts being able to compress the drive.</p><p>So, with that in mind, I told the defrag utility to pack all the clusters sequentially, sorting the data by file names, which shoves them all to the front end of the volume, both minimizing slack space and maximizing contiguous clusters of real and empty data. I then waited patiently for another 20+ hours for the volume to be defragmented (I hate waiting). Here&apos;s the visual representation of cluster placement before and after the defrag...</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXedUXaCuc-F8hEYK_DA0OA8Mc5T1VO_gEfxHLlClRtFGyHadMa8xgQ5n_WwCb9d7Ik5qyTor-X1Y8dJKk0ErF3vCxV9mcogQPiWvd5cs6xOVVYlY-3zG95VDQW_FWPLU_XZaz0oAxx4VmVfOLH0FGXZmqDPk9qur2G-TBu2-Bkgzs70oFHCGMvGcT/s670/DefragReportClusterView.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="349" data-original-width="670" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXedUXaCuc-F8hEYK_DA0OA8Mc5T1VO_gEfxHLlClRtFGyHadMa8xgQ5n_WwCb9d7Ik5qyTor-X1Y8dJKk0ErF3vCxV9mcogQPiWvd5cs6xOVVYlY-3zG95VDQW_FWPLU_XZaz0oAxx4VmVfOLH0FGXZmqDPk9qur2G-TBu2-Bkgzs70oFHCGMvGcT/s16000/DefragReportClusterView.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Defrag Report</td></tr></tbody></table><!--kg-card-end: html--><p><br></p><p>And, for what it&apos;s worth, one of the files that was listed in the pre-defrag analysis report was for an old company laptop, the backup file of which was only 190GB in size, but had a reported 17,002 fragments! &#x1F61D; Like I said... it was an old volume... and the native Windows Defrag didn&apos;t do much to ever help that volume stay clean. &#x1F937;</p><p>&#x1F4CC;<strong><strong>Side Note/Tangent: </strong></strong>Where I have found smashing all the data down to the front end of the volume has been most important <u><em>for me</em></u> has been when shrinking an NTFS volume (I&apos;m talking about the actual volume, be it stored on a physical or virtual drive). The reason being is that you can only shrink the volume down to the last cluster that has data stored in it. If that cluser is near the end of the volume, you won&apos;t be able to shrink it very far. A small handful of partition manager applications will proactively move data for you prior to shrinking... but most wont. So, I always suggest using a good defrag tool like O&amp;O Defrag to clean up the space before attempting to shrink a volume. As for &quot;when/why do you shrink a volume?&quot;... it is most often times done when I clone an HDD drive to an SSD drive and the HDD is significantly larger than the SSD. One could very easily argue that defrag is most important when optimizing the performance of an HDD (which is why it was developed in the first place), but I tend to convert more systems to SSD rather than leave them running on HDDs if I can help it. On with the story...</p><p>So, with the drive finally defragmented I once again ran through the same process as before... I ran the same SDelete command as before. This time I canceled it as soon as it hit the second phase where it tries to zero the MFT. And, like before, I migrated the drive which did the auto-magic compression... and BOOM! the end result was a 1.1TB VHDX file! &#x1F601; Which if you are keeping tabs on the story from beginning to end... it means I went from 10TB down to 7TB up to 12TB &#xA0;and finally down to 1.1TB &#xA0;for a total reclaimed space of 9TB! &#x1F923;&#x1F923; And... the whole time I did all of this I had zero system downtime. &#x1F609;</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ozfD8dvlCPHq30fG1J_iUOFwyAd3odZg3AbTIpOgEN_5u_5kx1D33VGVBrVevbXL1DLRNARaqBhpt8RsT8W94jBmmnZ6bTOKZc3WGwAA1P_msGFRuA_vzBC8RCUIg3E_g0Y5H1QYKojwWUq-4YYITsR-VewfVGNXIz16z4uxsax1WilH-NE8-5lB/s306/VHDX-Before.PNG" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="135" data-original-width="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ozfD8dvlCPHq30fG1J_iUOFwyAd3odZg3AbTIpOgEN_5u_5kx1D33VGVBrVevbXL1DLRNARaqBhpt8RsT8W94jBmmnZ6bTOKZc3WGwAA1P_msGFRuA_vzBC8RCUIg3E_g0Y5H1QYKojwWUq-4YYITsR-VewfVGNXIz16z4uxsax1WilH-NE8-5lB/s16000/VHDX-Before.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Before Migration</td></tr></tbody></table><!--kg-card-end: html--><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><img border="0" data-original-height="139" data-original-width="304" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsJ0pWcqzNtbiiCWco_fG7epvQuvujQLUFAysV8h6DRbSJrIjSTmolwnKpqj7ceaPBdKJJshzIhKfIMi-DUYBjmM7FpK6KFDXWkdTWkhxrd_eSjlAictooeAFYtJKIiWZdDeFunBwlBm6F71Oj7K9FIJXsvkfKo6OoKUJUNBFdIQoV-fdAK6FZSzxr/s1600/VHDX-After.PNG" width="304" style="border: 0px; max-width: 100%; height: auto; margin-left: auto; margin-right: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">After Migration</td></tr></tbody></table><!--kg-card-end: html--><p><br></p><p><strong><strong>&#x1F46E;Disclaimers: </strong></strong>Now, I&apos;ll say this much... While I did do this all live with zero down time, I wouldn&apos;t say that&apos;s a wise choice for everyone. I got away with doing it live mainly because the contents of the drive are stale at this point and no user data was being read from the drive much less written to the drive during this process. I would <u><strong><strong>not</strong></strong></u> recommend doing this live on a drive that had any significant amount user data access for fear of potential corruption or crashing of an application trying to write to disk. As was noted, the defrag program I chose was a horribly wrong choice due to it not knowing how to deal with block cloning and thus killing my storage savings... so pick a different defrag program. But, if you aren&apos;t using block cloning on your volume... O&amp;O Defrag is a good program in all other respects! Additionally, SDelete was written to work with NTFS and nobody from the dev team (to my knowledge) has ever reported that it is actually safe or compatible for use with ReFS. The only confirmation that it&apos;s &quot;safe&quot; are the dozens if not hundreds of users who&apos;ve said they&apos;ve used it without issues other than noted above. That said... your mileage may vary! And, a final note... although the underlying VHDX file was successfully reduced in size, the ReFS volume was not... it&apos;s still 20TB... and since ReFS doesn&apos;t support drive quotas, there&apos;s nothing explicitly in place to prevent data from being written to the drive and causing it to bloat back up again... potentially all the way up to it&apos;s full 20TB capacity!</p><p>As a point of observation, here&apos;s the Disk Throughput on the hypervisor during the 1) zeroing process with SDelete, 2) migration of the 1.1TB of data between the temp drive and the production environment, 3) the completion of the migration of the zeroed out data... essentially the compacting of the VHDX file where Hyper-V was still transferring the drive, but all it was actually doing was reading zeros and not writing anything to the new VHDX file.</p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; color: rgb(63, 66, 63); font-family: Ubuntu; font-size: 20px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN7-3clgHY-sJDvCYNK-fKWhaMwp9UllZYOiD1Uy-_eTYHdxtbP8TZ2CSkcAfw4PBsavRv541OtLSt_WM4qWY3kHdvC9_mDXroHPhBo87P21msyiqZuUvsGZYWR0H3T4xRdWjOuqwNJGNX7jd0MhE1pdhM9U8YBxkDEWca2W8pd4P4M9T0bFrHqN-M/s599/DiskThroughput.PNG" imageanchor="1" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; display: inline-block; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="156" data-original-width="599" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN7-3clgHY-sJDvCYNK-fKWhaMwp9UllZYOiD1Uy-_eTYHdxtbP8TZ2CSkcAfw4PBsavRv541OtLSt_WM4qWY3kHdvC9_mDXroHPhBo87P21msyiqZuUvsGZYWR0H3T4xRdWjOuqwNJGNX7jd0MhE1pdhM9U8YBxkDEWca2W8pd4P4M9T0bFrHqN-M/s16000/DiskThroughput.PNG" style="border: 0px; max-width: 100%; height: auto;" alt="Shrinking a 20TB Virtual Disk Formatted With ReFS"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">Disk Throughput</td></tr></tbody></table><!--kg-card-end: html--><p><br></p><p>Anyway... that was my adventure in shrinking a 20TB virtual disk formatted with ReFS. The completion of the task at hand was only partially successful since using O&amp;O Defrag killed the block cloning savings offered by ReFS. With the release of Veeam 12 around the corner, we should hopefully be getting the ability to migrate backups from one repository to another <u>while maintaining ReFS/XFS block cloning benefits</u>! &#x1F60D; Being able to stand up a new repo and move backups without losing block cloning would have rendered this whole adventure moot... I would have simply migrated and blown away the old repo. That said, this is still a good IT nugget to keep in your back pocket in case you need this to shrink a storage volume.</p><p><strong>Note:</strong> Post migrated from old Blogger website.</p>]]></content:encoded></item><item><title><![CDATA[Lessons Learned In Pain: Disk Defragmentation]]></title><description><![CDATA[<p>The joke is that the definition of an expert is someone who&apos;s made all possible mistakes in a very narrow field of study. Well... Apparently I&apos;m not an expert yet because I just had made a mistake this past week. Hopefully by sharing this, someone else</p>]]></description><link>https://blog.pcs.llc/lessons-learned-in-pain-disk-defragmentation/</link><guid isPermaLink="false">638407ac9b6139881b74b452</guid><category><![CDATA[Block Clone]]></category><category><![CDATA[Defragmentation]]></category><category><![CDATA[O&O Defrag]]></category><category><![CDATA[ReFS]]></category><category><![CDATA[Storage]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Tue, 06 Sep 2022 23:59:00 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2022/11/O-O-Defrag.PNG" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2022/11/O-O-Defrag.PNG" alt="Lessons Learned In Pain: Disk Defragmentation"><p>The joke is that the definition of an expert is someone who&apos;s made all possible mistakes in a very narrow field of study. Well... Apparently I&apos;m not an expert yet because I just had made a mistake this past week. Hopefully by sharing this, someone else can learn from my mistake to prevent them from going through the same pain I just did.</p><p>Thankfully, this mistake wasn&apos;t an earth shattering issue. More of an annoyance really than anything. Still... not something I would want to go through again. So, without further adieu... I share with you this &quot;Lesson Learned In Pain: Disk Defragmentation&quot;</p><p>As a Managed Service Provider (MSP), one of my services is to provide storage for off-site backups. And, as one would expect, I manage the server that these backups land on. One of the storage servers is winding down on its service life but is not yet completely empty. There are still a handful of backups (and most of those are for company internal use) that had either not aged off yet, or have not been moved to another storage repository. The volume that these backups are stored on uses the ReFS file system and takes advantage of Block Cloning to help save space. On this particular volume, it had 20TB of available space, of which only 3TB of it was still in use. However, if you go into Windows File Explorer to the root of the drive, select all and then right click and select properties... It would report back that there was nearly 6TB of data on the drive. And, that&apos;s <u>not</u> an error. The reason for the discrepancy is that the <a href="https://docs.microsoft.com/en-us/windows-server/storage/refs/block-cloning" rel="nofollow">Block Cloning from ReFS</a> gave me roughly a 2-to-1 space savings for that particular set of backups (for what it&apos;s worth, many of my ReFS backup repositories are typically closer to 5-to-1). Here&apos;s a perfect example of a 5:1 space savings with a screenshot of the two property windows side by side. On the left, it shows a 3TB volume (Drive G:) formatted with ReFS reporting that only 2.47TB of the drive is in use. On the right is the file level properties for the same volume (G:\), this time showing that 12.3TB of data is stored on the volume.</p><p><br></p><!--kg-card-begin: html--><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="border-collapse: collapse; border-spacing: 0px; margin-left: auto; margin-right: auto;"><tbody><tr><td style="padding: 0px; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh4NnVLxfBzWzlSZp9Az7f_qgimGP1Z9f527yXWWWMwv1tut-McSn9bFdnFOJ3Q_QTCBp1AoDEEYKp5h0-xtSVb6aeKH9wRX9GgnAFUtdbV4j1gLWSB6doBPUQEWiO7qvuI3xpsCUFyM4PnV8OnbOY53zgOEr7IwkOsIAGYZ-cyUnUsfYn_t7CjoElR" style="background: transparent; color: rgb(155, 83, 1); cursor: pointer; text-decoration: none; margin-left: auto; margin-right: auto;"><img data-original-height="261" data-original-width="592" src="https://blogger.googleusercontent.com/img/a/AVvXsEh4NnVLxfBzWzlSZp9Az7f_qgimGP1Z9f527yXWWWMwv1tut-McSn9bFdnFOJ3Q_QTCBp1AoDEEYKp5h0-xtSVb6aeKH9wRX9GgnAFUtdbV4j1gLWSB6doBPUQEWiO7qvuI3xpsCUFyM4PnV8OnbOY53zgOEr7IwkOsIAGYZ-cyUnUsfYn_t7CjoElR=s16000" style="border: 0px; max-width: 100%; height: auto;" alt="Lessons Learned In Pain: Disk Defragmentation"></a></td></tr><tr><td class="tr-caption" style="padding: 0px; text-align: center;">ReFS Block Clone Savings</td></tr></tbody></table><!--kg-card-end: html--><p><br><br>So, how is all of this a problem? Well... In my wisdom, I decided I was going to defragment the volume. While the Windows Drive Optimizer (formerly Disk Defragmenter) tool &quot;works&quot; (and that&apos;s all I&apos;ve been using on the volume up until now), I&apos;ve found through experience on other systems that it&apos;s not actually all that good at defragmenting, and in particular compacting space. As I was planning on compacting this volume, which benefits from having as much contiguous free space as possible, I wanted to use something better than the stock Windows Defrag tool.</p><p>There are dozens if not hundreds of defragment tools on the market to choose from, but I decided to go with an old favorite of mine... <a href="https://www.oo-software.com/en/products/oodefrag" rel="nofollow">O&amp;O Defrag</a>. I&apos;ve been using that program on and off again for over two decades with great success. So, I figured why not use it in this case too? Well... before jumping into the deep end of the pool, I did what I felt was sufficient due diligence to verify that it would work. I initially did a generic Internet search that turned up nothing about block cloning and their software. I then searched the O&amp;O website and their document repository without a single mention of ReFS much less block cloning. So, I sent out an email to O&amp;O software asking if their defrag utility was acceptable for use with ReFS and in particular with block cloning. The email reply I got back from one of their <u>senior technical support engineers</u> was a wee bit confusing (ESL or Google Translate perhaps?... it&apos;s a German company.), but in general the email said to go ahead and use the &quot;SPACE&quot; defragmentation profile.... So... I did. (BTW, there are a bunch of profiles to pick from... defrag by name, accessed, modified, etc... each one with a different optimization algorithm).</p><p>Well... 45 hours later the drive finally finished its defragmentation. And... that&apos;s when I noticed what it did in the process. Apparently the O&amp;O Defrag software knows how to deal with the ReFS file system in general terms... but NOT how to deal with Block Cloning within ReFS. During the defrag process and moving data around on the drive... it fully rehydrated all the backup files... essentially removing all the block cloning savings. So, now the data on that volume takes up nearly 6TB of space! &#x1F622;</p><p>As stated in the beginning... this isn&apos;t an earth shattering issue. More of an annoyance really than anything. In hindsight, I could have done a &quot;trust but verify&quot; trial run where I stood up a test environment and verified the results before throwing this into a production environment. At the time I didn&apos;t feel it was necessary because:</p><ol><li>I&apos;ve used their product hundreds of times before on other systems without a single issue.</li><li>O&amp;O Defrag has been around for well over 2 decades, has won several awards, and was even certified by Microsoft for all of it&apos;s &quot;current NTFS-based operating systems&quot; (sooo... not for Windows 98 and earlier I guess???).</li><li><strong><strong>I had an email confirmation from one of their senior technical support engineers giving me the thumbs up to go ahead with using the product on an ReFS volume with block cloning.</strong></strong></li></ol><p>In any case, I guess the ultimate moral of the story is &quot;<strong><strong>Trust but verify</strong></strong>.&quot; If it&apos;s the first time you are going to attempt something, it may be worth your while to set up a test environment to try it out yourself before taking someone&apos;s word for it that it will actually work. In this case, I could have honestly lost all the data on this drive and not been any worse for the wear. It&apos;s just old backups after all. In the end, I still have all the data, just that I managed to loose all the block cloning benefits associated with them.</p><p><strong><strong>&#x1F4CC;A Final Note:</strong></strong> I am not writing this article to disparage or discredit O&amp;O Software in any way. As I&apos;ve stated, I&apos;ve used their products hundreds of times in the past <u>with much delight</u>. I have also written to them about my experience with the ReFS block cloning issue and hopefully their development team is able to make adjustments to the software in the very near future. The main point of the article is to simply point out that you need to mind your P&apos;s and Q&apos;s when doing something new. This was a first for me using this software with ReFS. I fully intend to keep using the software, only now with a little bit more knowledge on what it can/can&apos;t do.</p><p><strong>Note: </strong>Post migrated from old Blogger website.</p>]]></content:encoded></item><item><title><![CDATA[A Leap of Faith & A Taste of Freedom!]]></title><description><![CDATA[<p>The day has finally come where Prompt Critical Solutions is officially a 24/7 business. Up to this point, I&apos;ve been juggling a day job at a bank alongside of servicing clients. While the dual income was nice... and needed to help buy valuable infrastructure to start the</p>]]></description><link>https://blog.pcs.llc/a-leap-of-faith-a-taste-of-freedom/</link><guid isPermaLink="false">638405d99b6139881b74b436</guid><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Wed, 06 Oct 2021 23:51:00 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2022/11/leap-of-faith-goldfish_med_37503448.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.pcs.llc/content/images/2022/11/leap-of-faith-goldfish_med_37503448.jpg" alt="A Leap of Faith &amp; A Taste of Freedom!"><p>The day has finally come where Prompt Critical Solutions is officially a 24/7 business. Up to this point, I&apos;ve been juggling a day job at a bank alongside of servicing clients. While the dual income was nice... and needed to help buy valuable infrastructure to start the company without taking out any loans... it was also a massive workload and at times stressful. The last few years working as the IT Infrastructure &amp; Systems Lead at the bank was also valuable to learn new skills, hone existing ones, and make new friends. But, I now step out into the unknown having never been my own boss before. It&apos;s a leap of faith for sure and it has both been a very liberating and scary experience. But, I now have the time I need to better service my existing clients as well as take on more clients to help those small businesses who can&apos;t afford to hire a dedicated IT professional to be on their payroll.</p><p><strong>Note: </strong>Post migrated from old Blogger website.</p>]]></content:encoded></item><item><title><![CDATA[3-2-1-1-0 Rule for Backups: The New Gold Standard]]></title><description><![CDATA[<h2 id="revisiting-an-old-friend">Revisiting An Old Friend</h2><p>The 3-2-1 rule for backups has been around for decades. It&apos;s a rather simple principle you can find documentation on almost anywhere backups are discussed. The rules are as follows:</p><ul><li>3 copies of your data</li><li>2 media types</li><li>1 copy is off-site</li></ul><h3 id="3-copies-of-your-data">3 Copies</h3>]]></description><link>https://blog.pcs.llc/3-2-1-1-0-rule-for-backups-the-new-gold-standard/</link><guid isPermaLink="false">638404559b6139881b74b40f</guid><category><![CDATA[3-2-1]]></category><category><![CDATA[3-2-1-1-0]]></category><category><![CDATA[Backups]]></category><category><![CDATA[Disaster Recovery]]></category><dc:creator><![CDATA[Craig Haydock]]></dc:creator><pubDate>Wed, 25 Nov 2020 00:46:00 GMT</pubDate><media:content url="https://blog.pcs.llc/content/images/2022/11/Gold.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="revisiting-an-old-friend">Revisiting An Old Friend</h2><img src="https://blog.pcs.llc/content/images/2022/11/Gold.jpg" alt="3-2-1-1-0 Rule for Backups: The New Gold Standard"><p>The 3-2-1 rule for backups has been around for decades. It&apos;s a rather simple principle you can find documentation on almost anywhere backups are discussed. The rules are as follows:</p><ul><li>3 copies of your data</li><li>2 media types</li><li>1 copy is off-site</li></ul><h3 id="3-copies-of-your-data">3 Copies of Your Data</h3><p>The principal is simple, you have 3 copies of your data (at a minimum) consisting of the following:</p><ul><li>1 working copy (your production data)</li><li>1 local backup copy for fast backup &amp; restoration tasks</li><li>1 off-site copy for disaster recovery</li></ul><h3 id="2-media-types">2 Media Types</h3><p>This one is hotly debated to mean many things depending on who you talk to. On the extreme end, some will say that it means having something vastly different in storage like Hard Disk Drives (HDD) as one media type and Linear Tape-Open (LTO) as another. The thought being that if you have different &quot;media types&quot; that you would avoid a common mode of failure. Concerns of a bug or virus being able to exploit a weakness in a common operating system, file system, hard drive manufacturer, etc. By having completely different media types it&apos;s presumed that there would be no common mode of failure that could corrupt all 3 of your data copies.</p><p>Others will take a less extreme approach, but at the very least what everyone agrees is that your backups cannot share the same storage media with one another. I have personally witnessed people configuring backups to a second partition of the very hard drive that their production data resides on. This is a clear breach of the second rule by anyone&apos;s standards. So, at the bare minimum... your 3 copies should all be stored on 3 different &quot;storage mediums.&quot;</p><h3 id="1-copy-is-off-site">1 Copy is Off-Site</h3><p>This last one, being off-site, was initially intended for disaster recovery purposes. Basically protecting against things like the building burning down. Depending on how you get your data off-site, it may not be the latest and greatest copy of your data. You may experience some data loss compared to your production environment if for instance you only send backups off-site in the evening hours. But, the thought process is that it&apos;s better to have something over nothing.</p><h2 id="the-new-gold-standard">The New Gold Standard</h2><p>The 3-2-1 rule has been a great place to start and it&apos;s amazing how many people don&apos;t follow it. But the new sheriff in town is the 3-2-1-1-0 rule and it builds on the old standard and closes the gap on a new threat landscape and new technologies being used. The new standard is as follows:</p><ul><li>3 copies of your data</li><li>2 media types</li><li>1 copy is off-site</li><li>1 copy is off-line</li><li>Zero defects in your backups</li></ul><p>The first 3 rules as you can see are the same. It&apos;s the last two that need some discussion.</p><h3 id="1-copy-is-off-line">1 Copy is Off-Line</h3><p>The adage that &quot;the only safe computer is one that&apos;s turned off&quot; is more or less what this rule hints at. In the initial rule about one backup being off-site, depending on how you conducted your off-site backups, that may fulfil this rule too. In my best grandpa voice &quot;Back in the old days, we had to backup all of our data to big tape drives and someone would drive them to the backup storage facility&quot;... and there you would have fulfilled your &quot;off-line backups&quot; by using that particular off-site backup scheme.<br>Fast forward to today and high speed connections to almost anywhere in the world are available for not just big business, but small businesses and even individuals. Furthermore, these data connections are often times available as persistent connections via site-to-site VPNs, MPLS, SD-WAN, or some other site bridging technology. If you are trying to protect against a building burning to the ground, these persistent connections won&apos;t usually present any problem. However, with the threat landscape now including ransomware viruses... some of which are smart enough to seek out and destroy or disable your backups.. now those persistent connections become a real liability issue.</p><h4 id="when-off-line-isnt">When Off-Line Isn&apos;t?</h4><p>While in an ideal situation your backups would be truly &quot;off-line&quot;... aka &quot;powered off&quot;... the reality is that it just needs to be controlled in such a fashion that it is inaccessible from the other two backup systems. If for instance you send your data off to a cloud storage provider that you only have access to via API calls and only during the specified backup window, then for all intents those backups are &quot;off-line&quot; with respect to your production system even though the remote servers are still clearly up and running. That&apos;s not to say they are invulnerable though because there&apos;s the real possibility that the malicious attack could have some understanding of your backup system and initiate the control session with that remote station and corrupt your backups. In fact, even if you use a LTO system, it&apos;s possible that it could hijack the tape library system and corrupt your backups.<br>So, short of actually powering it down or pulling drives or tapes from a system and placing them on a shelf, how does one deal with this in a system that mandates as much automation as possible with as little human intervention as possible? Immutable Backups!</p><h4 id="immutable-backups">Immutable Backups</h4><p>These are relatively new but <strong><strong><u><em>help</em></u></strong></strong> (can&apos;t stress &quot;help&quot; enough) keep up the automation of things while adding an extra layer of protection. With immutable backups, when data is written to the storage device a file lock is placed on it. The lock is similar to a time capsule that says &quot;do not delete or modify until XYZ.&quot; Once that date is expired, the lock is lifted and the user or applications are free to do as they please (pruning or purging old backups). But, until that time passes, not even the highest privileged user on the system has rights to delete or modify the data. Ransomware will therefore be stopped cold in it&apos;s tracks from compromising your data right? WRONG! Well... mostly wrong. While it can&apos;t alter or delete the files, it remains a possibility for it to reach into the underlying subsystems of the host device and flat out destroy the drive partitions which contain the data. It&apos;s not much in the way of a ransom at that point... but still a noteworthy issue for consideration (and bear in mind that the disgruntled employee is just as much a threat as a virus).<br>The point being, plan appropriately to ensure the most likely of attack vectors in your environment are covered. Having an always on connection between all of your backups is the worst case scenario with the highest risk for something like a ransomware attack being able to destroy everything. If you can&apos;t achieve an ideal true &quot;off-line&quot; status with one of your data copies, there are a multitude of ways to achieve a pseudo-off-line status to enable automation while simultaneously mitigating some of the more prevalent threat vectors.</p><h3 id="zero-defects-in-your-backups">Zero Defects In Your Backups</h3><p>There&apos;s an old saying that goes &quot;<strong><strong>trust but verify</strong></strong>.&quot; This final rule is basically an embodiment of that statement. You go through great efforts to purchase necessary hardware, software, planning, etc. But, it&apos;s all for not if they day you need to use them you find out that they don&apos;t work. Depending on where you look you&apos;ll find statistics that will say all kinds of shocking numbers. The short version of them all is simply that an amazing number of people never bother to test if they can actually recover from their backups. Going hand in hand with that will be the crazy numbers of backups that simply fail to work when they finally are called to do the very service for which so much time, money, and effort was spent.<br>Sometimes these failures are human error such as only backing up the data partition of a server and forgetting to also backup the boot partition so that a server can be restored. Other times it can be as innocent as the underlying storage media undergoing &quot;bit-rot&quot; and rendering an otherwise good backup useless. Regardless of the failure mechanism, if your backups don&apos;t work in your moment of need, you&apos;ve just purchased a ticket to be a part of another grueling statistic... the number of companies that close their doors in X years after a significant data loss event (again, statistics vary but are non the less dismal).<br>How you go about verification can take on several methods. One is to do a complete read of your data and do a CRC or hash check. Others will add on a partial or complete restore of your data. Some will go even further and not only restore the data, but conduct a series of battery tests in an isolated lab environment. As an example, Veeam Backup &amp; Replication has a feature called SureBackup which can do this type of testing as an automated scheduled task. But, regardless of what you use, the underlying point is simply <strong><strong>trust but verify!</strong></strong><br></p><h2 id="summary">Summary</h2><p>While the 3-2-1 rule has served as the gold standard of backups in the IT community for many years, there are inherent shortcomings in the limited list of requirements it provides. Solving some of those problems is possible through the implantation of the 3-2-1-1-0 rule. But, bear in mind that although it is titled as a &quot;rule&quot; it is really more of a &quot;guideline&quot; and simply following it is not a get out of jail free card. In fact, no plan, no matter how elaborate or well executed, will ever be 100% perfect. Any backup plan will require a balance of the likely risks weighed against the cost and complexity. The 3-2-1-1-0 rule simply establishes a foundational set of questions you need to answer during your planning and ongoing implementation of any given solution.</p><p><strong>Note:</strong> Post migrated from old Blogger website.</p>]]></content:encoded></item></channel></rss>