Last week Microsoft released a first preview of the Microsoft Azure Stack. The software stack which allows you to run Azure in your own datacenter.
Official a physical server with quite a lot of CPU cores and memory is required to deploy the Azure Stack Technical Preview. Because I do not have any spare servers in my home lab to use exclusively for the Azure Stack Technical Preview I looked for an alternative and I tried to deploy it in a VM. And here is a short walkthrough how you do it and yes it actually works.
First of all you need the following:
- A Hyper-V Host installed with Windows Server 2016 TP4
(TP4 is needed for nested virtualization feature)
- The “Microsoft Azure Stack Technical Preview.zip” file which you can get from here: https://azure.microsoft.com/en-us/overview/azure-stack/
- At least 32GB of RAM and 150GB of free Disk space available
Frist extract the Microsoft Azure Stack Technical Preview.zip on to the local hard drive of the Hyper-V Host. This will lead you to a folder with an .exe and 6 .bin files.
Then copy the “WindowsServer2016Datacenter.vhdx” outside of the “Microsoft Azure Stack POC” folder and rename it to e.g. MicrosoftAzureStackPOCBoot.vhdx.
Lastly the nested visualization feature (new in TP4) must be enabled on the vCPU of the VM. Do this with the following PowerShell command:
Set-VMProcessor -VMName azurestackpoc -ExposeVirtualizationExtensions $true
Azure Stack Deployment:
Now start the VM and answer the question of the Windows Setup and the login with local Administrator account.
If you have less than 96GB RAM assigned to the VM you have to tweak the deployment script before you start the setup. Daniel Neumann has written an excellent blog post about the necessary modifications: http://www.danielstechblog.de/microsoft-azure-stack-technical-preview-on-lower-hardware/
Now, finally, you can run the PowerShell deployment script (Deploy Azure Stack.ps1) as it is described in the original documentation from Microsoft. The script will take several hours to finish. So better get you a cup of coffee or have a “little” break and hope everything goes well. If it does, you will get a functional Azure Stack installation in a VM.
Although the setup just works fine in the VM and you can even provisioning Subscriptions and Tenant VMs there are some serious issues with networking when using this nested setup. As soon as you connect to a fabric VM (with RDP or VM Console) the VM with the virtual Hyper-V Host will crash.
Many thanks to Alain Vetier for pointing this out and sharing his finding here!
See also his comments below.