This session will focus on how Chef, a systems and cloud infrastructure automation framework, can manage both Windows and Linux workloads on Azure or any physical, virtual location no matter the size of the infrastructure easily.
We will also look at how Chef can interact with PowerShell Desired State Configuration to deliver a consistent and compliant infrastructure. In this session you will learn the basic paradigms of Chef, launching VM instances and deploying applications to these instances. It is DevOps times now with a faster and agile world where the IT-Dinosaurs will have to watch out!
I have been evaluating Nanoserver that was released and wanted to try if I could get it to work in Azure IaaS as a VM. And as you can see, it works!!
I had created a VHDx with the packages that was described on the “getting started with Nanoserver” So first of all as only vhd is supported I had to convert the disk and then I used Azure PowerShell to upload it to Azure storage:
After creating a VM I tried to connect to it from remote over the Internet but that did not work, probably something that needs to be configured with winrm setup on the Nanoserver or I just missed something. I created a VM with Winserv TP2 in the same Azure network and tried to connect to the nanoserver which succeeded:
And I can also change name and it reflects on the Azure portal:
Noticed this evening that Microsoft released the UR6 for System Center and my interest is in Virtual Machine Manager so I wanted to test-install it and also connect to an Azure IaaS subscription as this was one of the new added features besides all fixes and also of course the other added feature with Generation 2 Service template support etc.
As I had my environment connected to the Internet I could press install,
Once it was finished a reboot of the server had to be done and I could start to add Azure subscriptions to VMM. Here you have to use a management certificate and that is easily created with makecert if you do not have any other CA available!
And when that is complete you can see my VM´s in Azure on the subscription and the commands that I can use on them,
After a week of Azure Ninja course at Microsoft Sweden I wanted to dig a bit deeper into Azure IaaS.
I found that the Update-AzureDisk had a new parameter that looked interesting -ResizedSizeInGB and I wanted to test that one in real action on the OS disk which resulted in a VM that could no longer be started :-(. As described in an earlier post it was a bit more difficult to extend a vhd for a VM in Azure before this powershell way and in those days you had to tear down the VM and throw it away and also the pointer to the blog and after that you could with a tool extend the blob.
So far it looked good but when I then tried to start the VM I got the error
This VM was provisioned from the gallery and after reading the blog about the changes in Azure and that the OS disk now could support 1 TB in size i also found this little text saying that it only applied to disks that was migrated to Azure and not the gallery items or already provisioned VM´s…
So I wanted to test the same thing as above for a migrated vhd, first of all I created a vhd on-premise with 140GB vhd and then used powershell Add-AzureVhd to upload it.
after that I created a VM and started it with no problems 🙂
And then I ran the above resize parameter on this uploaded vhd to extend it to 150GB. With the PowerShell cmdlet I can apply this to a VM that is not running and do not need to remove any relations to the blob or VM´s.
Started it and as you can see it worked nicely
Here you can see when looking inside the VM and checking the Disk manager it shows the extra 10 GB
So watch out if you test to extend your Production VM´s VHD´s depending on where they have come from, although an OS volume does not need to be too large..
I have tested the Update-AzureDisk -ResizedSizeInGB on VM Data disks without any issues no matter if they were created or uploaded so this warning just points at the OS disk!
I am at a Azure training at Microsoft and have been playing a bit with both the portal and PowerShell.
We where talking about the VM agent that is installed on the IaaS VM´s and what functionality it has.
There is a nice and powerful feature that allows you to reset the password for the user from the Azure PowerShell console. The cool part is that you also can change the user on the VM so if you have to take over a Azure IaaS deployment and do not know the username or password for the virtual machines you can change it!
So first of all in my Windows 2012 R2 I have a user vniklas and I want to change it to Bruno, but as I said above you do not have to know the username that is set inside the VM´s to be able to change it!
And I use PowerShell to set a credential with username and password:
And the following change both user and password, updates the VM and then to actually get it to hit on the VM I need to restart the VM:
And when you then try to use RDP in to the VM you need to use the new password and username and as you can see on the Local Users the account have changed to bruno instead.
Yesterday Microsoft released a new version of Microsoft Assessment and Planning toolkit 9.2 and the new key features are
Azure VM Capacity assessment to include assessment for A8 and A9 Azure VMs
MAP 9.2 updated Windows Azure VM Capacity assessment to include assessment for A8 and A9 Azure VMs. A8 and A9 Azure VMs are processor intensive and thus have a base processor of an Intel Xeon E5-2670 2.6 GHz.
Included Windows Server 2008(x86/x64) under Legacy Server Discovery
Windows Server 2008(x86/x64) included under Legacy Server Discovery in addition to Windows Servers 2000, 2003 and Itanium. For example, before MAP 9.2 the discovery of the Legacy Servers which were added are Windows Server 2000, Windows Server 2003(x86/x64) and Itanium Windows Server. Now MAP 9.2 includes the discovery of Windows Server 2008(x86/x64) as well to the collection of Legacy Server Discovery.
Improved Legacy Server Discovery reporting by including OS Architecture
In this version of MAP we included OS Architecture(32 or 64 bit) as an expansion in the Legacy Server Discovery reporting.
Collection of additional performance counters and included CPU speed
In this version of MAP we added four new performance counters Disk Queue Length, Disk Read Queue Length, Disk Write Queue Length, Disk Bytes/sec and expanded performance collection process to accomodate the new counters and assessment process. Added CPU Speed(GHz) to Performance Metric Summary report.
As every responsible dad out there I have set up an Minecraft server to my daughter so she can play with her friends!
I have deployed a Windows Server on Azure in which I installed the Minecraft server with the right mods, apparently that is important 😉 I have not myself got lost in the Minecraft world, maybe because I grew up in the 80´s and had games that was mega-pixel and now I want that high definition graphics!
To see that it is working and alive I wanted some kind health check so here Azure Automation comes into play! Of course there would have been easier ways but I want try new stuff and also test and see how Azure Automation works and can be utilized.
So I created a runbook that checks the status and try to remediate the issue if it is not working:
# Easy script to check health of my daughters Minecraft server and take action if stopped
I have utilised the YAMS so that the Minecraft Server is handled by a Windows Service. If there is some outage or maintenance on Azure the VM can be restarted and then it is good to know that the Minecraft Server will start even if no user is logged in. If for some reason the YAMS service is stopped or the Minecraft Server has stopped my runbook can remidiate that!
In Azure Automation I can schedule a check every 1 hour:
And as you can see when checking a job it reports that my Minecraft server is working!
To connect to the VM´s powershell endpoint I have added SessionOption -SkipCACheck thus letting me connect without getting a cert from a trusted certificate authority or importing the servers cert. Saw this option on Tim´s blog post and borrowed it:-)
In the deployed VM I have also done as explained in the PowerShell Tip from powershell.com to be able to connect to it as it is not part of a domain and when PowerShell remoting is enabled it uses Kerberos by default and the Minecraft server is standalone thus Kerberos not working!
Probably I will do some tweaking and update the script later but you can at least see the possibilities and power of using Azure automation!
There where some bashing on the net when the VMM 2012 R2 was released and the P2V functionality was removed from that version and some crazy ideas using a secondary VMM 2012 SP1 to do the P2V migrations and then importing into the VMM 2012 R2 was suggested, well that time is now no more now 🙂
The installation is quite straightforward with the msi and just a simple wizard.
Once installed You can start exploring the new options including the new P2V.
When doing a P2V the MVMC will install an agent on the source and when doing a P2V the source have to be online during the migration.
And then you go through the wizard and start the conversion
Once it is finished, you find the VM in your Hyper-V host and can start it, but beware that the wizard does not ask if you want to shut down your source after migration so that is something you have to take care of before starting that P2V´d VM
But wait you say, I have 100 vm´s and will die if I use the wizard for all of them! Then you can use the PowerShell module and automate the conversion:
The operating systems that is supported migrating with the MVMC are (although only Windows with the P2V):
Read on Twitter that someone wanted an image in the gallery for a Windows Server Core to get a smaller footprint instead of the full gui VM
As you know there is a way to go to core mode from a full installation so after you have deployed a IaaS VM you can run the following commands to remove the GUI. The roles Server-Gui-Shell and Server-Gui-Mgmt-Infra can be removed.
And then as instructed, you reboot and when you are up and running again there is some configuration that needs to be done so just be patient and wait…
After that is done you can proceed to the wonderful world of the command prompt and sconfig 🙂
And the next step is to sysprep and shut down this and capture an Image to be able to provision this one.
Once the VM is in a Stopped State you can capture it
Once that job has completed you can find your image in the gallery, observe that as this is saved in your storage account that is bound to the location you cannot deploy Core VM´s to all azure datacenters if you do not copy this storage blob to the other azure datacenters storage accounts that you have set up.
And when I have deployed a new VM it is in the wonderful world of Server Core!