Latest posts by Jason Coltrin (see all)
- Windows 10 Fall Creators Update installation and features - Thu, Nov 2 2017
- Install Microsoft SQL Server on Ubuntu Linux - Thu, Jan 5 2017
- Use PowerShell with Google Cloud Platform - Thu, Dec 8 2016
Since my last article, I have built a new server to accommodate the Azure Stack POC. This time, I installed Windows Server 2016 Technical Preview 5 on a Dell R715 server and set it up according to the specifications for Azure Stack provided here. The server uses 128GB of memory, 6 x 900GB SAS HDDs, and dual 8-core processors.
Before installing Windows Server 2016 Technical Preview 5 on the server, ensure that the server has been set up with all of the required physical disks configured with their own (RAID 0) individual Virtual Disks. It helps to have KVM/console access to your server for these tasks. In the following screenshot, you can see how each of the disks is set up in the Dell PERC H700 RAID controller console. Here, the 6th disk, named “disk5,” is in the process of initialization.
Additionally, we need to verify that four drives for the Azure VM data are visible in disk management, are not in use, and are shown as online and raw.
Now that the disks are ready, we can begin our deployment. We need to download the Azure Stack POC deployment bits here and store them on our Server 2016 TP5 before we unzip the deployment virtual disks.
Here we have the Azure Stack Technical Preview 10GB file downloaded and unzipped, which provides us with an .exe file to run.
When we run the installer, we are provided with our deployment .vhd files.
We will actually boot our physical server with one of the supplied .vhdx files, but first we need to copy the file named WindowsServer2016DataCenter.vhdx to the root of the C:\ drive, and then rename it MicrosoftAzureStackPOCBoot.vhdx. Next, right-click on the renamed file and choose “Mount.” Open a command prompt as administrator and run the following command:
Bcdboot <mounted drive letter>:\windows
Change the drive to whichever letter drive the Mount command provided your system.
The action should return the comment “Boot files successfully created.”
Next, reboot the server. When the server starts, you’ll be prompted to boot into the new Windows .vhdx. When asked, provide your name, country, and password. You can skip the product key. Log in and notice you have a new desktop.
Before we move further, we want to do some housekeeping to ensure our Azure Stack POC PowerShell setup script runs smoothly. First, disable IE Enhanced Security Configuration in Server Manager, and second, go into IE → Privacy Tab → Advanced and set First and Third-party Cookies to be accepted.
Third, because the physical server has more than one Network Interface Card, it’s best to disable all but one. Fourth, be sure that the machine is not joined to a domain and that the server can get to the website azure.com in the IE browser.
Now copy the 4 VHDs and the PowerShell script to the root of the new C: drive under a folder named azurestack. Open PowerShell as administrator and run the following command:
PS C:\azurestack> .\DeployAzureStack.ps1 –Verbose
As the script runs, you will see “All of the prerequisite checks passed.” Then you’ll be asked to provide a complex password.
The script will pop-up an IE window to allow us to log in to our Azure AD directory tenant login. We can do this as an Org or an MSA. Provide the two-step verification if prompted.
Again you’ll be prompted to confirm the POC deployment, so go ahead and hit Y.
If there is more than one Active Directory, you’ll be prompted to choose one for this Azure Stack installation. In this case, I used “2 – 4sysopsStack.onmicrosoft.com.”
We’re now greeted with this message: “Microsoft Azure Stack POC is ready to deploy. Continue?” Hit Y, and you’re almost done.
The server will reboot several times, and it will take a couple hours for the scripts to finish. Once it’s complete, log in with the password supplied previously. It’s a good idea to check the logs to make sure the deployment completed successfully. Go to C:\programdata\Microsoft\AzureStack\ and look at AzureStackDeploymentStatus.xml. At the top of the file we’ll find “Status = Completed.”
On the desktop, click on the Remote Desktop shortcut pointing to clientvm.azurestack.local. Log in to ClientVM.AzureStack.local with the credentials “AzureStack.local\administrator” and the password used during the ps1 script setup. Now go in and disable IE Enhanced Security, which will allow us to deploy VM templates with PowerShell. Again, we want to allow cookies in the IE settings. Now that we can use IE reliably, we can log in with the AzureStack.local\azurestackuser account and, in order to use PowerShell reliably, again, allow cookies in IE as the AzureStackUser.
Open IE or Edge and go to http://portal.azurestack.local. We’ll now be greeted by the Azure login and log in with our Hotmail account, and it will authenticate us with our Azure AD. Since we are the service admins, we can now provision things. For example, go to New → Compute and build a virtual machine.
In conclusion, when the prerequisites have been met and the server is pre-configured, the Azure Stack installation isn’t too difficult. If you pay attention to details such as allowing cookies, enabling RDP, and prepping your Azure AD account, the installation will go smoothly. Kudos to Charles Joy for providing an informative video demonstrating the deployment here.
Azure Stack promises to provide organizations and developers with a uniform platform upon which to build systems architecture and applications and perhaps even save money and resources by bringing the Azure services on-premise. The Azure Stack hybrid cloud is an interesting concept whereby entities can run a Cloud OS in their own datacenters that is portable and consistent with what we use in the cloud.
In future articles, we will demonstrate building some VMs and tenant services on Azure Stack.