Tag: Virtual machines

Hyper-V VM battery

Hyper-V gets Virtual Battery support

Last week Microsoft announced Windows 10 Insider Preview build 16215 which added a lot of new features to Windows 10. With Windows 8 Microsoft brought Hyper-V to the Windows Client Operating System, and with the Windows 10 Insider Program we can also see some Hyper-V preview features coming to live. Previously we could see feature like Nested Virtualization and more in the Windows client builds before we seen them in the server releases. With Windows 10 Insider Preview build 16215, Hyper-V gets virtual battery support, which means you can now see your machine’s battery state in your VMs. This is especially handy if you run Virtual Machines on your notebook. My guess would be, that this could also be used on server for battery support and automatic shutdown.

To enable the feature inside the Virtual Machine you have to create a Prerelease Virtual Machine using PowerShell.

Hyper-V Prerelease Virtual Machine

You can use the following PowerShell command to create a Prerelease Virtual Machine. Please remind yourself that prerelease virtual machines are not supported in production and may fail across updates.

New-VM -Name "Windows10" -MemoryStartupBytes 2048MB -NewVHDPath C:\VMs\Windows.vhdx -NewVHDSizeBytes 127GB -Generation 2 -Prerelease

You can now see that the Virtual Machine now has version number 254.0, which adds some hidden new features like virtual battery support.

Prerelease Virtual Machine Hyper-V Manager

My guess is that this could be available automatically per default in all virtual machines in the final version of the Windows 10 Fall Creators Update.



Azure to Azure Site Recovery

Disaster recovery for Azure IaaS virtual machines using ASR

Microsoft today announced the public preview of disaster recovery for Azure IaaS virtual machines. This is Azure Site Recovery (ASR) for the Azure-to-Azure scenario. With that, you can replicate Azure virtual machines (VMs) from one Azure Region to another Azure Region, without deploying any other infrastructure components such as software appliances. Cross-region disaster recovery (DR) feature is now available in all Azure public regions where ASR is available. Let’s have a quick look at how you can achieve Disaster Recovery for Azure VMs.

The Azure documentation describes it the following way:

In addition to the built-in Azure infrastructure capabilities and features that contribute to a robust and resilient availability strategy for workloads running on Azure VMs, there are several reasons why you need to plan for disaster recovery between Azure regions yourself:

  • Your compliance guidelines for specific apps and workloads require a Business continuity and Disaster Recovery (BCDR) strategy.
  • You want the ability to protect and recover Azure VMs based on your business decisions, and not only based on inbuilt Azure functionality.
  • You need to be able to test failover and recovery following your business and compliance needs, with no impact on production.
  • You need to be able to failover to the recovery region in the event of a disaster and failback to the source region seamlessly.

Azure to Azure VM replication using Site Recovery helps you to do all the above.

Azure to Azure Site Recovery Setup

To set this up, you have to create an Azure Recovery Vault. This Recovery vault cannot be in the same region as the source virtual machines, because if the region is down, you will not have access to the vault.

Azure ASR Configuration Settings

From that, you can choose to create a new Replication and select the virtual machines you want to replicate. You can select the virtual machines you want to replicate. In the end, you choose the target location and create the needed target resources and start the replication.

This will now allow you to failover your virtual machines to another Azure region.

Azure ASR Failover

Source Microsoft

There are some limitations right now, like no support for managed disks or limited operating system support. Check out the Azure Site Recovery support matrix for replicating from Azure to Azure for more support information.

Azure Site Recovery now allows you to replicate Virtual Machines from:

Azure Site Recovery Overview

  • On-premise Hyper-V Servers
  • On-Premise Hyper-V using System Center Virtual Machine Manager
  • On-Premise Physical Servers
  • Virtual Machines from AWS
  • Virtual Machines from another Azure Region

I hope this blog post gives you an overview of how you can use Azure Site Recovery (ASR) for disaster recovery (DR) of Azure IaaS VMs. By the way, if you want to configure on-premises Hyper-V to Azure disaster recovery using ASR, check my blog post about how you can configure this, using Windows Admin Center. If you have any questions, please let me know in the comments.



VM Network Adapter

PowerShell One-liner to list IP Addresses of Hyper-V Virtual Machines

Here a very quick PowerShell command to list all the Virtual Network Adapters, including IP Addresses of Virtual Machines running on a Hyper-V Host.

 
Get-VM -ComputerName "Hyperv01" | Get-VMNetworkAdapter

This will give you a list of all Virtual Machines running on Hyper-V Server called “HyperV01”



Hyper-V Nested Virtualization

Nested Virtualization in Windows Server 2016 and Windows 10

I already wrote a blog post bout Nested Virtualization in Windows 10 some weeks ago. With Technical Preview 4 of Windows Server 2016 Microsoft also introduced Nested Virtualization in Windows Server Hyper-V. Nested Virtualization allows you to run a Hypervisor inside a Virtual Machine running on a Hypervisor. This is a great case for demo and lab environment and also if you want to run Virtual Hyper-V servers in Microsoft Azure IaaS Virtual Machines (we will see if Microsoft will support this in Azure in the future).

Requirements

  • At least 4 GB RAM available for the virtualized Hyper-V host.
  • To run at least Windows Server 2016 Technical Preview 4 or Windows 10 build 10565 on both the physical Hyper-V host and the virtualized host. Running the same build in both the physical and virtualized environments generally improves performance.
  • A processor with Intel VT-x (nested virtualization is available only for Intel processors at this time).
  • Other Hypervisors will not work

How to set it up

To enable Nested Virtualization in Hyper-V, Microsoft created a script you can use which I already documented in my first blog post about Nested Virtualization. But of course you can do this also manual doing the following steps:

  • disable Dynamic Memory on Virtual Machine
  • enable Virtualization Extensions on the vCPU
  • enable MAC Address Spoofing
  • set Memory of the Virtual Machine to a minimum of 4GB RAM

To set the Virtualization Extension for the vCPU you can use PowerShell:

 
Set-VMProcessor -VMName "VMName" -ExposeVirtualizationExtensions $true

Limitations

With Nested Virtualization there are coming some limitations:

  • Once nested virtualization is enabled in a virtual machine, the following features are no longer compatible with that VM.
    These actions will either fail, or cause the virtual machine not to start if it is hosting other virtual machines:

    • Dynamic memory must be OFF. This will prevent the VM from booting.
    • Runtime memory resize will fail.
    • Applying checkpoints to a running VM will fail.
    • Live migration will fail — in other words, a VM which hosts other VMs cannot be live migrated.
    • Save/restore will fail.
  • Hosts with Device Guard enabled cannot expose virtualization extensions to guests.
  • Hosts with Virtualization Based Security (VBS) enabled cannot expose virtualization extensions to guests. You must first disable VBS in order to preview nested virtualization.

For more information check out the Microsoft page about Hyper-V Nested Virtualization.

 

 

 

 



PowerShell

Move multipe Hyper-V Virtual Machines with Live Storage Migration via Windows PowerShell

Well I was working in on a Private Cloud Deployment where we had some temporary storage for our Hyper-V Virtual Machines and after we got the right storage ready, which was btw a Windows Server Scale-Out File Server Cluster running with Storage Spaces and DataON JBOD chassis, we had to migrate the storage of all virtual machines running on our Hyper-V hosts. Since Windows Server 2012 offers Live Storage Migration which allows us to move the Virtual Machine to a different storage location without downtime we would use that. But if you have to move around 20 virtual machines you think twice if you want to move that via the Hyper-V Manager GUI or Windows PowerShell.

Here is a pretty simple PowerShell foreach loop which moves the storage of all virtual machines running on the Hyper-V host.

 
#New Storage Location
$StoragePath = "\\SMB01\VMs01\"
#VMs which will be migrated Get-VM will migrate all VMs
$VMs = Get-VM
 
Foreach ($VM in $VMs) {
$VMStorage = $StoragePath + $VM.Name
Write-Host "Moving VM:" $VM.name "to" $VMStorage
Move-VMStorage -VMName $VM.name -DestinationStoragePath $VMStorage
}


Microsoft Exam 70-533 Implementing Microsoft Azure Infrastructure Solutions

Passed Microsoft Exam 70-533 Implementing Microsoft Azure Infrastructure Solutions

A couple of weeks ago I passed Microsoft Exam 70-533 Implementing Microsoft Azure Infrastructure Solutions, which is focused on implementing and designing Microsoft Azure Infrastructure solutions such as Azure Websites or Azure Virtual Machines (IaaS). I think taking this exam and preparing for it was a great idea. Even if I have already done a couple of projects on Azure I still learned a lot during the preparation and you can find some of the best practices. Since Azure is a huge beast and the rapid deployment of new features, you will definitely find some new stuff you didn’t know before during the preparation for the exam. And of course taking new Microsoft Certifications early helps you to stand out in the IT Pro or Developer world. Of course passing exams alone does not make you an expert, but if you have know-how on a topic it’s is always got to have some kind of paper to prove it.

So what are the skills measured for this exam. The exam 70-533 focuses on 6 topics, Azure Websites, Virtual Machines, Cloud Services, Storage, Azure Active Directory and Virtual Networks. To my surprise I got a really good score on Azure Websites and of course Virtual Machines, since I used to run several of them on Azure. I also found out that Azure Active Directory is one of the parts I have to invest a little more.

Skills measured

Implement websites (15-20%)

  • Deploy websites
    • Define deployment slots; roll back deployments, configure and deploy packages, deploy web jobs, schedule web jobs
  • Configure websites
    • Configure app settings, connection strings, handlers, and virtual directories; configure certificates, custom domains, and traffic manager; configure SSL bindings and runtime configurations; manage websites by using Windows PowerShell and Xplat-CLI
  • Configure diagnostics, monitoring, and analytics
    • Retrieve diagnostics data; view streaming logs; configure endpoint monitoring, alerts, and diagnostics; monitor website resources
  • Configure scale and resilience
    • Configure auto-scale using built-in and custom schedules; configure by metric; change the size of an instance
  • Manage hosting plans
    • Create hosting plans; migrate websites between hosting plans; create a website within a hosting plan

Implement virtual machines (15-20%)

  • Deploy workloads on Azure virtual machines (VMs)
    • Identify supported Microsoft workloads; deploy and connect to a Linux VM; create VMs
  • Implement images and disks
    • Create specialized and generalized images for Windows and Linux; copy images between storage accounts and subscriptions; upload VHDs
  • Perform configuration management
    • Automate configuration management by using PowerShell Desired State Configuration and custom script extensions; enable puppet and chef extensions
  • Configure VM networking
    • Settings include reserved IP addresses, access control list (ACL), internal name resolution, DNS at the cloud service level, load balancing endpoints, HTTP and TCP health probes, public IPs, firewall rules, direct server return, and Keep Alive
  • Configure VM resiliency
    • Scale up and scale down VM sizes; auto-scale; configure availability sets
  • Design and implement VM storage
    • Configure disk caching; plan storage capacity; configure operating system disk redundancy; configure shared storage using Azure File service; configure geo-replication; encrypt disks
  • Monitor VMs
    • Configure endpoint monitoring, alerts, and diagnostics

Implement cloud services (15-20%)

  • Configure cloud services and roles
    • Configure instance count and size, operating system version and family, upgrade and fault domains, ACLs, reserved IPs, and network access rules; configure local storage; configure dedicated and co-located caching, local and cloud configurations, and local disks; configure multiple websites; configure custom domains
  • Deploy and manage cloud services
    • Upgrade a deployment; VIP swap a deployment; package a deployment; modify configuration files; perform in-place updates; perform runtime configuration changes using the portal; scale a cloud service; create service bus namespaces and choose a tier; apply scalability targets
  • Monitor cloud services
    • Monitor service bus queues, topics, relays, and notification hubs; configure diagnostics

Implement storage (15-20%)

  • Implement blobs and Azure files
    • Read data; change data; set metadata on a container; use encryption (SSL); perform an async blob copy; configure a Content Delivery Network (CDN); implement storage for backup and disaster recovery; configure Azure Backup; define blob hierarchies; configure custom domains; configure the Import and Export Service
  • Manage access
    • Create and manage shared access signatures; use stored access policies; regenerate keys
  • Configure diagnostics, monitoring, and analytics
    • Configure retention policies and logging levels; analyze logs
  • Implement SQL databases
    • Choose the appropriate database tier and performance level; configure point in time recovery and geo-replication; import and export data and schema; design a scaling strategy
  • Implement recovery services
    • Create a backup vault; deploy a backup agent; back up and restore data

Implement an Azure Active Directory (15-20%)

  • Integrate an Azure AD with existing directories
    • Implement DirSync, O365 integration, and single sign-on with on-premises Windows Server 2012 R2; add custom domains; monitor Azure AD
  • Configure the Application Access Panel
    • Configure single sign-on with SaaS applications using federation and password based; add users and groups to applications; revoke access to SaaS applications; configure access; federation with Facebook and Google ID
  • Integrate an app with Azure AD
    • Web apps (WS-federation); desktop apps (OAuth); graph API

Implement virtual networks (15-20%)

  • Configure a virtual network
    • Deploy a VM into a virtual network; deploy a cloud service into a virtual network; configure static IPs; configure internal load balancing; design subnets
  • Modify a network configuration
    • Modify a subnet; import and export a network configuration
  • Design and implement a multi-site or hybrid network
    • Choose the appropriate solution between ExpressRoute, site-to-site, and point-to-site; choose the appropriate gateway; identify supported devices and software VPN solutions; identify networking prerequisites; configure regional virtual networks and multi-site virtual networks

Preparation

To prepare for the exam I used several different resources such as Microsoft Virtual Academy, TechNet, Channel9 and of course Microsoft Azure it self. I also found some great community blogs which have some link summaries:

If you are going to take this exam I wish you good luck.

Update: Microsoft retired some of the Azure exams and replace them by new ones. One of the is the AZ-100 series, which will give you the Microsoft Certified: Azure Administrator, and is addressing the 70-533.



Azure Preview Virtual Machines

Virtual Machines IaaS now available in the Azure preview portal

Some months ago Microsoft lunched a new preview portal for Microsoft Azure, with a cool new design and features. The IaaS or Virtual Machine services was missing from the portal. A week ago Microsoft announced to add some enhancements to the preview portal including Virtual Machines. Now today Microsoft rolled out the enhancements to the portal. with other improvements:

  • IaaS Functionality: Create, deploy, monitor and manage rich virtual machines’ based applications, and manage virtual networks within a fully customizable Portal experience. In addition to creating simple virtual machines, we are adding the ability to automate the deployment of rich multi-machine application templates with a few clicks. With this, deploying a multi-tier, highly-available SharePoint farm from the portal will be a few clicks away!
  • Resource Group enhancements: Manage infrastructure services like virtual machines and virtual networks along with platform services like web sites and databases, all within the same Resource Group, as a single application. This level of flexibility and control is an example of how Azure is leading the way in blurring the lines between infrastructure and platform services, giving customers the choice to pick the best platform for their application needs.
  • Azure Image Gallery Updates: The completely re-imagined Azure Gallery is more powerful with the addition of several new virtual machine images that enable you to provision dev/test servers or production applications in minutes. The new virtual machine images and templates take the guesswork out of building, orchestrating and deploying complex applications, thus letting you focus on creating business value instead of managing the infrastructure.
  • Azure SQL Database: Customers can manage their Azure SQL Databases within the Portal, consistent with other Azure services. This includes provisioning databases across Web and Business (currently in general availability) and Basic, Standard, and Premium (currently in preview).

Checkout the blog from  Director, Product Marketing, Microsoft Azure to learn more.

Azure Preview Portal Virtual Machine