TechDays Session: Managing your Azure workloads with Chef and PS DSC

Are you possibly going to the TechDays Sweden this autumn ? Me self and my friend and former colleague Fredrik Nilsson will have a session on this conference about automation and how to use Chef and PowerShell DSC for your deployment.

Screen Shot 2015-06-24 at 10.20.32
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! 

 

Nanoserver TP2 ( Winserv 2016) running in Azure IaaS

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!!

Screen Shot 2015-06-10 at 12.51.55

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:

Screen Shot 2015-06-10 at 12.59.37

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:

Screen Shot 2015-06-10 at 13.06.11

And I can also change name and it reflects on the Azure portal:

Screen Shot 2015-06-10 at 13.39.38

 

Screen Shot 2015-06-10 at 13.40.18

Is this cool or what?!

 

 

Taking the SCVMM 2012 R2 UR6 for a test drive

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.

Screen Shot 2015-04-28 at 20.15.14

Here you can read more about the fixes and also if you do not use Microsoft Update, download the files.

As I had my environment connected to the Internet I could press install,

Screen Shot 2015-04-28 at 20.18.03

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!

Screen Shot 2015-04-28 at 20.59.47

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,

Screen Shot 2015-04-28 at 21.03.15

Good luck in your tests of this nice new feature.

 

Watch out, extended OS disk in Azure IaaS VM makes it not bootable

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.

Screen Shot 2015-04-23 at 17.22.03

So far it looked good but when I then tried to start the VM I got the error

Screen Shot 2015-04-23 at 18.43.57

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…

Screen Shot 2015-04-24 at 14.56.10

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.

Screen Shot 2015-04-24 at 14.33.45

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.

Screen Shot 2015-04-24 at 14.33.22

Started it and as you can see it worked nicely

Screen Shot 2015-04-24 at 14.58.39

Here you can see when looking inside the VM and checking the Disk manager it shows the extra 10 GB

Screen Shot 2015-04-24 at 14.32.34

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!

Playing with the Azure VM agent and changing user on IaaS VM with PowerShell

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!

from Keith Mayers blog post I used the PowerShell code and changed both password and username for a user

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!

Screen Shot 2015-04-20 at 16.33.09

And I use PowerShell to set a credential with username and password:

Screen Shot 2015-04-21 at 10.14.56

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:

Screen Shot 2015-04-21 at 10.24.11

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.

Screen Shot 2015-04-20 at 16.21.53

Here is the PowerSHell code to get this to work:

And now as you see that this is so easy you can realize that your Azure subscription account becomes quite important to keep safe and not let anyone get access to it.

May the force be with you!

New version of Microsoft Assessment and Planning 9.2

Screen Shot 2015-02-12 at 16.04.28

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.

You can download the new version from the Microsoft download here.

Passed the 70-533 Azure Infrastructure exam

Today I had registered for a second try of the 70-533 Azure Infrastructure exam, two weeks ago I tried this exam and failed, this time it was a bit more successful and I passed.

10730209_10152601828053549_8289323616528117668_n

The first time doing the exam I was thinking that my knowledge in Azure would be enough but I was a bit wrong 😛

These last two weeks since my last try I have been studying and exploring the features and documentation on Azure and it is a seriously complex and full-featured cloud platform!

I will in this post give you some advice on what areas I have been studying if you are also aiming for taking this test..

First of all, you can see on the Microsoft Learning page on what areas that is covered in the exam,

Screen Shot 2014-12-30 at 22.15.01

I have used Azuremans blog post about the exam topics, Marius has also made a blog post about the exam and what to read and learn.

I have also used the Microsoft Virtual Academy : Establish Microsoft Azure IaaS Technical Fundamentals course.

Some of the links to Azure documentation and blog post that I have gone through during my hours of learning :

http://up2v.nl/2014/03/05/windows-azure-now-allows-to-set-fixed-ip-addresses-for-virtual-machines/

http://www.codemag.com/Article/1403071

http://blogs.msdn.com/b/asgoyal/archive/2013/07/16/linking-a-resource-to-your-cloud-service-what-does-that-mean.aspx

http://msdn.microsoft.com/en-us/library/azure/dn376543.aspx

http://msdn.microsoft.com/en-us/library/dn741337.aspx

http://justazure.com/azure-blob-storage-part-one-introduction/

http://msdn.microsoft.com/en-us/library/azure/dn683781.aspx

http://azure.microsoft.com/blog/2014/08/05/azure-site-recovery-enables-one-click-orchestrated-failover-of-virtual-machines-to-azure/

http://msdn.microsoft.com/en-us/library/azure/dn197896.aspx

http://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/automate-everything

http://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/#scalingstandard

http://msdn.microsoft.com/library/azure/jj156007.aspx

http://msdn.microsoft.com/library/azure/dn643636.aspx

http://msdn.microsoft.com/en-us/library/azure/dn306639.aspx

http://blogs.iis.net/webtopics/archive/2009/06/12/troubleshooting-a-simple-error-message-using-freb.aspx

https://www.digicert.com/ssl-certificate-installation-azure-website.htm

http://msdn.microsoft.com/en-us/library/azure/dn499820.aspx#BKMK_Auth

http://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-monitor/

http://azure.microsoft.com/sv-se/documentation/articles/web-sites-staged-publishing/

http://blogs.msdn.com/b/windowsazurestorage/archive/2013/12/04/introducing-read-access-geo-replicated-storage-ra-grs-for-windows-azure-storage.aspx

http://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

Good luck in your pursue for the Azure certification!

 

Using Azure Automation to check health of Minecraft server in Azure

As every responsible dad out there I have set up an Minecraft server to my daughter so she can play with her friends!

Screen Shot 2014-10-23 at 16.16.59

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:

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:

Screen Shot 2014-10-23 at 16.25.24

And as you can see when checking a job it reports that my Minecraft server is working!

Screen Shot 2014-10-23 at 16.45.23

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!

MVMC 3.0 released with P2V support

The day has come with a new version of the free conversion tool from Microsoft, MVMC 3.0 have been released.

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.

Screen Shot 2014-10-13 at 20.21.47

Once installed You can start exploring the new options including the new P2V.

Screen Shot 2014-10-13 at 21.44.18

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.

Screen Shot 2014-10-13 at 21.55.40

And then you go through the wizard and start the conversion

Screen Shot 2014-10-13 at 22.18.29

 

Screen Shot 2014-10-13 at 22.30.10

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

Screen Shot 2014-10-13 at 23.29.34

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:

Screen Shot 2014-10-13 at 22.14.32

The operating systems that is supported migrating with the MVMC are (although only Windows with the P2V):

  • Windows Server 2012 R2 Standard x64
  • Windows Server 2012 R2 Datacenter x64
  • Windows Server 2012 Standard x64
  • Windows Server 2012 Datacenter x64
  • Windows Server 2008 R2 Standard x64
  • Windows Server 2008 R2 Enterprise x64
  • Windows Server 2008 R2 Datacenter x64
  • Windows Server 2008 R2 SP1
  • Windows Server 2008 Standard (x86/x64)
  • Windows Server 2008 Enterprise (x86/x64)
  • Windows Server 2008 Datacenter (x86/x64)
  • Windows 8 Enterprise (x86/x64)
  • Windows 8 Pro (x86/x64)
  • Windows 7 Enterprise (x86/x64)
  • Windows 7 Professional (x86/x64)
  • Windows 7 Ultimate (x86/x64)
  • Windows Vista Enterprise x86/x64
  • Red Hat® Enterprise Linux® 6 (x86/x64)
  • Red Hat Enterprise Linux 5 (x86/x64)
  • Ubuntu 12.04 (x86/x64)
  • Ubuntu 10.04 (x86/x64)
  • SUSE® Linux Enterprise Server 11 (x86/x64)
  • CentOS 6 (x86/x64)
  • CentOS 5 (x86/x64)
  • Debian GNU/Linux 7 (x86/x64)
  • Oracle Linux 6 (x86/x64)
  • Oracle Linux 5 (x86/x64)

Good luck in your migrations!!

Going to Windows Server 2012 R2 Core in Azure IaaS

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.

Screen Shot 2014-06-09 at 14.48.12

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…

Screen Shot 2014-06-09 at 14.58.30

After that is done you can proceed to the wonderful world of the command prompt and sconfig 🙂

Screen Shot 2014-06-09 at 15.18.10

And the next step is to sysprep and shut down this and capture an Image to be able to provision this one.

Screen Shot 2014-06-09 at 16.04.26

Once the VM is in a Stopped State you can capture it

Screen Shot 2014-06-09 at 15.53.45

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.

Screen Shot 2014-06-09 at 16.16.12

And when I have deployed a new VM it is in the wonderful world of Server Core!

Screen Shot 2014-06-09 at 16.24.00