Share via


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/):

Hardware

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/)

0102

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.

e300-and-surface

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.

5

Comments

  • 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
    December 04, 2016
    The comment has been removed
    • Anonymous
      December 14, 2016
      Thanks for your sharing, Tom!
  • 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.