Friday, 15 January 2016

Unable To Delete vSwitch Or Remove Up-links from the vSwitch: A Specified Parameter Was Not Correct

Written by Suhas Savkoor



Today, I was working with a customer on a case where he had set up a new host and had configured a vSwitch for VM port-groups, vMotion and management, all on the same vSwitch. He also had created one additional switch and assigned couple of NICs to it. However, we did not need this vSwitch and we were trying to delete the vSwitch and we were being returned with an error. Removing the up-link, or even moving the up-link to unused state returned the same error. The error message was:

"A specified parameter was not correct. Vim.Host.VirtualSwitch.LinkDiscoveryProtocolConfig "

Resolution: (Applicable for 4.x and 5.x environment)

1. Take a SSH (Putty) session to this host.
2. Run the command:
# esxcfg-vswitch -B both <vSwitch> 
<vSwitch> is the name of the vSwitch which is returning the error.

The Switch -B has couple of values: 

-B --set-cdp Set the CDP status for a given virtual switch. To set pass one of "down", "listen", "advertise", "both"

"down" - means it will not participate in CDP
"listen" - means it will only listen for CDP
"advertise" - means it will advertise the CDP info
"both" - is a combination of listen and advertise

Any of the above parameters can be used

3. Refresh the network settings in the vSphere Client
4. Remove the up-links for the vSwitch. It should be now removed without any errors. 
5. Remove the vSwitch


Tuesday, 12 January 2016

Upgrade: VCSA 6.0 Embedded PSC to 6.0 U1

Written by Suhas Savkoor



Previously we saw how to perform a fresh installation of Embedded appliance 6.0

This article discusses how to upgrade your existing 6.0 vCenter Server Appliance to 6.0 U1 hosted on an embedded PSC. With 6.0 GA we do not have the VAMI page for VCSA management, so the upgrade should now be performed through the command line of the appliance.

Step 1:
Download the vCenter 6.0 U1 appliance from this link here
The second option is the appliance ISO

Download this ISO and attach it to the existing 6.0 appliance virtual machine.

Step 2:
  • Before proceeding with the upgrade, take a snapshot of your existing 6.0 appliance, so that we will have a restore point to revert to in case something goes wrong.
  • Since this is an embedded PSC install, take a SSH (Putty) session to the appliance which has the Update 1 ISO already mounted. 
  • Login with root credentials that was setup during the install. 

Choice 1:
To apply the patches immediately, run the below command:
software-packages install --iso --acceptEulas


Reboot the appliance and the upgrade is completed successfully.

Choice 2:
You can stage patches and do the upgrade later at a convenient time as well. This works in three steps:
  • Stage the patches to the appliance
  • Review the staged patches
  • Apply the staged patches to appliance
To stage patches, run the following command:
software-packages stage --iso --acceptEulas


To Review staged patches, run the below command:
software-packages list --staged


To apply the staged patches, run the below command:
software-packages install --staged


Once the upgrade is done, reboot the appliance.
Now, this being a 6.0 update 1, we have our management web GUI back. So after the upgrade, go to: https://<vcenter_ip_or_fqdn>:5480



Login with root credentials to verify everything is running fine.
You can also see that from here onward, you can perform the patching and update from the GUI of the appliance.


That's all there is to it!


Finding Lock On A File

Written by Suhas Savkoor



If we want to determine which ESXi host is holding a lock on the file, we usually end up following this KB article. The classic command we use is vmkfstools -D /path/to/the/file

I came across another command, which is pretty good and also saves the time for us in finding out which host corresponds to the MAC address that is locking the particular file. From the SSH of the host, browse the virtual machine directory. 

Once you are inside the virtual machine's directory run the following command against the file, that you want to check for lock. 
vmfsfilelockinfo -p <file_name> 
For example:
# cd /vmfs/volumes/52a62585-b8e592b8-3570-005056030027/CentOS7 
# vmfsfilelockinfo -p CentOS7-flat.vmdk 

The output is as follows:

vmfsfilelockinfo Version 1.0
Looking for lock owners on "CentOS7-flat.vmdk"
"CentOS7-flat.vmdk" is locked in Exclusive mode by host having mac address ['00:50:56:03:0d:38']
Trying to make use of Fault Domain Manager
----------------------------------------------------------------------
Found 3 ESX hosts using Fault Domain Manager.
----------------------------------------------------------------------
Searching on Host 192.168.1.177
Searching on Host 192.168.1.176
    MAC Address : 00:50:56:03:0d:38

Host owning the lock on the vmdk is 192.168.1.176, lockMode : Exclusive
Total time taken : 0.02 seconds.


This tells us the MAC address of the host having the lock on the file, as well as which host corresponds to that MAC address even if the SSH session is conducted through a different ESXi host.

This will again not work for NFS!


vSphere Install and Upgrade Series

Written by Suhas Savkoor



Welcome to VMware vSphere Install and Upgrade Series. This section will discuss about fresh installation as well as upgrading VMware vCenter from 5.1 to 5.5 to 6.0 (Embedded and External PSC) on both appliance as well as Windows vCenter level. It also discusses about fresh installations of 5.x and 6.x version of vCenter.

**Note** This article will be updated with new links as and when the setup is completed.

Fresh Install Series:

1. Fresh installation: Embedded PSC deployment of a 6.0 vCenter Server Appliance
2. Fresh Installation: Simple Install of a 5.5 vCenter Server (Windows)
3. Fresh Installation: External PSC deployment of a 6.0 vCenter Server Appliance

Upgrade Series

1. Upgrade: vCenter Server Appliance from 6.0 to 6.0 U1 with embedded PSC
2. Upgrade: vCenter Server Appliance from 6.0 to 6.0 U1 with external PSC


Installing vCenter Appliance 6.0 with Embedded PSC

Written by Suhas Savkoor



vCenter appliance as you know is a SUSE Linux alternative to Windows based vCenter. This article talks about Embedded PSC deployment of a new 6.0 appliance. The embedded PSC has both the PSC node and the management vCenter node on the same machine.

More about vCenter deployment models can be found in this link

Step 1:
Download the vCenter 6.0 appliance ISO . Click here for the download link
Second option in the download section is the appliance ISO

Pre-requirements:

  • You will need a Windows machine which acts as a mount point for the vCenter appliance ISO. Using this mount point you can deploy the appliance on to an ESXi host, or a vCenter (if you already have one)
  • The forward lookup and reverse lookup for the appliance name should be added in your DNS manager. If this is not done, the installation fails in mid progress. 
  • So, plan out a name for your appliance and an IP address for the same. Go to your DNS manager and enter this name and the IP address for your forward lookup zone and the network ID for the reverse lookup zone. 
  • Make sure that there is sufficient space on the datastore.
Step 2:
  • Mount the ISO on the Windows virtual machine. 
  • Open the Drive and you will see the following contents. Here, the Client Integration Plugin has to be installed first as the web browser is going to be used for the installation 
  • Open the VCSA folder. 

Inside this you will have the Client Integration Plugin setup .exe file. Run this file. 


You will come across the installation wizard of the Plugin. This is a simple installation; accept the EULA and proceed to install. 


Step 3:
Once the plugin installation is done, go back to the root directory of the vcsa disk drive and you will find vcsa-setup.html file. 
Open this file to continue further with installation.


You will now come across the install/upgrade web page. 


Click Install to begin the setup and deployment of the 6.0 appliance.

Step 4:
Accept the End User License Agreement and click Next


Step 5:
Here, we need to provide the details of the ESXi host on which you want to deploy your new appliance. 
  • Provide ESXi host's IP address or Fully Qualified Domain Name
  • Username for the ESXi, root
  • And the respective password

If it asks for a Security Thumbprint, click Yes to proceed.

Step 6:
Here you will provide your appliance details. 
  • For appliance name: Enter any name for this appliance. However, make sure that this name is added to the Forward Lookup Zone in your DNS manager. 
  • Provide a password for the " root " user of the appliance. 
*Note* Document this password as this would be required for upgrading the appliance in future. 


Step 7:
Since here we are doing an Embedded PSC install. Choose the first (default) option.


Step 8:
Since this is a fresh install, we will be creating a new SSO domain. The details to be filled are:
  • Password: Enter a new password for the SSO user. This user is used to manage your Identity sources, users and groups configuration for your vCenter appliance. Please document this password as well, as it is necessary.
  • SSO domain name: This has to be a unique domain name. It can be anything, here I am using the "vsphere.local" as my SSO domain. The SSO user then would be administrator@vsphere.local
*Note* If you have an existing domain in your active directory, say, xyz.com, DO NOT use this domain as your SSO domain. This will prevent you from adding users under to xyz.com domain to the vCenter for management. 
  • The SSO Site Name: This can be any user defined site name. 

Step 9:
Choose the appliance size depending on the number of hosts and VMs you have in your inventory.


Step 10:
Select a datastore where the appliance files must reside. 


Step 11:
Choose a database type:
  • If it is embedded, a vPostgres DB is installed
  • If you have an external Oracle DB, this can also be specified. 

Step 12:
Here you will enter the network settings for the appliance:
  • Select the port-group where this appliance must reside on the ESXi networking
  • Enter an IP address to this appliance. This IP address should correspond to the appliance name that was added in the Forward Lookup Zone of the DNS manager
  • The FQDN of the appliance, the appliance name and your domain name
  • Subnet mask, gateway and DNS server details.
  • If you have a separate server for your NTP, then check "Use NTP Servers" and paste the IP in the below box.

Click Next, review the settings and Finish to begin the installation/deployment. 

Once the installation is complete, you will see the following screen with a link to Web Client. Click the link and login with SSO credentials to verify everything is working good.


That's pretty much about installation of an embedded PSC appliance 6.0


Sunday, 10 January 2016

Unable To Power On A Virtual Machine: The operation is not allowed in the current connection state of the host

Written by Suhas Savkoor



So I spent a good 30 minutes on a Saturday, on call with AMD as their virtual machine would just not power on. It kept throwing the below error:


Also, you might experience one ore more of the below issues while trying to troubleshoot this virtual machine:
  • You are unable to remove this virtual machine from inventory.
  • You are unable to vMotion this virtual machine.
  • When you login to the host directly via vSphere client and Right click this virtual machine, most of the options are grayed out. Power ON is not available for this virtual machine. 
  • The virtual machine does not list when you run 
# vim-cmd vmsvc/getallvms

What can be done to resolve this:

1. Restart the VMware Virtual Center Server service and then try powering ON the virtual machine. 
2. Login to the SSH of the host and restart the management agents using the below command
# services.sh restart
Once the management agents are restarted, the virtual machine might enter into an orphaned state.

3. Right click the virtual machine and remove it from the inventory. This operation will succeed this time.
4. Browse the datastore where this virtual machine is residing and open the virtual machine folder.
5. Right click the virtual machine's .vmx file and add it to the inventory. Select the host/resource pool that is required.
6. Power on the virtual machine and this time the operation should succeed. 




Thursday, 7 January 2016

Logging into 5.1 Web Client Displays Associated User's Password Is Expired

Written by Suhas Savkoor



When you open a 5.1 web client, and try logging in, you receive the following error:


The default password expiration time is 365 days. To increase this value:

Step 1:
  • Login to SQL Management studio which manages the database of this vCenter. 
  • Expand Databases and expand RSA database (Which has information regarding the 5.1 SSO)



Step 2:
  • Expand Tables and locate the table: " dbo.IMS_AUTHN_PASSWORD_POLICY "
  • Right click this table and select Edit Top 200 Rows 



Step 3:
  • Locate the following column: " MAX_LIFE_SEC " and edit the time for password expiration.
          47304000 seconds = 546.5 days
          63072000 seconds = 730 days
          90000000 seconds = 1041days

  • Or you can change the " PERIODIC_EXPIRE " column to 0 which implies never expire. 
  • Restart the Web Client service and login again, successfully!