Shutdown and Startup Order for the Microsoft Azure Stack TP VMs

In my previous blog post I described how to install the Microsoft Azure Stack POC on lower hardware. Because my home lab does not run 24/7 I had to think about the correct shutdown and startup order for the Microsoft Azure Stack Technical Preview VMs.

The Azure Stack TP consists of one physical Hyper-V host and 10 VMs. First I want to let you know which servers are belonging to the azurestack.local domain.

Hyper-V hostDomain

Per default every VM will be set into save state when you shutdown the Hyper-V host. This is not a problem when you are running Azure Stack on the recommended hardware. On lower hardware it is an issue. My shutdown sequence is the following one.

  1. ClientVM
  2. PortalVM
  3. xRPVM
  4. ACSVM
  5. MuxVM
  6. NCVM
  7. SQLVM

The VMs ADVM, BGPVM and NATVM will shutdown together with the Hyper-V host.

During the startup of the Hyper-V host only the VMs ADVM, BGPVM and NATVM will start automatically. The other ones will be started through a PowerShell script after the RDP login.

The startup order is the following one.

  1. SQLVM
  2. 60 seconds sleep pause
  3. NCVM
  4. 30 seconds sleep pause
  5. MuxVM
  6. 30 seconds sleep pause
  7. ACSVM
  8. 60 seconds sleep pause
  9. xRPVM
  10. 30 seconds sleep pause
  11. PortalVM
  12. 30 seconds sleep pause
  13. ClientVM

Afterwards run the following PowerShell script to make sure that all necessary services in the xRPVM are running. Otherwise you can run into some VM deployment issue.

Invoke-Command -VMName "xRPVM" -Credential $Credential -ScriptBlock{
Get-Service CRP|Start-Service -Verbose
Get-Service AvailabilitySetController|Start-Service -Verbose
Get-Service BlobManager|Start-Service -Verbose
Get-Service ClusterManager|Start-Service -Verbose
Get-Service ComputeController|Start-Service -Verbose
Get-Service DiagnosabilityManager|Start-Service -Verbose
Get-Service ExtensionManager|Start-Service -Verbose
Get-Service GuestArtifactRepository|Start-Service -Verbose
Get-Service IsoManager|Start-Service -Verbose
Get-Service ManifestProvider|Start-Service -Verbose
Get-Service MetadataServer|Start-Service -Verbose
Get-Service NetworkManager|Start-Service -Verbose
Get-Service PlacementManager|Start-Service -Verbose
Get-Service PlatformImageRepository|Start-Service -Verbose
Get-Service TopologyManager|Start-Service -Verbose

Leave a Reply