vSwitch NIC Teaming and Network Failure Detection Policies

What is NIC Teaming and why you need it?

Uplinks is what provides connectivity between a vSwitch and a physical  switch. This uplinks passes all the traffic generated by virtual machines or the vmkernel adapters. 

But what happens when that physical network adapter fails, when the cable connecting that uplink to the physical network fails, or the upstream physical switch to which that uplink is connected fails? With a single uplink, network connectivity to the entire vSwitch and all of its ports or port groups is lost. This is where NIC teaming comes in.

NIC teaming means that we are taking multiple physical NICs on a given ESXi host and combining them into a single logical link that provides bandwidth aggregation and redundancy to a vSwitch. NIC teaming can be used to distribute load among the available uplinks of the team.

Below diagram illustrates vSwitch connectivity to physical world using 2 uplinks.Read More

Switch Discovery Protocols

In physical networking space, switches are connected to one or more adjacent switch forming a web of switches which can talk to each other. This web of switches is referred as “neighbourhood of switching”.

Virtual switches (standard or vDS) are connected to these physical switches via physical uplinks. These uplinks are terminating at a particular port of the physical switch and that port itself have some characteristics like a VLAN ID etc defined there. These characteristic values are not exposed to virtual switches by default.

What I mean by this is by just looking at virtual switch diagram in vSphere client, we can’t tell which uplink of vSwitch is connected to which port of physical switch, or what is the make and model of backend physical switch.  

Switch discovery protocols allow vSphere administrators to determine which physical switch port is connected to a given vSphere standard switch or vSphere distributed switch.Read More

Configuring QoS and Traffic Filtering in vSphere 6

During my VCAP6-Deploy exam preparation, I found this topic quiet a bit interesting and difficult as well as I have never ever laid my hands on Quality of Service type of thinks in respect of networking. Also my concepts were not very clear on topics like DSCP, QoS, COS etc, so I decided to learn more about these this time and write a blog post on the same.

What is Quality of Service (QoS) and Traffic filtering?

In a vSphere distributed switch 5.5 and later, by using the traffic filtering and marking policy, you can protect the virtual network from unwanted traffic and security attacks or apply a QoS tag to a certain type of traffic.

The goal of using QoS for network is to ensure that the most important network traffic gets to where it needs to go while suffering least amount of latency when there is congestion in network.  Read More

Configuring and Managing VMkernel TCP/IP Stacks

While working through VCAP6-Deploy blueprint I stumbled upon topic TCP/IP stack configuration. I have seen this many times in my lab while configuring networking stuffs and had a basic idea of what is the purpose of using custom TCP/IP stack. Suprisingly this feature is there with vSphere 5.5, but I never noticed it.

I decided to discover more about TCP/IP stack in my lab and share my experience through this write up. I will start with very basic.

What is VMkernel TCP/IP and why to use it?

The purpose of a TCP/IP Stack configuration in VMware vSphere Hosts is to setup the Networking Parameters which will allow the communication between the Hosts themselves including the Virtual Machines, other Virtual Appliances and last but not least the Network Storage.

We all know that as per networking best practices, its good to have dedicated VMkernel adapters for different type of traffics such as management, vMotion, vSAN, iSCSI and vSphere Replication etc.Read More

Configuring and Administering Storage Policies in vSphere 6

vSphere storage profiles were first introduced with vSphere 5, then renamed to storage policies with the release of vSphere 5.5.

Storage policy aims to logically separate storage by using storage capabilities and storage profiles in order to guarantee a predesignated quality-of-service of storage resources to a virtual machine.

The storage policy is used to map the defined storage capabilities to a virtual machine,
and specifically, its virtual disks. The policy is based on the storage requirements for each virtual disk that guarantees a certain storage feature or capability.

Gone are the days when administrator was only concerned about free space on datastore. Now a days you need to ensure that your application/servers are getting enough IOPS and datastore latency is not impacting any server performance.

In a SDDC infrastructure, software policy based profile management (SPBM) is very crucial and using SPBM is making life of a vSphere administrator easier than ever.  Read More

Tagging a disk as SSD Disk in vSphere 6

There is a a very cool feature available in vSphere 6 which allows you to tag (mark) a devise as SSD/Flash device. Some time ESXi host do not recognize certain devices as flash when their vendors do not support automatic flash disk detection. The Drive Type column for the devices shows HDD as their type.

Why you need to do so?

Case 1: If you’re planning to deploy vSAN in your environment, then as a vSAN prerequisites you need some SSD disks (at least one per disk group).

Case 2: You want to use Host Cache Configuration feature so that host cache can be configured to use SSD drives and the virtual machine’s swapfile can be stored on this SSD drive for better performance as the SSD has much faster latency than a traditional mechanical disk

So if in your environment, your SSD disks has not been recognized automatically as SSD and in vSphere Web Client it is still showing as HDD, then you can manually mark the drive as SSD.Read More

Exporting/Importing vDS Configuration in vSphere 6

This will be a very short post on how to export vDS configuration from one vCenter and importing it in another vCenter. Lets get started.

If you have several vCenter server in your datacenter and you want to have a consistent and identical naming schemes for your distributed switch across all your vCenters, then you can save your time and efforts of creating vDS/Port groups on each vCenter manually by using the export configuration feature of vDS.

Login to vSphere Web Client and select the vDS (which is fully configured) and right click on it and select Settings > Export Configuration.

vds-1

You can export either only vDS settings or can include port group settings (Security policy, NIC teaming, vLAN ID etc) as well. I wanted both in my lab so I chose first option.

vds-2

Click yes to save the exported file.

vds-3

Login to destination vCenter via Web Client and navigate to Networking view and right click on virtual datacenter and select Distributed Switch > Import Distributed Switch.Read More

Multipathing and Claim Rules

What is Multipathing?

Multipathing is having more than one path to storage devices from your server. At a given time more than one paths are used to connect to the LUN’s on storage device. It provides the ability to load-balance between paths when all paths are present and to handle failures of a path at any point between the server and the storage.

The vSphere host supports multipathing in order to maintain a constant connection between the server and the storage device, in case of failure that results in an outage of an HBA, fabric switch, storage controller, or Fibre Channel cable.

Multipathing support does not require specific failover drivers. However, in order to support path switching, the server does require two or more HBAs, from which the storage array can be reached by using one or, typically, multiple fabric switches.

Virtual machine I/O might be delayed for up to sixty seconds while path failover takes place.Read More

VMFS Locking Mechanisms

In a shared storage environment, when multiple hosts access the same VMFS datastore, specific locking mechanisms are used. These locking mechanism prevent multiple hosts from concurrently writing to the metadata and ensure that no data corruption occurs. This type of locking is called distributed locking.

distributed lock.png

To counter the situation of Esxi host crashing, distributed locks are implemented as lease based. An Esxi host that holds lock on datastore has to renew the lease for the lock time and again and via this Esxi host lets the storage know that he is alive and kicking. If an Esxi host has not renewed the locking lease for some time, then it means that host is probably dead.

If the current owner of the lock do not renews the lease for a certain period of time, another host can break that lock.  If an Esxi host wants to access a file that was locked by some other host, it looks for the time-stamp of that file and if it finds that the time-stamp has not been increased for quite a bit of time, it can remove the stale locks and can place its own lock.Read More

Create,Configure and Manage Datastore Clusters

What is Datastore Cluster?

A datastore cluster is a collection of datastores with shared resources and a shared management interface. Datastore clusters are to datastores what clusters are to hosts.

When you add a datastore to a datastore cluster, the datastores resources become part of the datastore cluster’s resources. Datastore clusters are used to aggregate storage resources, which enables you to support resource allocation policies at the datastore cluster level. Also datastore cluster provides following benefits:

  • Space utilization load balancing
  • I/O latency load balancing
  • Anti-affinity rules

We will talk about these in greater details a bit later in this post.

Datastore Cluster Requirements

Before creating a datastore cluster, one should keep following important points in mind:

1: Datastore clusters must contain similar or interchangeable datastores: A datastore cluster can contain a mix of datastores with different sizes and I/O capacities, and can be from different arrays and vendors. However, the following types of datastores cannot coexist in a datastore cluster.Read More