From my previous post of Azure Stack is out to the market, I have discussed on the overview of Azure stack including what is Azure stack and which type of organization its best suited. Also I have talked about little bit of Azure architecture and how it’s better than Azure pack.
Azure stack comes as an appliance model with hardware partners like Dell EMC, HPE and Lenovo. But still you can test it by installing it in a physical box. As I mentioned in my previous post, Azure stack require minimum of 16 cores of processor and 128GB ram and sometimes finding that kind of a hardware is difficult just for a POC. But there is a solution, with few tweaks to the deployment script we can deploy it on an Azure VM. Azure Stack blog has a great article which I followed and made some corrections plus missing steps to come up with a much complete article including step by step screenshots.
Rename-LocalUser -Name AdminAzure -NewName Administrator
Stop the VM from the Portal to add additional disks and change the OS disk size
After VM has stopped, go to the VM settings Disks
Click Add Disk, and select Create Disk, in the Create manage disk page, add the name and select the existing resource group of the VM and for the disk size, add 256 GB or more. Here I have added 1 TB
Create four disks using the same procedure
Select the OS Disk and increase the disk space to 256 GB’s, Save
Start the VM and login to the VM using Administrator
Open Device Manager – Disk Manager, you will be prompted to initialize the newly added disks. Add them as GPT (don’t create drives). Next you have to extend the C: drive. Right click the C: drive and click Extend. Create a drive of 256GB.
.\InstallAzureStackPOC.ps1 -InfraAzureDirectoryTenantName yourdirectory.onmicrosoft.com -NATIPv4Subnet 172.16.0.0/24 -NATIPv4Address 172.16.0.2 -NATIPv4DefaultGateway 172.16.0.1 -Verbose
When requested provide the local admin password of the server
.\InstallAzureStackPOC.ps1 -Rerun –Verbose
Enable-WSManCredSSP -Role Server
Set-Item wsman:localhost\client\trustedhosts -Value *
Enable-WSManCredSSP -Role Client -DelegateComputer *
Enable - Allow Delegating Fresh Credentials with NTLM-only Server Authentication, Add the Value as WSMAN/*
Run – Gpupdate /force
Run the command again
.\InstallAzureStackPOC.ps1 -Rerun –Verbose
When Script is running VM will be rebooted. Then you shouldn’t login using the Administrator account you have logged before. It will not show the progress of the PowerShell Script. Login using the AzureStack\AzureStackAdmin account. Use the same password used before
Open Hyper-V console to see the VM’s are generating. When few VM’s are created, find the VM called Azs-BGPNAT01. Login to that VM and try to ping 8.8.8.8 to identify VM have internet access. If you cannot ping, which means VM don’t have internet and you have to create a Network switch to the VM. Use following steps to do that
Get the PowerShell as run as admin from the host (Azure VM). Run the following command to create a new Network switch
New-VMSwitch -Name "NATSwitch" -SwitchType Internal -Verbose
$NIC=Get-NetAdapter|Out-GridView -PassThru
New-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 24 -InterfaceIndex $NIC.ifIndex
New-NetNat -Name "NATSwitch" -InternalIPInterfaceAddressPrefix "172.16.0.0/24" –Verbose
From the Hyper-V console select the BGPNAT01 and settings. Click the NAT, Select NATSwtich as the Virtual switch
Check for whether the VM can access internet and let the script run.
In my deployment Script was failed again in a Step of 60.160. so I have read few blogs on re running with the following command and it worked. If your script also failed, don’t restart the server. run the following command with the step number.
Invoke-EceAction -RolePath Cloud -ActionType Deployment -Start 60.160 –Verbose
After few hours script will be completed while stating successful. Then you can test two portals from following links
Admin Portal - https://adminportal.local.azurestack.external
User Portal - https://portal.local.azurestack.external
Enjoy the Azure Stack :)
Cheers
References – Technet, blog.technet, Ignite content, azurestack.blog