WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

Completely automating vCenter Server Appliance (VCSA) 5.5 Configurations

01.15.2015 by William Lam // 8 Comments

As promised, here is a new script called configureVCSA55.sh that I have put together after learning about a couple new VCSA automation tips here and here. This script will fully automate the configuration of a vCenter Server Appliance (VCSA) 5.5 and once the script has completed, you will have a fully functional vCenter Server Appliance. There are several variables at the top of the script that you will want to edit prior to running the script.

Here is a summary of the high level operations the script is performing and not all operations will be performed, it will depend on the variables that you have configured.

  • Accept EULA
  • vSphere Inventory Size Configuration
  • Active Directory Configuration (optional)
  • DNS Search Domain Configuration
  • NTP Configuration
  • vCenter Server Database Configuration
  • vSphere SSO Configuration
  • vSphere SSO Identity Source Configuration for Active Directory (optional)
  • Active Directory default Identity Source Configuration (optional)
  • VMware Telemtry Configuration (optional)

To run the script, you can either SCP the script to a newly deployed VCSA and run it locally in the shell or remotely via SSH using the following command:

ssh root@[VC-IP] < configureVCSA55.sh

completely-automate-configuration-vcsa55.0
I almost never go through a manual configuration of the VCSA anymore (since 5.0) as it just takes way too long! Hopefully you will find this script handy when needing to quickly test something or automating the deployment of a few dozen VCSA which I know of a few customers that are doing on a regular basis 🙂

Categories // Automation, VCSA Tags // VCSA, vcva, vpxd_servicecfg, vSphere 5.5

Quick Tip - Automate JVM Heap configurations after increasing VCSA memory

01.12.2015 by William Lam // 1 Comment

If you are using the VCSA (vCenter Server Appliance) and you wish to increase the VM memory settings to one of the three supported memory configurations: 8-16GB, 24GB & 32GB, there is on additional configuration change before the new memory configuration can take effect. This change is adjusting the JVM Heap memory settings for the following vCenter Server Services: vSphere Web Client, Inventory Service and SPS (vSphere Profile-Driven Storage). If you would like to do this from the UI, you can access the VCSA's VAMI interface and under vCenter Server->Services tab, there is a "Inventory Size" toggle that you will need to set based on your VCSA's configured memory. Once you have save the settings, you will need to restart the vCenter Server for the changes to take effect.

increase_memory_on_vcsa
Note: The text in the VAMI states that the appliance requires at least 16GB of RAM for a Medium configuration which is actually incorrect, it should actually say 24GB for Medium configuration. The correct supported VCSA memory configuration maximum can be found here.

The UI is great but what if you wish to automate this change? This is especially handy if you have already automated the memory increase for the VCSA itself. Luckily, we can turn to our handy vpxd_servicefg command which supports modifying the JVM Memory based on the three supported vSphere Inventory Sizes. Below is the chart with the respective Inventory Size and command to issue within the VCSA. The parameters reflect the JVM Heap configurations for the vSphere Web Client, Inventory Service and SPS (vSphere Profile-Driven Storage).

Inventory Size VCSA Memory Command
Small 8-16GB /usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '512' '3072' '1024'
Medium 24GB /usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '512' '6144' '2048'
Large 32GB /usr/sbin/vpxd_servicecfg 'jvm-max-heap' 'write' '1024' '12288' '4096'
Once the command has successfully completed, you can refresh the VCSA VAMI interface and you should see the appropriate size has been configured. For the changes to take effect, you will need to restart the vCenter Service by issuing one of the following commands:

/usr/sbin/vpxd_servicecfg service restart

or

/etc/init.d/vmware-vpxd restart

Categories // Automation, VCSA Tags // jvm heap, VCSA, vcva, vpxd_servicecfg

Unable to apply VSAN VM Storage Policy on NSX Controller/Edge VMs?

01.07.2015 by William Lam // 6 Comments

This post was inspired by a recent Twitter conversation with Joep Piscaer who ran into an interesting challenge with VSAN and NSX.

I want to apply a VSAN VM Storage Policy to a NSX Controller, but I’m getting an "The method is disabled by ‘vShield_SVM’” error. Any ideas?

— Joep Piscaer (@jpiscaer) December 31, 2014

The issue that Joep encountered was not being able to apply a VSAN VM Storage Policy onto an NSX Controller VM which resided on a VSAN Datastore. Below is a screenshot of the error message "The method is disabled by vShield_SVM" if you tried to apply the VM Storage Policy.

disabled_methods_on_vms_1
The reason Joep is seeing this error is because the NSX Controller VM is a special "Service VM" that is being managed by a specific solution, in this case it is VMware NSX. To ensure that users do not accidentally modify these "Service VMs", certain set of functionality has been disabled on these VMs from regular users. Any configuration changes that are required are initiated through the solution itself which has full administrative access to these VMs. This issue is actually not specific to the NSX Controller VMs but also applies to the NSX Edge VMs: ESR (Edge Service Router) and DLR (Distributed Logical Router).

In fact, this applies to any "Service VMs" which are being managed by a VMware Solution or 3rd party Solution. You will notice that you will not be able to edit these VMs like you would normally on other VMs. One suggestion from a community member was to check out the VMware KB 2008957 which has users manually tweaking the VCDB, which I am not a big fan of if I can help it. If you want to know why I do not recommend this, check out this post here where kittens might get harmed. Now, getting back to Joep's request, is there a solution for him? After all, his request is a valid one where he has deployed an NSX Controller VM on a VSAN Datastore and wishes to apply a specific VSAN VM Storage Policy.

Luckily, there is cleaner work around that does not involve messing around with the VCDB and crafting ugly SQL queries. The way these "methods" or operations are disabled on a particular set of VMs is through the use of a private vSphere API available through vCenter Server called disableMethods. You can actually view the list of disableMethods by viewing a particular VM using the vSphere MOB under config->disableMethod property as seen in the screenshot below.

disabled_methods_on_vms_2
The list of disableMethods map to the specific vSphere API calls for a VM and in the case of modifying a VM which includes applying a VM Storage Policy, the method that is used is is called the ReconfigVM_Task which we can see in the screenshot mapping to vim.VirtualMachine.reconfigure. If we want to be able to apply a VM Storage Policy, we simply just need to temporarily remove this particular operation from the disabbleMethods list.

Here are the instructions for enabling ReconfigVM_Task method:

Step 1 - You will need to find the MoRef (Managed Object Reference) ID of the VM that you wish to enable the method on. You can do this by either browsing through the vSphere MOB, using this vSphere SDK for Perl script or this PowerCLI snippet:

Get-VM -Name [VM-NAME] | ft -Property Id

Step 2 - Open a web browser to the following URL:

https://[VC-IP]/mob/?moid=AuthorizationManager&method=enableMethods

Step 3 - You will need to replace the following two parameters (make sure to replace the VM MoRef ID with the one you found in Step 1):

parameter value
entity <entity type="ManagedEntity" xsi:type="ManagedObjectReference">vm-35</entity>
method <method>ReconfigVM_Task</method>

Step 4 - Once you have updated fields as shown in the screenshot below, to execute the API call you just need to click on the "Invoke Method" link on the bottom right.

disabled_methods_on_vms_3
If everything was successful, you should see some output from the operation listing the methods that are still currently disabled. You can also confirm that everything is working by refreshing the vSphere Web Client or if you are using the vSphere C# Client, the "Edit Settings" option should now be available. Lastly, if I now apply a VSAN VM Storage Policy, I will no longer get the error and as you can see from the screenshot below, I now have successfully applied my "VSAN-Platinum-VM-Storage-Policy" for my NSX Controller VM. I would strongly recommend that you re-enable the original disable method by following the instructions below.

disabled_methods_on_vms_4

Here are the instructions for disabling ReconfigVM_Task method:

Step 1 - You will need to find the MoRef (Managed Object Reference) ID of the VM that you wish to enable the method on. You can do this by following Step 1 from the enable instructions

Step 2 - Open a web browser to the following URL:

https://[VC-IP]/mob/?moid=AuthorizationManager&method=disableMethods

Step 3 - You will need to replace the following three parameters (make sure to replace the VM MoRef ID with the one you found in Step 1 and any random number works for sourceId property):

parameter value
entity <entity type="ManagedEntity" xsi:type="ManagedObjectReference">vm-35</entity>
method <DisabledMethodRequest><method>ReconfigVM_Task</method><DisabledMethodRequest>
sourceId 1234

Step 4 - Once you have updated fields as shown in the screenshot below, to execute the API call you just need to click on the "Invoke Method" link on the bottom right.

disabled_methods_on_vms_5
If everything was successful, you should see a void output and if you go to your vSphere Web/C# Client, you should see that the "Edit Settings" option is now disabled again for this VM. Though applying a VSAN VM Storage Policy is pretty trivial, there are some additional things to be aware of when working with special "Service VMs" like the NSX Controller. Hopefully we can improve this workflow in the future and provide for a better user experience but in the mean time, you can use this workaround.

Categories // Automation, ESXi, NSX, VSAN Tags // disableMethods, enableMethods, mob, NSX, vm storage policy, vm storage profile, VSAN

  • « Previous Page
  • 1
  • …
  • 194
  • 195
  • 196
  • 197
  • 198
  • …
  • 224
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Ultimate Lab Resource for VCF 9.0 06/25/2025
  • VMware Cloud Foundation (VCF) on ASUS NUC 15 Pro (Cyber Canyon) 06/25/2025
  • VMware Cloud Foundation (VCF) on Minisforum MS-A2 06/25/2025
  • VCF 9.0 Offline Depot using Synology 06/25/2025
  • Deploying VCF 9.0 on a single ESXi host? 06/24/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...