Virtualized Services Directory on Hyper-V for Windows Server 2012 R2 – part 2

In the previous article of this serie, we deployed an empty VM to host our VSD server, in this second part, we are getting serious and deploy the Linux OS and the VSD server role!

Proceed to CentOS 6.7 Installation

We will proceed to default minimal install of Centos 6.7:

1. Double click on the Contoso – VSD VM and click the Power Button to start it.
2. Start the setup of CentOS:centos2_thumb[2]
3. Proceed to setup choosing the desired keyboard, then select “Basic Storage Device” and “Yes, Discard Any Data”

Type the hostname for this machine “vsd.contoso.local” and the desired timezone.

Select the root password and Use All Space, Write Changes to Disk.

Click Done and Begin Installation.

4. Once the setup is finished, restart the virtual machine and log in to do basic networking setup:

dhclient eth0

In order to edit my configuration files, I don’t like vi and I prefer nano, so I get it online.

sudo yum install nano –y

Edit the file Ethernet NIC settings to match your network:

nano /etc/sysconfig/network-scripts/ifcfg-eth0









Then verify the network name:

nano /etc/sysconfig/network



Add the server IP address to the host file:

nano /etc/hosts vsd.contoso.local

Restart networking:

nano service network restart

Check your hostname settings with the following command:

hostname -f

5. Install and configure NTP service:

sudo yum install ntp -y

sudo nano /etc/ntp.conf

Modify the ntp.conf to have the internal server:

nano /etc/ntp.conf


We choose to use a local NTP server in our environment with IP address Please note that Microsoft Active Directory provides a NTP server feature, however, we are not able to use it as a time source for VSD, so we use an alternate NTP Server.

Save the file and restart the NTP client:

sudo service ntpd restart

Set the ntpd service to start automatically:

sudo chkconfig ntpd on

Verify that host is synchronized by using the following command:



6. We will pin our distribution to CentOS 6.7 repository in order to avoid it to be upgraded to later builds.

We create a new file with repo information:

sudo nano /etc/yum.repos.d/c67.repo






7. Install dependencies

sudo yum install openssh-clients libedit bind-utils -y

Linux Integration Services Update

Microsoft regularly updates Kernel driver and user mode components in order to make Linux work best and add new supported features. We need to install Linux Integrated Services (LIS) in order to ensure best behavior.

1. Open a SSH session to the newly configured machine, in this guide, we use MobaXTerm:


2. Download LIS 4.1.2 components from Microsoft Website with the following command:

sudo yum install wget -y


3. Extract the files using the following command:

tar -xvzf lis-rpms-4.1.2-1.tar.gz

4. Update the components using:


sudo ./


5. Once the setup is finished, restart the virtual machine and log back in.

Deploying the VSD Components on the VM

In this section, we will copy the VSD installation binaries to the VSD VM and proceed to setup.

1. Extract the “Nuage-VSD-*-ISO.tar.gz” file that you have downloaded. Get the .ISO file and go to Hyper-V manager and mount it to the “CONTOSO-VSD” VM.
2. Mount the ISO file on your system:

sudo mkdir /media/cdrom

sudo mount /dev/sr0 /media/cdrom

3. Launch VSD Setup process:

cd /media/cdrom

sudo ./


Select standalone option by hitting s and confirm with yes.


4. Wait for the install to finish, note that it can take several minutes.

Once the setup is finished, you can check that all the components are active using the following command:

monit summary

This should display you the following output for a fully ready environment:


Verify that VSD is operational

Once the setup has completed, you can verify the configuration and log in the portal for the first time. After reviewing operations, you will be able to install a product key to start using licensed features of your VSD.

1. Open your favorite browser and enter the URL:

Add exception to your browser as this is expected for a first configuration running with self-signed certificate


2. Login with the default credentials:


3. Welcome to the world of VSD!


So that you have VSD installed, you can start playing and creating organizations, networks, network policies.

But in order to have it enforced somewhere, you need a network controller. Monitor this blog and we will review the steps to make Nuage Networks controller run on Hyper-V!

For more information:

You can also reach me at my email if you need more info and trial: [first].[last]!


Virtualized Services Directory on Hyper-V for Windows Server 2012 R2 – part 1

In Nuage Networks solutions family (see previous post for a quick intro), Virtualized Services Directory is the foundation for enterprise-class SDN. VSD serves as a policy, business logic and analytics engine for the network services.

VSD includes the architect role, a HTML5-based UI that allows operations to occur in a user-friendly way. It also comes with a command line interface and every single operation can also be done by REST API calls.

VSD contains a multi-tenanted service directory that supports role-based administration of users, compute and network resources. It also manages network resource assignments such as IP and MAC addresses.

For the purpose of network service assurance, the VSD allows the definition of statistics rules such as collection frequencies, rolling averages and samples, as well as Threshold Crossing Alerts. When a TCA occurs, it will trigger an event that can be exported to external systems through a generic messaging bus. Statistics are aggregated over hours, days and months and stored in an analytics cluster to facilitate data mining and performance reporting.


VSD Supported Configurations

VSD supported configurations are detailed here, but in a nutshell, VSD is composed of two roles:

  • VSD Server itself
  • VSD Statistics server (can be a Hadoop or Elastic Search storage)

In this post, I will focus on VSD Server itself.

The VSD can be deployed stand-alone for testing and validation environments, and will be deployed in clusters for production environments in order to achieve high-availability and scaling needs.

As a customer, Nuage Networks provides you with the following form factors for VSD server deployment:

  • VMware Image: supported on ESXi 5.5/6.0
  • QCOW Image: supported on KVM for CentOS 6.X, RHEL 6.X/7.X
  • ISO file for your own setup.

The ISO files allows it to be deployed on a physical server running: CentOS and RHEL versions 6.5, 6.6 and 6.7 with minimal install.


Objectives of this setup

So there is no reference to Hyper-V in the supported platforms list, but it was too tempting for me not to test it’s installation and running.

Warning! This post does not depict any current Nuage Networks best practice nor supported configuration for hosting VSD platform.

I will provide here some platform-level recommendations to make VSD usable for some small demo/POC environments where you want the platform to be usable and stable.

We will deploy a VSD role on a Hyper-V host name CLOUDHOST, which is running Windows Server 2012 R2. This host has an external virtual switch called “Management” which is linked to the datacenter world and has connectivity to the Internet.



Prerequisites for this setup

In order to start with this setup, you should have the following elements available:

  • A running Windows Server 2012 R2 host machine with Hyper-V role, management console and PowerShell enabled.
  • Latest VSD binaries from Nokia Online Support Center.
  • CentOS 6.7 ISO Minimal Install Setup files.
  • SSH Client: Anything like Putty, I personally like MobaXterm.
  • A NTP server.
  • The VSD VM will need internet connectivity to download various components during the setup process.


VSD VM Recommendations for Hyper-V

The first step consists of creating a Hyper-V Virtual Machine with CentOS 6.7 binaries installed. The specifics recommended parameters (Recommended by me, not officially Nuage Networks!) for this VM are:

Configuration item   Recommended value
VM Generation
  • Generation 1
  • 8192 GB (bare minimum)
  • NO dynamic memory used
  • 4 vCPU or more
Disk type and Size
  • Use VHDX format
  • Dynamic Size (127 GB by default)
NIC Configuration
  • 1 VNIC for management
  • Use Synthetic NIC and not the emulated (legacy)
Integration services
  • NOT using the Time Synchronization option
  • Stop action: Shutdown the guest operating system

VM Creation

In Windows Server 2012 R2 UI, the following steps need to be completed:

1. Open the Hyper-V management console. In the Server Manager, select Hyper-V, right click on the computer name and select Hyper-V Manager.
2. On the right side on the management console, select New then Virtual Machine


3. On the New Virtual Machine Wizard, click Next
4. Type a name for the Virtual Machine you created: CONTOSO-VSDhv2
5. Create a Generation 1 virtual machine:hv3
6. Specify 8192MB of RAM, verify that the checkbox “Use dynamic memory” is NOT enabled.hv4
7. Connect the virtual machine to the Management network Interface or any suitable virtual switch for your environment. hv5
8. Create the virtual hard disk file on the desired path:hv6
9. Specify “Install an operating system from a bootable CD/DVD-ROM” and select the location of your CentOS 6.7 installation media hv7
10. Review the parameters and click Finish: hv8

Do not start the VM, we need to modify additional settings.

11. Once the VM has been created, right click on it and select Settingshv9
12. In the processor section, add cores to have at least 4 virtual CPUhv10
13. Go to the Integration Services section of the Virtual Machine and

  • Uncheck the “Time Synchronization” item as we will use the NTP service to have consistent time-stamps with the whole Nuage Architecture
  • In the Automatic Stop Action, select “Shutdown the guest operating system”. hv11
14. Click OK to confirm the VM settings.

VM Creation: PowerShell

If you prefer to use PowerShell, you can do the previous steps in just a couple of lines where I define the following variables:

  • vmpath and vhdpath as the paths for the VM and the virtual hard disk file to be created.
  • vmname as the name of the VM.
  • vmswitchname as the name of the hyper-v virtual switch where this VM will be attached.
  • Linuxisopath with the path to the CentOS 6.7 minimal install ISO.


New-VM -NewVHDPath $vhdpath -NewVHDSizeBytes 127GB -Generation 1 -MemoryStartupBytes 8GB -Name $vmname -Path $vmpath -SwitchName $vswitchname
Set-VM -Name $vmname -ProcessorCount 4 -AutomaticStopAction ShutDown
Get-VMIntegrationService -VMName $vmname -Name “Time Synchronization” | Disable-VMIntegrationService
Set-VMDvdDrive -VMName $vmname -Path $linuxisopath
Start-VM -Name $vmname


This is quick so in many times, I prefer PowerShell!

That was easy! This is it for this first part of this post, in the second part, we will proceed to Linux CentOS 6.7 setup with the prerequisites for VSD and proceed to VSD server setup!

For more information in the meantime:


Got Software Defined Networking?

So you probably have been hearing about Software Defined Networking for now quite a while but are wondering how it is exactly, how does it work and how you implement that in your organization. In a serie of posts here, I will give you some overview of the various components it takes to deploy SDN in the real world.

But first let’s start with the basics in this post!

Why doing SDN?

With the utilization of clouds, we seen datacenters becoming very much bigger and way denser so we had the address the following problems:

  • we reached the technical limits of IP networks for multi-tenancy (VLAN can host only 4 thousands different networks, Private VLAN not suitable for all situations)
  • networking processes being manual and error-prone: while compute virtualization allowed us to gain more flexibility and programmability, not much has evolved for a long time in the networking field, hence networking becoming a bottleneck for growth and innovation.
  •  vendor-specific extensibility: how to go beyond some hardware specific limitations and pricing?

While they embrace cloud models, companies adopt at the same time new paradigms for developing and hosting their applications:

  • From endpoints VM that are relatively long-lived, we host applications in containers that average lifetime is in minutes.
  • Micro-services architectures makes endpoint instantiated on-demand, so the slowness of network processes and procedures is no longer bearable and we must automate everything.

For many organizations it has become crazily complex to understand network flows, so we need to adopt a new paradigm for managing hybrid clouds. With SDN we want to achieve:

  • fully automated network operations: from a complex architecture to deploy, we want a high level of abstraction environment that will deploy transparently to networks the policies we define.
  • decreasing operational costs: because you better administer the network, you can better use the compute, densifying your virtualization platform and getting more ROI and savings on energy.
  • improving security and compliance: you program once your network and its rules, and it gets applied everywhere.
  • accelerating time to market: network is programmed, is integrated into companies development strategies and tooling for DevOps.
  • openness and easiness of integration: easy to deploy third parties components to enable new features and functions on the network.

Now you might think that SDN is only for cloud providers or huge organizations. Actually it’s not only the case. Take 10 hypervisors that you have in your current environment: can you describe precisely the networking operations that occurs on them? Can you tell for sure if a VM moves from one host to the other if its going to survive? How do you manage integration with other networks: non-virtualized or in cloud services?

Nuage Networks Solution Overview

Nuage Networks has been doing SDN for more than 5 years with field-proven cases and big deployments for mission-critical workloads with a suite of solutions. Here’s what we have for you:

Virtualized Services Platform

VSP Is a suite of solutions that solves today’s IT datacenter and hybrid-cloud challenges:


  • VCS: for the datacenter needs, network virtualization, distributed routing and switching, micro-segmentation, enterprise distributed firewall and many more.
  • VSS: allows you to define filtering services and micro-segmentation. (It’s a brand new product to be released soon.)
  • VSAP: extends SDN with an additional level of control and management: it enables administrators to understand all the routing topology, correlates the IP layers, routing layers and the virtualization layers to offer you quicker problem resolution and preventive guidance.
  • VNS: is our solution for SD-WAN. It allows you extend the SDN to branch offices and cloud services easily.

In this specific post, I will start introducing the datacenter solution building blocks:

Virtualized Cloud Services

logovsp VCS is the foundation for an open and dynamically controlled datacenter network fabric. It allows you to program your datacenter, and leverage SDN features:

  • deploy and configure networking as you do for compute (and storage).
  • automate the network.
  • simplify the network and network policy definition.
  • connect any datacenter elements extending layer-2 domains including both virtualized and non-virtualized environments.
  • growing cloud-scale: supporting thousands of tenants with highly redundant infrastructure.


logovsd Virtualized Services Directory contains all intelligence and logic for your network and SDN environment. VSD is where you define your networks, their traffic templates and policies, filtering and micro-segmentation and network analytics.
Configuration can be achieved on a HTM5-based GUI, via CLI, or directly via REST API if you want to program your SDN environments (if you do DevOps for instance and want to automate operations).This is how VSD UI looks like for the logical networks definition: you can see a layer-3 domain with the different networks defined on it and the different VM and interfaces participating into this. You can then define all common networks operations via this interface: vsdui


logovsc Virtualized Services Controller: this is the SDN engine. It get instructions from the VSD configuration and translates that into language that network devices will understand. Those devices can be hypervisors, routers, switches or network gateways.

Into the SDN World we commonly refer this guys to have two interfaces:

  • Northbound interface: takes instruction from the logical management place, it usually takes the form of REST API calls.
  • Southbound interface: sends instruction to devices that are responsible to enforce the network rules, it usually takes the form of OpenFlow messages.

VSC is based on the very robust and field-proven SR-OS (Service Router OS from Nokia, this is the router that equips a quite significant part of the core internet routers).


logovrs Virtualized Routing & Switching is a component that serves as virtual endpoints for network services. It monitors the compute-related events and notifies the SDN controller that will send the appropriate rules (as defined in the cloud management solution and in VSD). It is installed on the hypervisors in your environment, we now support: VMware, KVM, Docker and more to be announced (very) soon!


7850vsg Virtualized Services Gateway enables non-SDN enabled devices to be integrated into the SDN model. You just plug your grand-pa server to the regular RJ45 port, and it will belong to SDN world, applying policies and network settings as you defined them. It’s a pretty nice piece of hardware operating L2/L4 with performance up to 1 Terabit/s capacity in a single rack unit.

We also have a virtual appliance of this component called VRS-G for VRS-Gateway, that allows you include baremetal assets into SDN world.

Putting it together

So for a logical view of a basic SDN solution in an organization, it would look something like that:


  • Management Plane: VSD allows you to define the network configuration, you can also use various cloud management solutions of the market: OpenStack, VMware, CloudStack and more.
  • Control Plane: SDN controller work is done by VSC. For high availability of this role, you can deploy multiples VSC, they will exchange route information with other controllers and it will also allow you to scale-out linearly for the biggest environments. You can also very easily integrate it with your edge routing devices (from your service providers), as they talk BGP too.
  • Data Plane: You deploy VRS on the hypervisors in your environment, non-virtualized workloads can be connected to gateways (VRS-G, VSG, or third parties hardware).


Now that we have the basics, we will further study in later post how the components talk together to make a complete and comprehensive enterprise SDN solution. In the meantime, you can review:

You can also reach out to me directly if you need help with SDN!