Smallest Azure Stack PoC Box w/o Hacking the Code
I know this is crazy. This is how I am crazy about the product "Azure Stack" we're building.
From time to time, I see people deploy Azure Stack on the mini size hardware for different reasons like use the existing home server, or be mobile for travelling around countries. As an example, here is the portable Azure Stack built by our MVP (https://www.itworld.com/article/3142708/microsoft-subnet/azure-stack-portable-the-enterprise-cloud-in-a-briefcase.html). Sure, you can always hack the code and install Azure Stack on a laptop or even a nested VM, which doesn't meet minimum requirements. But it's not recommended and you don't have extra resource to host PaaS services or try multi-VM deployment.
Here is the official hardware requirements (https://acom-prod-uswest-01.azurewebsites.net/en-us/documentation/articles/azure-stack-deploy/):
Component | Minimum | Recommended |
---|---|---|
Disk drives: Operating System | 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD) | 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD) |
Disk drives: General Azure Stack POC Data | 4 disks. Each disk provides a minimum of 140 GB of capacity (SSD or HDD). All available disks will be used. | 4 disks. Each disk provides a minimum of 250 GB of capacity (SSD or HDD). All available disks will be used. |
Compute: CPU | Dual-Socket: 12 Physical Cores (total) | Dual-Socket: 16 Physical Cores (total) |
Compute: Memory | 96 GB RAM | 128 GB RAM |
Compute: BIOS | Hyper-V Enabled (with SLAT support) | Hyper-V Enabled (with SLAT support) |
Network: NIC | Windows Server 2012 R2 Certification required for NIC; no specialized features required | Windows Server 2012 R2 Certification required for NIC; no specialized features required |
HW logo certification | Certified for Windows Server 2012 R2 | Certified for Windows Server 2012 R2 |
As you could see most of the desktop PC and laptop today couldn't meet the minimum requirement. They normally have up to 64GB memory. For laptop, number of disks is another issue. Although in the code, we only require 3 data disks, for most of laptops, they don't have 4 hard drives (1 for OS and 3 for data). So I had to look at workstation or server. Inspired by Project Kepler-47 when I prepare my S2D session in Ignite China I found the SuperMicro's 5028D. (Pictures from https://tinkertry.com/)
5028D can meet the majority of Azure Stack PoC hardware requirements. For example, it supports up to 128GB memory, It could have up to 6 hard drives (2 2.5" SSDs/HDDs and 4 3.5" HDDs). Unfortunately 5028D's mother board has a built-in Intel Xeon D-1541 CPU, which is 8 cores and 16 thread processor. Different from Azure Stack TP1, In TP2 the number of cores is hard requirement. The good is SuperMicro also provides the similar mother board but with more built-in cores. For example, X10SDV-12C-TLN4F and X10SDV-16C-TLN4F. Problem Solved!
Wait... Can it be smaller? The answer is yes. I found SuperMicro SYS-E300-8D. It's a 1U mini server. It's even smaller than most of laptops just a little bit thicker. Here are SYS-E300-8D and Surface Pro 3 side by side.
Dimensions:
- Width 10" (254mm)
- Height 1.7" (43mm)
- Depth 8.9" (226mm)
Same as 5028D, it supports 128GB memory. As for CPU, I managed to replace the mother board with the 16C version X10SDV-7TP8F, which includes a 16 Core/32 Thread Intel Xeon D-1587 Processor. Now the challenge is # of disks. Although E300-8D comes with 1 M.2 slot and 1 mSATA slot and 4 SATA ports (the high end mother board even has additional 4 SAS3 ports), the problem is how to put 4 data disk into such small chassis.
The answer is leveraging the 2 PCIe slots in SYS-E300-8D and 1 M.2 slot on the motherboard. I ordered two Amfeltec M.2 carrier boards.
With those boards I could install 3 M.2 NVMe drives in the mini Azure Stack. You may ask why not insert 4 mSATA drives. Actually deployment script only validates whether or not you have 3 or more data disks. I use SK Hynix PE3110 960GB Enterprise M.2 NVMe SSD because it has Power loss protection. As we all know Azure Stack is built on top of Storage Space Direct. According to Cosmos Darwin's blog below, consumer-grade solid-state drives (SSD) could not deliver the performance we expected on S2D.
https://blogs.technet.microsoft.com/filecab/2016/11/18/dont-do-it-consumer-ssd/
I use my old 512GB mSATA SSD as my system drive and boot drive. The motherboard also supports SATA-DOM. I even could have two SATA-DOM drives and configure them as RAID1 to provide better reliability.
Now the little monster perfectly matches the recommend hardware configuration:
Component | Recommended | SuperMicro SYS-E300-8D w/ X10SDV-7TP8F |
---|---|---|
Disk drives: Operating System | 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD) | 1 OS disk: mSATA 512GB SSD |
Disk drives: General Azure Stack POC Data | 4 disks. Each disk provides a minimum of 250 GB of capacity (SSD or HDD). All available disks will be used. | 3 960GB NVMe SSD |
Compute: CPU | Dual-Socket: 16 Physical Cores (total) | Single-Socket: 16 Physical Cores (total) |
Compute: Memory | 128 GB RAM | 128 GB RAM |
Compute: BIOS | Hyper-V Enabled (with SLAT support) | Hyper-V Enabled (with SLAT support) |
Network: NIC | Windows Server 2012 R2 Certification required for NIC; no specialized features required | Windows Server 2012 R2 Certification required for NIC; no specialized features required |
HW logo certification | Certified for Windows Server 2012 R2 | Certified for Windows Server 2012 R2 |
Here is how it looks like eventually.
Before deployment, I could double check all of the 3 NVMe drives had already been recognized correctly.
Then I kick-off the deployment script. As we could see the system passed all the pre-checks.
After 3 hours and 40 minutes, the deployment (TP3 Refresh) completed successfully.
Last, I guess I didn't mention that I also replaced the original 84W power adapter w/ a larger power brick (216W) and add the third 13K rpm server fan in the front panel. The total cost is around 4700 USD.
- Anonymous
November 30, 2016
This is absolutely brilliant. Azure stack seems to be a really interesting idea for people who still need to run their own data centers. Thanks for writing it up. - Anonymous
November 30, 2016
Awesome job, thanks for sharing! I want one of these... - Anonymous
December 01, 2016
Hi, absolut great work!!!Can you tell in short, what half-height PCIe-adapter you are using?Thanxs,Andy- Anonymous
December 04, 2016
The comment has been removed- Anonymous
December 14, 2016
How about the raiser card you used. Did it come with Supermicro or you bought it separately ?- Anonymous
December 14, 2016
It's Supermicro RSC-RR1U-E8 1U Riser Card. I bought it separately from Amazon.com. Here is the link.https://www.amazon.com/gp/product/B005EV1464/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1- Anonymous
April 20, 2017
Thanks for the sharing. Could you share which riser card bracket you used?- Anonymous
August 09, 2017
It’s Supermicro RSC-RR1U-E8 1U Riser Card. I bought it separately from Amazon.com. Here is the link.https://www.amazon.com/gp/product/B005EV1464/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
- Anonymous
- Anonymous
- Anonymous
- Anonymous
- Anonymous
- Anonymous
December 04, 2016
The comment has been removed- Anonymous
December 14, 2016
Thanks for your sharing, Tom!
- Anonymous
- Anonymous
March 05, 2017
How loud are the front panel fans? Is it quiet enough to be in a home office?- Anonymous
August 09, 2017
Unfortunately, it's pretty noisy.
- Anonymous