Category: Hosting

Last updated by at .

Azure Stack

Speaking at the CLOUD 2017 Infrastruktur & Security Congress Switzerland about Azure Stack

I am happy to announce that I will be speaking aht the CLOUD 2017 Infrastruktur & Security Congress Switzerland on October 26 in Zürich. In the session “The Swiss Azure Stack Cloud – bringing Microsoft Azure to Switzerland” I will talk about a project I have worked on in the past year, very closly with our partners Microsoft, HPE and HIAG Data, to bring Microsoft Azure services to Switzerland using Microsoft Azure Stack.

The Swiss Azure Stack Cloud – bringing Microsoft Azure to Switzerland

The Swiss Azure Stack Cloud – bringing Microsoft Azure to Switzerland

 



Ubuntu on Microsoft Azure

Microsoft and Canonical create Azure optimized Ubuntu Kernel

Ubuntu is a popular choice for Virtual Machines running on Microsoft Azure and Hyper-V. Yesterday Microsoft and Canonical that they will provide an Azure Tailored Kernel for Ubuntu. Microsoft and Canonical were already working on a lot of projects together, like Linux Containers on Windows using Docker, or the Windows Subsystem for Linux.

Canonical, with the team at Microsoft Azure, are now delighted to announce that as of September 21, 2017, Ubuntu Cloud Images for Ubuntu 16.04 LTS on Azure have been enabled with a new Azure tailored Ubuntu kernel by default.  The Azure tailored Ubuntu kernel will receive the same level of support and security maintenance as all supported Ubuntu kernels for the duration of the Ubuntu 16.04 LTS support life.

The kernel itself is provided by the linux-azure kernel package. Some of the special feature this kernel provides are:

  • Infiniband and RDMAcapability for Azure HPC to deliver optimized performance of compute intensive workloads on Azure A8, A9, H-series, and NC24r.
  • Full support for Accelerated Networking in Azure.  Direct access to the PCI device provides gains in overall network performance offering the highest throughput and lowest latency for guests in Azure.  Transparent SR-IOV eliminates configuration steps for bonding network devices.
  • NAPI and Receive Segment Coalescing for 10% greater throughput on guests not using SR-IOV.
  • 18% reduction in kernel size
  • Hyper-V socket capability — a socket-based host/guest communication method that does not require a network.
  • The very latest Hyper-V device drivers and feature support available.

Source: https://insights.ubuntu.com/2017/09/21/microsoft-and-canonical-increase-velocity-with-azure-tailored-kernel/

I am sure these improvements will not only help Ubuntu Virtual Machines running on Azure, but also Ubuntu Virtual Machines running on Hyper-V

Canonical and Microsoft also promise to work close in the future to deliver more new feature.

As we continue to collaborate closely with various Microsoft teams on public cloud, private cloud, containers and services, you can expect further boosts in performance, simplification of operations at scale, and enablement of new innovations and technologies.

Really looking forward how this works. Also funny to see the comments on the Tweet from the @Ubuntu on twitter, which shows how many people live in the old world.



Azure Nested Virtualization

How to setup Nested Virtualization in Microsoft Azure

At the Microsoft Build Conference this year, Microsoft announced Nested Virtualization for Azure Virtual Machines, and last week Microsoft announced the availability of these Azure VMs, which support Nested Virtualization. Nested Virtualization basically allows you to run a Hypervisor in side a Virtual Machine running on a Hypervisor, which means you can run Hyper-V within a Hyper-V Virtual Machine or within a Azure Virtual Machine, kind a like Inception for Virtual Machines.

Azure Nested Virtualization

You can use Nested Virtualization since Windows Server 2016 or the same release of Windows 10, for more details on this, check out my blog post: Nested Virtualization in Windows Server 2016 and Windows 10

With the release of the Azure Dv3 and Ev3 VM sizes:

  • D2-64 v3 instances are the latest generation of General Purpose Instances. D2-64 v3 instances are based on the 2.3 GHz Intel XEON ® E5-2673 v4 (Broadwell) processor and can achieve 3.5GHz with Intel Turbo Boost Technology 2.0. D2-64 v3 instances offer the combination of CPU, memory, and local disk for most production workloads.
  • E2-64 v3 instances are the latest generation of Memory Optimized Instances. E2-64 v3 instances are based on the 2.3 GHz Intel XEON ® E5-2673 v4 (Broadwell) processor and can achieve 3.5GHz with Intel Turbo Boost Technology 2.0. E2-64 v3 instances are ideal for memory-intensive enterprise applications.

With the upgrade to new Intel Broadwell processors, Microsoft enabled Nested Virtualization, which will allows a couple of different scenarios, when you create a Virtual Machine running Windows Server 2016.

  • You can run Hyper-V Containers (Windows Containers with additional isolation) inside an Azure VM. With future releases we will also be able to run Linux Containers in Hyper-V Containers running on a Windows Server OS.
  • You can quickly spin up and shut down new demo and test environments, and you only pay when you use them (pas-per-use)

How to Setup Nested Virtualization in Azure

Deploy Azure VM

To setup Nested Virtualization inside an Azure Virtual Machine, you first need to create a new Virtual Machines using one of the new instance sizes like Ev3 or Dv3 and Windows Server 2016.I also recommend to install all the latest Windows Server patches to the system.

Optional: Optimize Azure VM Storage

This step is optional, but if you want to better performance and more storage for your Nested Virtual Machines to run on, this makes sense.

Azure VM Data Disks

In my case I attached 2 additional data disks to the Azure VM. Of course you can choose more or different sizes. Now you can see 2 new data disk inside your Azure Virtual Machine. Do not format them, because we gonna create a new storage spaces pool and a simple virtual disk, so we get the performance form both disks at the same time. In the past this was called disk striping.

Azure VM Storage Spaces

With that you can create a new Storage Spaces Storage Pool and a new Virtual Disk inside the VM using the storage layout “Simple” which basically configures it as striping.

Azure VM Storage Spaces PowerShell

I also formatted the disk and set the drive letter to V:, this will be the volume where I will place my nested virtual machines.

Install Hyper-V inside the Azure VM

Install Hyper-V on Windows Server using PowerShell

The next step would be to install the Hyper-V role in your Azure Virtual Machine. You can use PowerShell to do this since this is a regular Windows Server 2016.This command will install Hyper-V and restart the virtual machine.

Azure VM Hyper-V

After the installation you have Hyper-V installed and enabled inside your Azure Virtual Machine, now you need to configure the networking for the Hyper-V virtual machines. For this we will use NAT networking.

Configure Networking for the Nested Environment

Hyper-V NAT Network inside Azure VM

To allow the nested virtual machine to access the internet, we need to setup Hyper-V networking in the right why. For this we use the Hyper-V internal VM Switch and NAT networking. I described this here: Set up a Hyper-V Virtual Switch using a NAT Network

Create a new Hyper-V Virtual Switch

First create a internal Hyper-V VM Switch

Configure the NAT Gateway IP Address

The Internal Hyper-V VM Switch creates a virtual network adapter on the host (Azure Virtual Machine), this network adapter will be used for the NAT Gateway. Configure the NAT gateway IP Address using New-NetIPAddress cmdlet.

Configure the NAT rule

After that you have finally created your NAT network and you can now use that network to connect your virtual machines and use IP Address from 172.21.21.2-172.21.21.254.

Now you can use these IP Addresses to assign this to the nested virtual machines. You can also setup a DHCP server in one of the nested VMs to assign IP addresses automatically to new VMs.

Optional: Create NAT forwards inside Nested Virtual Machines

To forward specific ports from the Host to the guest VMs you can use the following commands.

This example creates a mapping between port 80 of the host to port 80 of a Virtual Machine with an IP address of 172.21.21.2.

This example creates a mapping between port 82 of the Virtual Machine host to port 80 of a Virtual Machine with an IP address of 172.21.21.3.

Optional: Configure default Virtual Machine path

Since I have created an extra volume for my nested virtual machines, I configure this as the default path for Virtual Machines and Virtual Hard Disks.

Create Nested Virtual Machines inside the Azure VM

Azure Nested Virtualization

Now you can basically start to create Virtual Machines inside the Azure VM. You can for example use an existing VHD/VHDX or create a new VM using an ISO file as you would do on a hardware Hyper-V host.

Some crazy stuff to do

There is a lot more you could do, not all of it makes sense for everyone, but it could help in some cases.

  • Running Azure Stack Development Kit – Yes Microsoft released the Azure Stack Development Kit, you could use a large enough Azure virtual machine and run it in there.
  • Configure Hyper-V Replica and replicate Hyper-V VMs to your Azure VM running Hyper-V.
  • Nested a Nested Virtual Machine in a Azure VM – You could enable nesting on a VM running inside the Azure VM so you could do a VM inside a VM inside a VM. Just follow my blog post to created a nested Virtual Machine: Nested Virtualization in Windows Server 2016 and Windows 10

In my opinion Nested Virtualization is mostly help full if you run Hyper-V Containers, but it also works great, if you want to run some Virtual Machines inside a Azure VM, for example to run a lab or test something.



Installation Windows Server 2016 VPN

How to Install VPN on Windows Server 2016

This post shows you how you can install a VPN Server on Windows Server 2016 Step-by-Step. It shows you how you can easily setup a VPN server for a small environment or for a hosted server scenario.

This is definitely not a guide for an enterprise deployment, if you are thinking about a enterprise deployment you should definitely have a look at Direct Access.

I already did similar blog posts for Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2.

You can simply follow this step by step guide:

First install the “Remote Access” via Server Manager or Windows PowerShell.

Install Remote Access Role VPN

Select the “DirectAccess and VPN (RAS)” role services and click next.

DirectAccess and VPN (RAS)



Windows Azure Website from Gallery

Migrate your WordPress Blog to Microsoft Azure Web Apps

I am running several WordPress websites and I run them on several different hosters, now in the past months I migrated some of them to Microsoft Azure using the Azure Web Apps. In this post you can see how you can migrate a smiple WordPress blog to Microsoft Azure.

First you have to have a Microsoft Azure account and login to the Microsoft Azure Portal. You can now create a new website from gallery, where you can choose WordPress as an option.

Windows Azure Website from Gallery

Windows Azure Website WordPress

You can than start configuring the WordPress website and set it up to use a new database and where it should be located.

Windows Azure Website WordPress configuration

After you created the website, you can go on the link of the website and configure your wordpress site.

Windows Azure Website Dashboard

To be able to upload themes and plugins you have to enable FTP for you account. In you can do this by changing the deployment credentials.

Windows Azure Website Configure FTP

Now what you can to migrate your existing blog to your new Microsoft Azure blog, you can export your WordPress blog and import in in the new WordPress blog running on Windows Azure. In my case I hit a issue with a PHP default setting which was maxupload limited to 2MB, and my WordPress blog export file was bigger than 2MB. Now you can simply change the PHP setting by using a .user.ini..

 



E2EVC Copenhagen

Speaking at E2EVC 2015 Berlin

Last year I was speaking at the Experts 2 Experts Virtualization Conference (E2EVC) at E2EVC Barcelona and E2EVC Brussels. And I am proud to announce that I will speak at E2EVC 2015 in Berlin next week from 12-14 June. Together with Michael Ruefli (Microsoft MVP for Cloud and Datacenter Management) I will speak about the latest announcement from the Microsoft Cloud and Datacenter evolution, covering topics like Azure Stack, Nano Server, Windows Server 2016, System Center 2016, Hyper-V and Microsoft Azure.

E2EVC Virtualization Conference is a non-commercial, virtualization community event. The main goal of the E2EVC is to bring the best virtualization experts together to exchange knowledge and to establish new connections. E2EVC is a weekend crammed with presentations, Master Classes and discussions delivered by both virtualization vendors product teams and independent experts. I am happy to be part of the community and listen to other industry leading experts, hopefully see you in Berlin.

 

 



centos hyper-v

Best Practices for running Linux on Hyper-V

Sometimes I just need my blog as a reminder or a database to find something in a few months so this is exactly one of this blog posts. Microsoft has a TechNet article where they describe the best practices for Linux VMs running on Hyper-V 2012 or Hyper-V 2012 R2. The article is a list of recommendations for running Linux virtual machine on Hyper-V.

Right now they have 4 recommendations on the list (Source Microsoft TechNet):

  • Use static MAC addresses with failover clustering.
  • Use Hyper-V-specific network adapters, not the legacy network adapter.
  • Use I/O scheduler NOOP for better disk I/O performance.
  • Add “numa=off” if the Linux virtual machine has more than 7 virtual processors or more than 30 GB RAM.