Personal blog about VMware – vSphere – NSX – HomeLabs – Cloud – SDDC – Storage – CMP – vSAN – Aria – Tanzu – Terraform
Category: VMware
VMware is a virtualization and cloud computing software vendor based in Palo Alto, California. Founded in 1998, VMware is now a subsidiary of Dell Technologies. VMware bases its virtualization technologies on its bare-metal hypervisor ESX/ESXi in x86 architecture.
Today I passed the VMware Certified Professional 7 Cloud Management and Automation Exam in short VCP7-CMA. The required score was 300 points and I scored 418 points! The exam is about automation of your cloud management platform with VMware Products: vRealize Automation (vRA), VMware vRealize Business (vRB) and vRealize Orchestrator (vRO) but there are also many questions about integrations with other VMware products like VMware NSX-V, VMware vCloud Air and of course VMware vSphere.
To be honest this was not my first attempt at the VCP7-CMA exam. In VMworld 2017 Barcelona, I already did the exam but I failed with just under 300 points, that was quite frustrating.
VCP7-CMA Exam:
The VMware VCP7-CMA exam consists out of 85 multiple-choice questions and you need to score at least 300 points. The maximum score is 500 points and you have 110 minutes to complete the exam. In the VMware VCP7-CMA exam guide are all the exam subjects listed so make sure you understand all of them. The main focus is on the vRealize Automation product. Make sure you study the right version because the exam is based on vRealize Automation 7.X and at this time the newest version is vRealize Automation 7.3. A big surprise to me was the questions about vCloud Air… because at the time I took the exam vCloud Air was not a part anymore of VMware (it was sold of to OVH) and all the documentation related to vCloud Air was removed… mmm nice.
VCP7-CMA Study Tips:
For passing the exam, I have used the following websites:
Today I was facing a VMware Content Library issue. I was removing a newly created Content Library in the vSphere Web Client but that resulted in a Java Runtime error.
The conclusion was that there was no way to remove the Content Library item.
Yesterday I attended “ITQ Transform” an event organized by my employer (ITQ). The event was all about IT Transformation and helping the customer. At the event there were about 150 people who were mostly customers of ITQ. The keynote speaker was Brian Gammage (Chief Marketing Technologist at VMware), who explained to everyone in the room how imported IT Transformation is.
The event was organized in Utrecht a city in The Netherlands. The location is centrally located in the country and the building is very suited for business events like transform.
At the event, there were twelve sessions of thirty minutes with presentations around the following subjects:
End User Computing
(Cloud Native) Development
Software Defined Data Center
Hybrid Cloud
IT Transformation Services
The sessions were given by ITQ Consultants and Partners VMware, IBM and Pivotal. At the end of the day, there was room for talking and socializing with customers and ITQ personal.
Last week I was deploying a VMware vRealize Operations Manager (vROPS) environment at a customer and that was causing problems because of no TCP/IP connectivity to the virtual machines. At first, it seemed like an administrator configuration error or typo, but it appeared to be a VMware bug. This blog post is about my findings and the solution to this problem.
Problem:
To find the source of the TCP/IP communication problems, I did some basic testing:
Is the vROPS web interface available on port 80 or 443?
Does the virtual machine respond to a ping (ICMP) request?
Is the vNIC enable on the virtual machine?
Is the vNIC connected to the right Port Group of (NSX) Logical Switch?
Are there no NSX Distributed Firewall (DFW) or physical firewall blocking the traffic?
After these tests, I could confirm the problem is inside the appliance/virtual machine.
Solution:
When I was looking at the network card configuration files it appeared that there was a problem with the configured subnet mask. The ‘NETMASK’ field has a prefix notation filled in… not a subnet mask notation. Here is a quick write-up to fix your problem.
Open the Virtual Machine console with the vSphere Web Client or vSphere Client.
Press ALT + F1 to get into the console (Hint: ALT + F2 to get back to the main screen).
Login with the root account and root password.
Open the network card configuration file with the vi editor (vi /etc/sysconfig/network/ifcfg-eth0).
Search for the line that starts with ‘NETMASK’.
Replace the current prefix 28 to a subnet mask 255.255.255.240 (Hint: The values listed here are an example).
Restart the vROPS appliance.
After a reboot of the appliance, the IP connectivity should be working.
Screenshot(s):
The screenshots below are taken from the Virtual Machine console and gives you basic directions.
Final word:
As a result of inserting a prefix in the OVF deployment screen, the network card configuration failed. A test with a subnet mask notation did not result in these problems. The problem is caused by a network configuration script that sets the network card configuration in the Operating System. VMware please fix this problem… it’s possibly a small code change or the prefix/subnet mask detection is not working correctly.
Update 04-11-2017: Today I received a notification from an ITQ college that the vRealize Log Insight (vRLI) deployment also is suffering from the same problem (vRLI link).
Recently I was deploying a new vRealize Automation (vRA) 7.3.0 environment at a customer and I ran into some problems. In the “vRealize Automation Installation Wizard” the “Prerequisite Checker” stopped working after applying fixes. This caused a major problem because no buttons in the GUI were working. In this article, I’m explaining what might be the cause and how to get around the problem.
This week I travelled with my colleagues to VMworld 2017 in Barcelona Spain. This was my first VMworld but luckily my colleagues helped me out with putting a schedule together. The days were absolutely great and well-organized thanks to my employer ITQ (special thanks to Francisco Perez van der Oord and Paul Geerlings).
This blog post is about my first VMworld with my personal highlights.
VMware vSphere 6.5 Host Resources Deep Dive
At the Rubrik stand, a thousand copies were given away of the best book in stores now (personal opinion) “VMware vSphere 6.5 Host Resources Deep Dive“. At a specific time, you had to wait in line to get a free copy of the book signed by Frank Denneman and Niels Hagoort. I was one of the lucky people who got a free copy with their signatures :).
VMworld 2017 Sessions
At VMworld, I attended a lot of sessions but my personal top three were the following:
Delivering Hybrid Cloud Architectures for Your Customer with VMware Cloud on AWS – Adam Osterholt
Replicating VMware VVols: A technical deep dive into VVol array-based replication in vSphere 6.5 – Claudio Calisto, Nick Dyer
vCenter Performance Deep Dive – Ravi Soundararajan
I also attended a non-disclosure agreement (NDA) session with Tom Corn the Vice President of Security Products at VMware about AppDefense.
Server and Storage Hardware (Dell EMC / HPE)
On Tuesday I visited multiple hardware vendors about their new products.
At the HPE stand they showed the new HPE ProLiant gen 10 servers and their current storage portfolio 3PAR, Nimble. A beta version of the HPE ProLiant DL360 G10 was displayed and there was an iLO5 demo.
The Dell EMC stand was one of the largest on VMworld. They displayed all their main products and were displaying demos.
Final word
I could blog all day about the announcements and sessions but luckily all information is available for everyone. You can find the sessions on the vendor websites or on YouTube. The company I work for has created a dedicated page to display all the VMworld news items.
Today I was planning a NSX manager deployment in my Home Lab… But that turn out to be a problem, because I could not upload an OVF file in the vSphere Client and HTML5 Web Client. When looking in my Home Lab notes I realized the last time I deployed an OVF was when the VCSA was running 6.5 without update 1. I think something went wrong with updating to VCSA 6.5 update 1.
Problem:
Both webpages display the problem in a different way.
vSphere Client:
With the vSphere Client the following pop-up appears when trying to deploy an OVF file: “This version of vCenter Server does not support Deploy OVF Template using this version of vSphere Web Client. To Deploy OVF Template, login with version 6.5.0.0 of vSphere Web Client”
HTML5 Web Client:
The HTML5 Web Client does not display any error at all. It just disables the option to deploy an OVF file.
Fix:
After some googling I found the following VMware KB article 2151085 (link). This turned out to be the solution.
1. Connect to the vCenter Server Appliance with an SSH session and root credentials.
2. Run this command to enable access the Bash shell:
shell.set –enabled true
3. Type shell and press Enter.
4. Navigate to /etc/vmware-content-library/config/ with this command:
cd /etc/vmware-content-library/config/
5. Create a backup of the ts-config.properties and ts-config.properties.rpmnew file with these commands:
cp ts-config.properties ts-config.properties.orig
cp ts-config.properties.rpmnew ts-config.properties.rpmnew.orig
6. Rename ts-config.properties.rpmnew to ts-config.properties.
mv ts-config.properties.rpmnew ts-config.properties
7. Restart the Content Library service:
service-control –stop vmware-content-library
service-control –start vmware-content-library
8. Refresh or close your browser and connect with one of the web interfaces.
Yesterday VMware announced the list of 2017 Second Half vExperts. I was pleased to hear that I am also selected. For ITQ (my employer) this means we have in total 14 vExpert and 5 vExpertNSX. Congratulations to everyone else that got their accreditations.
What is a vExpert?
The VMware vExpert program is VMware’s global evangelism and advocacy program. The program is designed to put VMware’s marketing resources towards your advocacy efforts. Promotion of your articles, exposure at our global events, co-op advertising, traffic analysis, and early access to beta programs and VMware’s roadmap.
Each year, we bring together in the vExpert Program the people who have made some of the most important contributions to the VMware community. These are the bloggers, book authors, VMUG leaders, speakers, tool builders, community leaders and general enthusiasts. They work as IT admins and architects for VMware customers, they act as trusted advisors and implementors for VMware partners or as independent consultants, and some work for VMware itself. All of them have the passion and enthusiasm for technology and applying technology to solve problems. They have contributed to the success of us all by sharing their knowledge and expertise over their days, nights, and weekends.
In this blog post, we are going to automate the installation of VMware ESXi 5.5, 6.0 and 6.5. This can be done with a so-called “kickstart” configuration file which is officially supported by VMware. The file contains the configuration for a VMware ESXi Host to configure settings like IP address, subnet mask, hostname, license key, datastore, etc.
The kickstart configuration file can be made available in the following locations:
FTP
HTTP/HTTPS
NFS Share
USB flash drive
CD/DVD device
Personally, I prefer to use the HTTP protocol.
Use Case
You might ask yourself, why should I install an ESXi Host with a kickstart file? Some of the use cases I identified over the years are:
The very first ESXi Hosts for your SDDC environment (before VMware vCenter is deployed or vSphere Auto Deploy is configured).
A standalone ESXi Host for a small environment.
A Home Lab environment to install nested VMware ESXi Hosts.
Setup a web server
To make the kickstart configuration file available for the ESXi host we need a web server. Basically, every web server available on the market can serve this file. Here is a list of web server products that I have used: Apache, Microsoft IIS and NGINX.
In this environment/example I used a Microsoft IIS server on a Windows 10 Client. Do not forget to add the cfg extension to the MIME types.
Configuration file
Now it’s time to create a text file with your favourite text editor. The text file in this example is called (ks.cfg). I have added two configuration files as samples, one with the minimum settings and one I normally use for my Lab environment.
Configuration file – Simple (ks.cfg)
This is a default ks.cfg configuration file with just the minimum of settings required.
#
# Sample scripted installation file
#
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
# A sample post-install script
%post --interpreter=python --ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )
Configuration file – Advanced (ks.cfg)
This is the more advanced version of the configuration file that also configures a lot of other settings like NTP servers, search domain, CEIP and a static IP address for the management interface.
### ESXi Installation Script
### Hostname: LAB-ESXi01A
### Author: M. Buijs
### Date: 2017-08-11
### Tested with: ESXi 6.0 and ESXi 6.5
##### Stage 01 - Pre installation:
### Accept the VMware End User License Agreement
vmaccepteula
### Set the root password for the DCUI and Tech Support Mode
rootpw VMware1!
### The install media (priority: local / remote / USB)
install --firstdisk=local --overwritevmfs --novmfsondisk
### Set the network to DHCP on the first network adapter
network --bootproto=static --device=vmnic0 --ip=192.168.151.101 --netmask=255.255.255.0 --gateway=192.168.151.254 --nameserver=192.168.126.21,192.168.151.254 --hostname=LAB-ESXi01A.lab.local --addvmportgroup=0
### Reboot ESXi Host
reboot --noeject
##### Stage 02 - Post installation:
### Open busybox and launch commands
%firstboot --interpreter=busybox
### Set Search Domain
esxcli network ip dns search add --domain=lab.local
### Add second NIC to vSwitch0
esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch0
### Disable IPv6 support (reboot is required)
esxcli network ip set --ipv6-enabled=false
### Add NTP Server addresses
echo "server 192.168.126.21" >> /etc/ntp.conf;
echo "server 192.168.151.254" >> /etc/ntp.conf;
### Allow NTP through firewall
esxcfg-firewall -e ntpClient
### Enable NTP autostartup
/sbin/chkconfig ntpd on;
### Rename local datastore (currently disabled because of --novmfsondisk)
#vim-cmd hostsvc/datastore/rename datastore1 "DAS - $(hostname -s)"
### Disable CEIP
esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 2
### Enable maintaince mode
esxcli system maintenanceMode set -e true
### Reboot
esxcli system shutdown reboot -d 15 -r "rebooting after ESXi host configuration"
Installing an ESXi Host with Kickstart file
The following procedure needs to be performed to boot from a kickstart file:
Boot the ESXi host with a VMware ESXi ISO (ISO file can be obtained from the VMware download page).
Press the key combination “shift + o” at boot.
Enter one of the following lines after runweasel:
For an HTTP share: ks=http://%IP_or_FQDN%/kg.cfg
For an HTTPs share: ks=https://%IP_or_FQDN%/kg.cfg
For a NFS share: ks=nfs://%IP_or_FQDN%/ks.cfg
The installation will start and use the kickstart configuration file (ks.cfg).
After the installation is complete the ESXi Host will reboot.
Screenshots
Here are some screenshots of the procedure:
Article updates:
2018-10-04 – This article has been updated.
2018-11-16 – Code blocks were not displaying correctly.
Today I was running one of my favourite home lab scripts to startup and shutdown my lab environment. Sadly, this ended with a PowerCLI error code. So it was time to investigate what was going wrong because the code did not change but the script stopped functioning at some point.
Error message:
The first thing we look at is the error message. The following error message was displayed inside my PowerCLI console: “Start-VM Exception has been thrown by the target invocation”
So it appears the command “Start-VM” is causing some issue. The Start-VM PowerCLI cmdlet is responsible for sending a command to vCenter Server to start a particular virtual machine.
Fix:
The first thing I noticed the system I was using was not running the most recent version of PowerCLI. So the first thing I did was upgrade PowerCLI from version 6.3 to PowerCLI version 6.5. I rebooted the system and I started the script again. It appeared that all the problems were gone :). So something surrounding the “Start-VM” cmdlet is not working correctly in PowerCLI 6.3. I could not find any information or a changelog entry related to the issue but it fixed “something” :).
Screenshots:
The first screenshot displays the script and encountering the issue with PowerCLI version 6.3. The second screenshot the same script is run but with an installed PowerCLI 6.5 version. As you can see the issue is resolved now.