Wired issue when extending Windows file system for EC2 in AWS

SQL WARRIOR
3 min readMay 14, 2020

To complete this task, there’s tones of articles and blogs. This should no strange for most of IT engineers. Here’s the one from AWS document. https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/recognize-expanded-volume-windows.html

For newbie of Windows Administrator, you need to check the volume size inside disk management console (diskmgmt.msc), not inside file explorer.

However, here’s gocha: sometimes, after we resized volume in AWS EBS console, the extra storage was not showing inside disk management console of Windows Server. Of course, reboot the server should solve this issue. But if you were curious to know the root cause, please continue read:

If the EC2 instance was launched from AMI before August 2018, chances are, the AWS NVMe driver was not included. This NVMe driver is cricial to Windows Server functionality and performance. It includes the driver for both storage and for NIC. Here’s the details of NVMe from AWS.

The reason sometimes we could not see the increased storage, was due to the lack of this NVMe driver. If you had such issue, first run the following PoSH:

If the NVMe driver was installed, you will see result like below, otherwise, it would be blank:

The installation of this driver was pretty straightforward: First you download this driver from AWS; then unzip it and run install.ps1. I would run this under administrator to save a hassles. Be careful: this PoSH will reboot your server without asking.

As a side way, I want to talk about the performance this NVMe driver bringing into Windows. If you happened have ephemeral drives, you definitely want to make sure you have the latest NVMe driver on your windows server. For new EC2 instances spinned (was that a word?) off from AMI recently you shouldn’t have any concerns, the driver was included from AMI. However, if you recently upgraded EC2 instance to Nitro or you had EC2 created before August 2018, and you didn’t have the latest NVMe driver, you would miss the huge IO gains you paid for.

Here’s the IO performance after installed the NVMe driver. Before installing we only get 220MiB/second. After installed NVMe driver, the speed is about 820MiB/second!

Here’s disk Avg read latency. Before NVMe driver we have 1.25ms, after NVMe driver installed we the latency dropped to 0.5 ms. It’s 200% improvement!

--

--

SQL WARRIOR

AWS Database Consultant. Still have passion on SQL Server since 1998. Expert on SQL Server Performance Tunning, High Availability. VMWare VCP 6/7.