Get-ClusterRules

16/06/2017

I recently encountered an interesting question, maybe not the one you will see every day. A vCenter Center server runs a large number of Clusters; the VMs on those clusters are controlled by a considerable number of DRS rules. The question that raised; “How do we know if the DRS rules we once designed are still in place?” In the course of time, rules can be disabled, VM or Host groups does not match any more. Trying to answer this question by going through the vCenter Server configuration is not the way to go.

Thankfully, the VMware PowerCLI contains a useful Cmdlet Get-DrsRule that enables you to create a dump of the configured rules for each cluster. This makes checking your configuration a lot easier.

But there is another thing, now we know about the configuration, but what do we know about the actual situation? For instance, VM to Host affinity has “should” and “must” rules, but to what extent is a “should” rule fulfilled?

So time to create a PowerShell script which performs the following tasks; for each Cluster within a vCenter Server, a dump of the configured DRS rule is made. The second part of the script determines on which host a VM is running and compares it to the configured rules. The script will also report if a DRS rule is disabled and displays the power state of each VM. You will probably worry less about a powered down VM.

The script can be found here on GitHub.

I am aware that the script and my programming skills are far from perfect, so expect updated versions in the future.


vCSA how to disable IPv6?

18/04/2017

For me it was already a common practice to disable IPv6 on ESXi hosts, but until recently I did not realize that vCenter Server can also benefit from it. For vCenter Server on Windows, you reconfigure the Windows network configuration. But how do you disable IPv6 on the vCSA?

I recently found that a vCSA 6.0 has at least three options to reconfigure the network settings. But only one option enables you to disable IPv6.

Using a web browser you can log in to the vCSA Web console by entering URL: https: //<vCSA hostname or IP address>:5480

From there go to Networking, under Networking Interfaces, choose Edit to open the “Edit IP Configuration” window. Here you can configure IPv4 and IPv6 and disable IPv4, but no option to disable IPv6.

Fig.1

Read the rest of this entry »


vCSA default shell is BASH

14/04/2017

A quick post about a little caveat while working in the vCenter Server Appliance (vCSA) shells. Yes correctly, shells in plural. The vCSA is bundled with at least two different shells:

  • Appliance Shell (default)
  • BASH shell

The “Appliance shell” is the default shell. After you log in to the vCSA, it will present the following well known screen.
Fig 1.

The appliance shell can be used for updating the vCSA, using the software-packages command and has some other use cases. From here you can enable the BASH shell as shown in the Fig 1. for the duration of your session with the following commands:

# shell.set --en -s /bin/bash root
# chsh -s /bin/bash root

You can also set the BASH shell as the default shell by performing the following command. Make sure, you first enable the BASH shell as shown above:

# chsh -s /bin/bash root

For the change to take effect, log out and log in again. Now you will directly enter the BASH shell.

But while working in the BASH shell, you need to temporarily switch to the Appliance shell?
In that case, provide the following command:

# appliancesh

That’s it. A shell is nothing more or less than an executable; the “Appliance shell” is no exception and can be found as /bin/appliancesh.

For more information, see: VMware KB “Toggling the vCenter Server Appliance 6.x default shell (2100508)


Best way to create vCSA support bundles

09/04/2017

In general, during contact with a Customer Support team, whether being a Hardware vendor (Servers, Storage) or a Software vendor, the likelihood that you will be asked to upload some log files for further investigation is significantly.

In case of VMware vSphere, you will have multiple options for collecting a support bundle; to name a few:

  • Windows vSphere Client
  • vSphere Web Client
  • PowerShell scripts

See also VMware KB “Collecting diagnostic information for VMware vCenter Server 4.x, 5.x and 6.x (1011641)” for a complete overview.

Using some of these methods is very convenient; however there is a little caveat, when the vCenter Server is a vCenter Server Appliance (vCSA) 6.x.

Under certain conditions, a vCSA might contain core dump files. When requested to create a support bundle these core dump files will be added to the support bundle, together with the log files. The issue that may arise is that the location where the support bundle will be created (partition /storage/log) has a fixed size and possibly is too small.

Is that is the case, the creation of the support bundle will halt with error “Cannot create a diagnostic bundle” and the desired support bundle will not be created.

VMware recommendation is to create and download a support bundle using the web browser. To do so enter the following URL:
https ://<VCSA Hostname or IP address>/appliance/support-bundle

Fig 1

After providing the credentials, the support-bundle (filename is: vm-support.tgz) will start downloading. The progress of the process will be shown in the browser.

Using this method, the files will be directly downloaded to your local computer, instead of being prepared on the vCSA.

As always, I thank you for reading.


Check_MK and vSphere – ESXi

14/08/2016

This post is the second part in a series about Check_MK monitor and vSphere. In the first part Check_MK was introduced and some basic Installation and Configuration was explained.

According to the documentation, for monitoring VMware ESXi and vCenter Server, Check_MK has implemented a plugin that uses the vSphere API for retrieving information. This plugin is much more efficient than versions based on the Perl API.

So let’s start and see what can be revealed. To get a clear understanding of the various options, I will perform a step-by-step configuration instead of ticking all options at once.

The first step is to go into WATO and add an ESXi host. Under WATO, choose, Hosts and New Host.

2016-08-10-01Figure 1

You must at least enter the Hostname and an IP address, the Alias is optional. Under Agent Type place a tick and select “No Agent”.

At this time, the result is not very exciting; the ESXi host will be pinged.

2016-08-10-02Figure 2

Read the rest of this entry »


Check_MK and vSphere – Introduction

10/08/2016

Introduction

Infrastructure monitoring is essential to carry out proper System Administration. Infrastructure consists of many components, starting with the basics such as server hardware, network components, storage, uninterruptible power supplies, backup equipment, but also environmental factors such as temperature and air humidity in server rooms. Apart from understanding the hardware, software is the next layer. Starting with Operating Systems; monitoring of resources such as CPU, memory, storage, network, state of essential services etc. Next level is applications and chained applications. Examples, monitoring mail queues of a mail server or databases from a SQL Server and so on.

Today, many monitoring products are available; many of these are tailored to special purposes and don’t cover all aspects of an Infrastructure.
I have noticed in recent years that many organizations are searching for a single product that can be used for monitoring as many components. Because nowadays most organizations run workloads on virtualized infrastructure, this means an extra challenge for the monitoring software.

Years ago, when I worked as a Sysadmin and virtualization was in a very early stage, my favorite monitoring software was a combination of the following products Nagios, Cacti and an advanced Syslog server.
Nagios has its origins as an Open Source product. Due to its open source nature, there are many products derived from Nagios, examples; OP5, Opsview, Groundwork, Check_MK and many more.

Some time ago Check_MK caught my attention, mainly because of its versatility and its ability to monitor diverse infrastructure including VMware vSphere.

In this and subsequent blog posts, I will investigate the potential of Check_MK, in particular the possibilities to monitor vSphere and other VMware products. Since there are already many excellent articles written about the installation and configuration I will not repeat these steps. Where needed, I will include references to articles that I used to build my Proof-of-Concept and issues that I encountered.

Read the rest of this entry »


Install VMware Tools in CentOS 7

08/07/2016

20160708-01The VMware Tools are an essential part during the installation of a Virtual Machine. For many Operating Systems you can go the easy way and install the VMware Tools right from the vSphere Web Client. You will install the VMware Tools that comes bundled with vSphere ESXi.

BTW, Since September 2015, there is also a downloadable version of VMware Tools (versions 10.0, 10.0.5, 10.0.8 and 10.0.9). The Downloadable versions (should be seen as a Solution) support all version of ESXi from 5.0 and later, see VMware Product Interoperability Matrixes. See the release notes of the latest version.

So far so good, for Windows Operating Systems, the installation of the VMware Tools is a no brainer. For Linux operating systems, installation is more complicated, for most reasons because Linux Operation Systems do have multiple options to install software.

In my case, I usually work with CentOS (based on the sources of Red Hat Enterprise Linux RHEL). CentOS uses RPM as a packet manager. Packet Managers do have many advantages while maintaining a Linux server. Unfortunately, the bundled version of the VMware Tools doesn’t come in .rpm format, but as an archive file in tar.gz format. Although installation of a .tar.gz is straightforward, it is not the way to go.

An alternative is using VMware’s OSP repository, see this nice post in case you want to know more. You can browse the OSP repository here. For CentOS, browse the corresponding RHEL version. You will also notice that there is no entry for RHEL7. Trying the RHEL6 version failed in my case.

Read the rest of this entry »