esx

How to restart management agents on ESX or ESXi host

If you are not unable to connect ESXi server to vCenter, or when you cannot connect to ESXi server from VI client it may be necessary to restart the management agents on ESX or ESXi host.

To restart the management agents on ESXi 6.x

This applies to ESX4/5.x/6.x

For the restart of the management agents (mgmt-vmware and vmware-vpxa) do the following:

Log in to SSH or Local console as root.
Run these commands:

Or also (alternative way)
To reset the management network on a specific VMkernel interface, by default vmk0, run the command:

Note: Using a semicolon (;) between the two commands ensures the VMkernel interface is disabled and then re-enabled in succession. If the management interface is not running on vmk0, change the above command according to the VMkernel interface used.

to restart all management agents on the host, run the command:

To restart the Management agents on ESXi Server – via the console:

1.) Connect to the console of your ESX Server and press F2
2.) Login as root and when using the Up/Down arrows navigate to Restart Management Agents.
3.) Press Enter and press F11 to restart the services.
4.) When the service has been restarted, press Enter. Then you can press Esc to logout of the system.

Screen should be similar to:

To restart the management agents on ESXi 4.x and 5.x:

From Local Console or SSH:
  1. Log in to SSH or Local console as root.
  2. Run this command:
You can also check:  Service mgmt-vmware restart may not restart hostd (1005566).

To restart the management agents on ESX Server 3.x, ESX 4.x:

  1. Login to your ESX Server as root from SSH session or directly from the console.
  2. Type service mgmt-vmware restart and press Enter
    Make sure that automatic Startup/Shutdown of virtual machines is disabled before running this command otherwise you might reboot the virtual machines. See more at 103312
  3. Type service vmware-vpxa restart and press Enter.
  4. Type logout and press Enter to disconnect from the ESX Server.

Successful output :

This may also server as a solution for the error “Unable to access file since it is locked. An error occurred while consolidating disks: One or more disks are busy.”

Configure SNMP on an ESXi Host or multiple Hosts

Recently I needed to configure all of our 40 or so ESXi hosts to forward SNMP traps to our corporate monitoring solution. This meant enabling and configuring SNMP on each of the hosts. Naturally, I wrote a script for this as 40 hosts is way too many to do manually.

This article shows you how configure SNMP on an ESXi host manually, via PowerCLI and via host profiles.

Option 1: Manually via Command Line

This is the most boring approach and should really only be used if you only have a few ESXi hosts to do, or if you really like doing things manually 🙂

  1. Start the SSH service on the ESXi host (Configuration >> Software >> Security Profile >> Services)
  2. SSH into host (using putty or something similar)
  3. Run the following to configure SNMP settings, enable SNMP in the firewall and start the SNMP agent:
    Note 1: Replace <COMMUNITY_STRING> with the community string for your monitoring solution.

    Note 2: Replace <TARGET_STRING> with the target string that maps to your environment, in the format of [email protected]/community_string.

    Option 2: Manually via PowerCLI

    Option number 2 is to use PowerCLI to configure SNMP on an ESXi host. The following script is how to do this on a single host. To configure SNMP on an whole bunch of ESXi hosts, see option 3 below.

    Note: Prior to being able to use the script above, ensure you configure the following variable values:

    • <ESXI_HOST> – The FQDN or the IP address of the ESXi host you want to enable SNMP on.
    • <COMMUNITY> – This is the community string you require for your environment (same as in option 1 above).
    • <TARGET> – This is the FQDN or IP address of the target you want to send the SNMP traps to. Note: THIS IS NOT A TARGET STRING as in option 1. In this instance you ONLY need the FQDN or IP address. The @port and the community_string will be added automatically by the Set-VMHostSnmp cmdlet.
    • <PORT> – The port you require SNMP traps to be sent on.

Option 3: Automatically via PowerCLI

If you have to configure SNMP for more than just a handful of ESXi hosts, then it is worth automating the entire process through a PowerCLI script. The logic around enabling SNMP on the ESXi host is the same as in option 2 above, with some additional logic around this to enumerate and complete the process on all ESXi Hosts.

Here is a script that will connect to a vCenter Server, get a list of all ESXi Hosts and then configure SNMP on each ESXi host:

Note: Similar to option 2 above, you will need to configure the following variables first:

  • <COMMUNITY> – This is the community string you require for your environment (same as in option 1 above).
  • <TARGET> – This is the FQDN or IP address of the target you want to send the SNMP traps to.
    Note: THIS IS NOT A TARGET STRING as in option 1. In this instance you ONLY need the FQDN or IP address. The @port and the community_string will be added automatically by the Set-VMHostSnmp cmdlet.
  • <PORT> – The port you require SNMP traps to be sent on.

Option 4: Automatically via Host Profiles

Finally, if you are lucky enough to be running Enterprise Plus licensing, then you will have the ability to use Host Profiles. This allows you to configure SNMP within the host profile and then just apply that profile to all of your ESXi hosts.

Follow these steps to add the SNMP configuration into an existing Host Profile:

  1. From the VI Client, navigate to Management >> Host Profiles
  2. Select the profile you want to add the SNMP settings and click Edit Profile
  3. Expand the SNMP Agent Configuration policy and select SNMP Agent Configuration
  4. In the Configuration Details pane, complete the followng:
    • Enable or Disable agent: Ticked
    • IP/UDP Port: The port you require SNMP traps to be sent on
    • SNMP Community String: The community string for your environment
    • Notification Receiver: The target string that maps to your environment, in the format of [email protected]/community_string
  5. Click OK to save changes
  6. For each ESXi host attach and apply the profile (Note: An ESXi host needs to be in maintenance mode to be able to apply the host profile)

And that concludes how to configure SNMP on a ESXi host.

Source

Remove licensing from ESXi host

WARNING: This is for education/informational testing/development purposes only, and should not be used on a production server.

WARNING: This trick will only work with an ESX(i) stand alone server.  It will not work if the ESX(i) server is connected to a vCenter Server, as the vCenter Server knows better than to let you do this.  (you can always remove and readd the ESX(i) server to vCenter.)

To reset your ESX 4.x, ESXi 4.x and ESXi 5.x 60 day evaluation license:

  1. Login to the TSM through SSH or Shell
  2. Remove the following two files:
  3. Reboot server

If your ESX server is connected to a vCenter server, please remove the ESX server first.  Once the steps above are completed, you can add it back to the vCenter server.

Command to remove the license and reboot the ESX host:

After reboot, logging on the ESXi server, you should be greeted with this message.

60-day-evaluation

For ESXi 5.1 and ESXi 5.5, you may need to continually remove the license files as the server reboots for this to work.  The following should do this quite nicely:

An alternative would be restarting the services, it should work just as well as rebooting the server:

For vCenter
1) Create a DSN to your local SQL Express instance that holds your vCenter DB.
2) Uninstall virtual center
3) Re-install virtual center and point to your DSN making sure not to overwrite.

With this method, I have been able to refresh my 4.1 and 5.0 hosts.  Have not confirmed if this works for 5.1.