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 (http://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.

2

 

The answer is leveraging the PCIe slot in SYS-E300-8D. So I inserted 3 mSATA SSD to the half-height PCIe adapter below. You may ask why not insert 4 mSATA drives. You can. In my case, I have another M.2 PM953 960GB NVMe drive as cache device. In addition, actually deployment script only validates whether or not you have 3 or more data disks.

img_0125-custom

 

I use another mSATA SSD as my system drive and boot drive.

 

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. 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: 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.

img_0128-custom

 

After boot to CloudBuilder.vhdx, I double check all the physical disks are recognized as expected.

get-physicaldisk

 

Then I kick-off the deployment script. As we could see the system passed all the pre-checks.

pre-check

 

After 3 hours and 2 minutes, the deployment completed successfully.

deployment-success

 


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 (8)

  1. Simon Timms says:

    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.

  2. Matthew Wetmore (MSFT) says:

    Awesome job, thanks for sharing! I want one of these…

  3. Andy Wendel says:

    Hi,

    absolut great work!!!

    Can you tell in short, what half-height PCIe-adapter you are using?

    Thanxs,

    Andy

      1. Zlatko Mitev says:

        How about the raiser card you used. Did it come with Supermicro or you bought it separately ?

        1. 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

  4. Tom Huth says:

    Nice, I habe build something similar, but cheaper with only a 4C CPU. I managed to build it in a 197x197x77mm Box. A special 3.5″ adapter for 4 m2 SATA SSD, allows a total of 5 SSD with the boot device m2 PCIe
    Here is the post in Twitter.   https://twitter.com/Tom_Huth/status/752083718739783682
    3,5 Adapter – https://www.amazon.de/dp/B00J4UYAXK?smid=A1907HV9NECS1E&linkCode=df0&creative=22510&creativeASIN=B00J4UYAXK&childASIN=B00J4UYAXK&tag=geizhals10-21

    1. Thanks for your sharing, Tom!

Skip to main content