VM showing disk size is 0 MB

Reading Time: 2 minutes

Some time ago, I was doing some clean up on VMs that have attached an image file, when I found a particular VM with strange behavior, each disk from the VM (local and RDM disks) was showing 0 MB of disk size:

So, what I did?

First of all, I checked the guest OS and verified that it was up and running. So I was wondering how the guest OS seems correct but vSphere Web Client (I refreshed several times the browser) was showing no space in all disks and I verified in the Datastores that the .vmdk files were there.

Investigation

I found in the Events tab for this VM, an error about a snapshot a few weeks ago that it wasn’t successfully created (from the 3rd party Software), so, maybe this problem is related to the snapshots?

I verified the .vmx file configuration and check that was correct, also reviewing each descriptor file (vmdk), they were pointing to the disk data (vmdk-flat) that really exists in the datastore, so it couldn’t be a problem related to snapshots.

Anyway, I logged out and logged in just to verify that it wasn’t a problem of the vSphere Web client but it showed the same (no luck), all disks (LUNs and disks) attached to that VM showed 0 MB .

Conclusion

Well, it’s an easy solution, if you power-off the VM, unregister and register the VM in the vCenter then… it works! The VM appeared as usual (showing the allocated space for each disk).

Hence, which was the error? I can’t assure which was the error but maybe something happened to the .vmx file and unregistering and registering the VM again “repaired” the VM configuration file.

vSphere 6.0: New external PSC within existing SSO Domain

Reading Time: 2 minutes

Hello there!

A quick post talking about a new external PSC in vSphere 6.0 environments.

As you may now the vCenter product is composed by the PSC (Platform Services Controller) and the vCenter component.

Services provided by each component:

Platform Services Controller vCenter
vCenter Single Sign-On PostgreSQL or SQL Express (in 6.0 version)
VMware Certificate Authority vSphere Web Client
vSphere License Service vSphere Client
vSphere ESXi Dump Collector
vSphere Syslog Collector
vSphere Auto Deploy
vSphere Update Manager

Let’s go to the point. I am going to repoint a vCenter with an embedded PSC (a vCSA called “pokecenter”) to an external PSC I created in a Windows server called “digicenter” (I know is kinda original). Digicenter is already joined to the same SSO domain as pokecenter.


Note: If you have any problem when adding an external PSC to an existing SSO domain, check cmsso-util unregister command in the vCSA appliance. In my case, I had to re-install it three times and in the last one, I used the command.

More information in KB: https://kb.vmware.com/s/article/2114233


In the vCenter with embedded PSC, I will connect through SSH and repoint my vCenter to the external Windows PSC “digicenter”.

The command is: cmsso-util reconfigure –-repoint-psc digicenter.pokemon.jp –username administrator –domain-name vsphere.local –passwd VMware1!

Now, time to wait, it will take a couple of minutes as the text says:

 And after the pass, successful!

 

Hence, our vCenter “pokecenter” has an external PSC “digicenter”. We can check it in vCenter > Manage > Settings > Advanced Settings:

So…

If found some problems when repointing to the external PSC,  make sure the time on both servers is the same (check NTP server), also DNS resolution of the external PSC. Give some time for the vSphere Client to initialize after the repointment.

Finally, be patient, I found some errors (SSO errors about the external PSC) when login to the vSphere Web Client but, after waiting about 10 minutes finally it initialized up successfully.

vSphere Network I/O Control: NIC Limit bandwidth

Reading Time: 4 minutes

Today let’s talk about vSphere Network I/O Control (NIOC) version 3 (vSphere 6.0), it’s a feature in the vSphere Distributed Switch that allows you to control granularly the output/egress bandwidth from a VM network adapter level. Besides there are other useful options within NIOC capabilities, today, I will focus only in the network adapter bandwidth limit for VMs.

Prerequisites:

Enable the feature in the dvSwitch (in our case the one with Data Network):Scenario:

2 VMs within 2 Networks (Portgroups in dvSwitch)

KenshiroVM is a VM with Ubuntu that simulates traffic with iperf as a client.

Win10Pro is a VM with iperf application configured as a server:

Objective:

We will look in how Network I/O control (NIOC) let us limit the bandwidth granularly from a Virtual Machine (KenshiroVM), so, we will limit the bandwidth for a single NIC and see if it really works.

Testing:

Lab time! I enabled NIOC in the dvSwitch that I have created for OS traffic (Data Network), dvSwitch is called “DSwitch_DataNW”. The other dvSwitch is “DSwitchMGMT” and NIOC is not enabled (no NIOC = no restrictions).

As I said before we have 2 networks:

  • Data Network: 10.10.6.0/24
  • Management Network: 192.168.1.0/24

Main steps:

1. Verify that the client (KenshiroVM) has no restrictions within the network.

2. Then, we will limit the Data Network adapter from KenshiroVM, launch iperf to simulate traffic and review the limitation configured.

3. Finally we will test iperf again but in the Management Network and review that we have no restrictions.


1. Currently, KenshiroVM has no restrictions configured (notice that in the blue rectangle there are no options for NIOC because that portgroup (Management) it’s located in another dvSwitch where we didn’t enable NIOC):

If we launch iperf command with 200Mbps on port 9999 from KenshiroVM:

We can see the traffic on the destination (Win10Pro) on the Data Network Adapter (you can see the subnet in the screenshot):

Also, we can review it in vSphere Web Client (25 MBps = 200 Mbps):

2. Now we are going to set a limit on KenshiroVM Data Network adapter to 88 Mbits:

Now, we perform the same command with iperf on the client (KenshiroVM):

Even pushing 200 Mbits through the Data Netowork Adapter using iperf, NIOC will limit the traffic to 88 Mbits as set before. Here is the traffic seen by Win10Pro Data Network adapter:

In KenshiroVM, iperf performed the transfer in 88 Mbps approximately:

3. Now, if we do the same experiment (150 Mbps) but in the adapter where NIOC is not enabled:

KenshiroVM confirmed that it performed at 150 Mbps approximately:

  • Conclusion

As a result of using vSphere NIOC,  we can granularly set limits in the bandwidth in a VM network adapter and it will obey the settings configured. It only works for outbound traffic, if you set a limit in a destination VM adapter, then, NIOC will not make any restrictions regarding the inbound traffic.

VMkernel: vMotion and Provisioning in dedicated TCP/IP stacks

Reading Time: 3 minutes

It’s been a while since I posted something, but I was busy with university duties and to be honest I couldn’t spend time on publishing things but, here we are!

First, I am currently studying for the VCAP6 – DCV Deployment Exam (3V0-623) and I am learning a lot with it, so maybe I will post more topics related with.

Today I am going to talk about TCP/IP stacks in VMkernels (for vSphere 6). This is a thing that I didn’t care so much when I studied for the VCP6-DCV but now with the VCAP and all the time spent in the lab I thought that it was a great topic to talk!

So, get down to brass tacks.

Just as a reminder, a VMkernel port is a port you create in an ESXi host to connect with the “outside world” (outside the host), so when you want to communicate two hosts, each host will have a VMkernel port to communicate.

TCP/IP stacks

A TCP/IP stack is a set of networking protocols (Do you remember the OSI Model?) used to provide networking support for the services that it handles. So you can use different stacks to support in different ways a service within the stack.

A quick look at the services you can choose when creating a VMkernel port:

I am not going to explain each one because we are going to focus on vMotion and Provisioning traffic.

Continuing with TCP/IP stacks, when you create a new VMkernel in an ESXi host, you can choose which services do you want to enable: 

Regarding vMotion and Provisioning TCP/IP stacks you could do it in two ways:

  • For vMotion, for example, you can do the following (this is the most common configuration, Default TCP/IP stack with a service Enabled):
  • Or (Dedicated TCP/IP stack):

I must admit I always use the first one, the Default TCP/IP stack with the service enabled, so which should we use, the dedicated stack or the default one?

Dedicated TCP/IP stack options

  • vMotion: It provides better isolation (more security), a separate set of buffers and sockets and avoids routing table conflicts than using the same TCP/IP Stack.
  • Provisioning:  Used for cold VM migration (migrate power-off VMs), cloning and snapshot traffic.

So, I discussed with some people because I wanted to know which benefit could give you to use the dedicated TCP/IP stacks and this is what I gathered:

  • For vMotion: As a short answer, I would say, that if you need to do Cross vCenter vMotion you will need it because the dedicated stack gives you a  Layer 3 VMkernel, meaning routing. With a dedicated stack, you can change the Gateway and DNS used in the default TCP/IP stack, meaning that you don’t have to use the same stack options that other services.do.
  • For Provisioning traffic: If you have massive data coming from snapshots or cloning, is better that you use this dedicated stack instead of the default one.

In the end, this is my recap and I hope it can help someone that is not familiar with it. Obviously, you could use the dedicated TCP/IP stack whenever you want but bear in mind that it will disable that service in the rest of the VMkernels.

Anyway, if you think that I missed or want to discuss something, let me know in the comments!

VCP6-DCV achieved!

Reading Time: 2 minutes

I am going to start talking about the exam VCP6-DCV from VMware. The main resource you should use is the VMware site: http://bit.ly/1PLshWR

There you can check a path to achieve VCP6-DCV (there is a newer version VCP6.5-DCV). I took path 1, as I wasn’t certified.

Later, I took one official training course, VMware vSphere: Install, Configure, Manage [V6].

Next, I passed the vSphere 6 Foundations Exam (2V0-620) months ago and finally I did VMware Certified Professional 6 – Data Center Virtualization Exam (2V0-621).

And finally, last week I passed!

The first exam is an introduction of VMware and I didn’t find it difficult. The second one is more difficult and there is a lot of content to study..

Here you have a list of the resources I used for VCP6-DCV (2V0-621):

Paid resources:

You can use the free trial period and try to study as faster as you can.

Free resources:

But, In fact, what really helped me was to do the Hands-on-Lab (HOLs) and test things in my own lab (create your own ESXi hosts, vCenter, create a cluster, test DRS, HA, FT and so on).

And well, that’s all!