Hi there, after almost 3 month of no blog posts at all i’ll take the release of Azure Stack Preview as a new opportunity to post again 🙂

For those of you who were pretty exited to get their hands on the new Azure Stack and test it in your own lab, without a big server sitting in the rack to be used for the POC. Here is how you can deploy it on a low end workstation with 32GB of RAM.

My Setup:

Intel i5 2500 3,3GHz

32GB RAM

1 512 GB SSD as OS Disk

3 x 2TB HDD

You can find a complete installation walkthrough here

A download link for Azure Stack can be found here

After you have booted from the VHDX and could start the deplyoment we need to mount MicrosoftAzureStackPOC.vhdx which can be found under the install location for the Azure POC ..\Microsoft Azure Stack POC and change 2 files in it.

So mount the VHDX and browse to the first file ..\AzureStackInstaller\PoCDeployment\Invoke-AzureStackDeploymentPrecheck.ps1 and open it in ISE and look for this function.

function CheckRam { Write-Verbose "Check RAM." $mem = Get-WmiObject -Class Win32_ComputerSystem $totalMemoryInGB = [Math]::Round($mem.TotalPhysicalMemory / (1024 * 1024 * 1024)) if ($totalMemoryInGB -lt 64) { throw "Check system memory requirement failed. At least 64GB physical memory is required." } } 1 2 3 4 5 6 7 8 9 function CheckRam { Write-Verbose "Check RAM." $mem = Get-WmiObject -Class Win32_ComputerSystem $totalMemoryInGB = [ Math ] :: Round ( $mem . TotalPhysicalMemory / ( 1024 * 1024 * 1024 ) ) if ( $totalMemoryInGB -lt 64 ) { throw "Check system memory requirement failed. At least 64GB physical memory is required." } }

Change the $totalMemoryInGB variable from 64 to 32, save the file and close it. It should look like this afterwards.

function CheckRam { Write-Verbose "Check RAM." $mem = Get-WmiObject -Class Win32_ComputerSystem $totalMemoryInGB = [Math]::Round($mem.TotalPhysicalMemory / (1024 * 1024 * 1024)) if ($totalMemoryInGB -lt 32) { throw "Check system memory requirement failed. At least 64GB physical memory is required." } } 1 2 3 4 5 6 7 8 9 function CheckRam { Write-Verbose "Check RAM." $mem = Get-WmiObject -Class Win32_ComputerSystem $totalMemoryInGB = [ Math ] :: Round ( $mem . TotalPhysicalMemory / ( 1024 * 1024 * 1024 ) ) if ( $totalMemoryInGB -lt 32 ) { throw "Check system memory requirement failed. At least 64GB physical memory is required." } }

now open the second file in ISE ..\AzureStackInstaller\PoCFabricInstaller\PoCFabricSettings.xml and search for “MaxRAM” you fill find the settings for the first VM “ADVM”.

<Name>ADVM</Name> <Cmd>CreateVM.ps1</Cmd> <CleanupCmd>DeleteVM.ps1</CleanupCmd> <Dependency>EnableRemotePS</Dependency> <Dependency>EnableVFP</Dependency> <Dependency>CopyVhdx_Local</Dependency> <Retry>5</Retry> <Weight>400</Weight> <Timeout>3400</Timeout> <Parameters> <Name>ADVM</Name> <VMPath>{[FindFreeDisk]:Path}</VMPath> <ProcessorCount>4</ProcessorCount> <RAM>3</RAM> <MinRAM>2</MinRAM> <MaxRAM>4</MaxRAM> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 < Name > ADVM < / Name > < Cmd > CreateVM . ps1 < / Cmd > < CleanupCmd > DeleteVM . ps1 < / CleanupCmd > < Dependency > EnableRemotePS < / Dependency > < Dependency > EnableVFP < / Dependency > < Dependency > CopyVhdx_Local < / Dependency > < Retry > 5 < / Retry > < Weight > 400 < / Weight > < Timeout > 3400 < / Timeout > < Parameters > < Name > ADVM < / Name > < VMPath > { [ FindFreeDisk ] : Path } < / VMPath > < ProcessorCount > 4 < / ProcessorCount > < RAM > 3 < / RAM > < MinRAM > 2 < / MinRAM > < MaxRAM > 4 < / MaxRAM >

We need to change these 4 settings for every machine

<ProcessorCount>4</ProcessorCount> <RAM>3</RAM> <MinRAM>2</MinRAM> <MaxRAM>4</MaxRAM> 1 2 3 4 < ProcessorCount > 4 < / ProcessorCount > < RAM > 3 < / RAM > < MinRAM > 2 < / MinRAM > < MaxRAM > 4 < / MaxRAM >

Here is what i set VM ProcessorCount RAM MinRAM MaxRAM ADVM 2 2 1 2 BGVM 2 2 1 2 NATVM 2 2 1 2 NCVM 2 2 1 2 MUXVM 2 3 2 3 SQLVM 2 2 1 2 PortalVM 2 3 2 3 ACSVM 2 4 2 4 XRPVM 2 3 2 3 ClientVM 2 2 1 2 Change the $totalMemoryInGB variable from 64 to 32, save the file and close it. It should look like this afterwards.now open the second file in ISE ..\AzureStackInstaller\PoCFabricInstaller\PoCFabricSettings.xml and search for “MaxRAM” you fill find the settings for the first VM “ADVM”.We need to change these 4 settings for every machineHere is what i set After you changed the .XMLsave it, close it and unmount the VHDX. Now you are all set to deploy Azure Stack on your server. Have fun!

Cheers Philipp