Updating configuration setting of ESXi service hostd with default values in vSphere ESXi 7.0U3 and ESXi 8.x
search cancel

Updating configuration setting of ESXi service hostd with default values in vSphere ESXi 7.0U3 and ESXi 8.x

book

Article ID: 392898

calendar_today

Updated On:

Products

VMware vSphere ESXi 7.0 VMware vSphere ESXi 8.0

Issue/Introduction

Some of the hostd properties' default values got updated in ESXi 8.0 GA release. In certain cases, the current configuration of the hostd service may not reflect new system defined default values on the host upgraded to ESXi 8.0 GA and later ESXi 8.x versions.

If you prefer to use the system defined default values for the upgraded ESXi version, please follow the resolution provided below to set the current configuration. 

These are the hostd properties that are identified to have the default values updated in ESXi 8.0 GA.

  • /vmacore/reservation_ratio
  • /vmacore/task_max
  • /vmacore/task_min
  • /plugins/nfcsvc/log_level
  • /plugins/nfcsvc/max_stream_memory
  • /plugins/nfcsvc/max_memory
  • /plugins/hbrsvc/enabled
  • /plugins/vmsvc/enabled
  • /plugins/vslmsvc/log_stats_interval_in_secs
  • /plugins/vslmsvc/collect_stats
  • /plugins/vslmsvc/log_stats
  • /plugins/statssvc/vmfs_stats_enabled


Default values across various ESXi version:

Setting 7.0 U2 7.0 U3 8.0 GA 8.0 U1 8.0 U2 8.0 U3

/vmacore/reservation_ratio

2 2 3 3 3 3

/vmacore/task_max

24 24 28 28 28 28

/vmacore/task_min

2 2 2 28 28 28

/plugins/nfcsvc/log_level

- INFO - - - -

/plugins/nfcsvc/max_stream_memory

10485760 35651584 35651584 35651584 35651584 35651584

/plugins/nfcsvc/max_memory

50331648 100663296 100663296 100663296 100663296 100663296

/plugins/hbrsvc/enabled

- true true true true true

/plugins/vmsvc/enabled

- true true true true true

/plugins/vslmsvc/log_stats_interval_in_secs

- - 600 600 600 600

/plugins/vslmsvc/collect_stats

- - true true true true

/plugins/vslmsvc/log_stats

- - false false false false

/plugins/statssvc/vmfs_stats_enabled

- false - - - -

 

Note: To get all the default values, run the command

                    configstorecli config default get -c esx -g services -k hostd

Environment

VMware vSphere ESXi 7.0U3

VMware vSphere ESXi 8.x

Cause

This issue occurs during the ESXi upgrade process, when certain default values of hostd are either added, removed or updated in the upgraded version and the upgrade does not restore the new default values. This results in certain properties containing outdated default values in the current hostd configuration.

Resolution

Follow the steps mentioned if you want to use default values for the hostd configuration.

Steps to restore the default settings for the hostd service: 

/plugins/hbrsvc setting:


To set default values in ESXi Version 70 Update 3 and 8.0 GA

1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Add the following properties:

"/plugins/hbrsvc/enabled"

5.  Set the value to true.

"/plugins/hbrsvc"  Setting should look like:

"hbrsvc": {
    "requires": "vmsvc",
    "enabled": true
}

6.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify the values set

configstorecli config current get -c esx -g services -k hostd

To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/plugins/hbrsvc/enabled" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/hbrsvc/enabled

2.  If the "/plugins/hbrsvc/enabled" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/hbrsvc/enabled -v true

3.  Restart hostd service:

/etc/init.d/hostd restart

3.  Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /plugins/hbrsvc/enabled

true


/plugins/vmsvc setting:


To set default values in ESXi version 70 Update 3 and 8.0 GA:


1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Add the following properties:

"/plugins/vmsvc/enabled"

5.  Set the value to true.

"/plugins/vmsvc/" setting should look like:

"vmsvc": {
    "use_object_uuid_paths": true,
    "kmxa_vapi_timeout": 120,
    "enabled": true,
    "requires": "vimsvc"
},

6.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify the values set

configstorecli config current get -c esx -g services -k hostd

To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/plugins/vmsvc/enabled" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/vmsvc/enabled

2.  If the "/plugins/vmsvc/enabled" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/vmsvc/enabled -v true

3. Restart hostd service:

/etc/init.d/hostd restart

4. Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /plugins/vmsvc/enabled

true

/plugins/statssvc setting:

To set default values in ESXi Version 70 Update 3 and ESXi 8.0 GA:


1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Add the following properties:

"/plugins/statssvc/vmfs_stats_enabled"

5.  Set the value to false:

"/plugins/statssvc/" setting should look like:

"statssvc": {
    "collect_vm_ds_stats": true,
    "collect_path_adapter_stats": true,
    "collect_vdisk_stats": true,
    "collectv_san_dom_stats": false,
    "collectv_flash_module_stats": true,
    "vmfs_stats_enabled": false,
    "collect_host_ds_stats": true,
    "vmfs_stats_interval_in_secs": 300
}

6.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify the values set

configstorecli config current get -c esx -g services -k hostd

To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/plugins/statssvc/vmfs_stats_enabled" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/statssvc/vmfs_stats_enabled

2.  If the "/plugins/statssvc/vmfs_stats_enabled" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/statssvc/vmfs_stats_enabled -v false

3.  Restart hostd service:

/etc/init.d/hostd restart

4.  Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /plugins/statssvc/vmfs_stats_enabled

false

 

/plugins/nfcsvc setting:


To set default values in ESXi Version 70 Update 3:

1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Edit the following properties in the json file:

Property: /plugins/nfcsvc/max_stream_memory

If the existing value is:  10485760, then set the new value as: 35651584

Property: /plugins/nfcsvc/max_memory

If the existing value is:  50331648, then set the new value as: 100663296

5.  Add the following properties: 

"/plugins/nfcsvc/log_level"

6.  Set the value to INFO:

"/plugins/nfcsvc/" setting should look like:

"nfcsvc": {
    "log_level": "INFO",
    "max_stream_memory":35651584,
    "max_memory": 100663296
}

7.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

8.  Restart hostd service:

/etc/init.d/hostd restart

9.  Verify the values set

configstorecli config current get -c esx -g services -k hostd


To set default values in ESXi Version: 8.0 GA:

1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Edit the following properties in the json file:

Property: "/plugins/nfcsvc/max_stream_memory"

If the If the existing value is is:  10485760, then set the new value as: 35651584

Property: "/plugins/nfcsvc/max_memory"

If the existing value is:  50331648, then set the new value as: 100663296

5.  Remove "/plugins/nfcsvc/log_level" from the json file if the values is "INFO".

"nfcsvc": {
    "log_level": "INFO"

         }

6.  Final "/plugins/nfcsvc" setting should look like:

"nfcsvc": {
    "max_stream_memory":35651584,
    "max_memory": 100663296
}

7.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

8.  Restart hostd service:

/etc/init.d/hostd restart

9.  Verify the values set

configstorecli config current get -c esx -g services -k hostd


To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/plugins/nfcsvc/max_stream_memory" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/max_stream_memory

2.  If the "/plugins/nfcsvc/max_stream_memory" value is 10485760, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/nfcsvc/max_stream_memory -v 35651584

3.  Get the current configuration and check the "/plugins/nfcsvc/max_memory value" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/max_memory

If the "/plugins/nfcsvc/max_memory" value is 50331648, then perform the below steps to use the default value.   

configstorecli config current set -c esx -g services -k hostd -p /plugins/nfcsvc/max_memory -v 100663296

4.  Get the current configuration and check the "/plugins/nfcsvc/log_level" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/log_level

If the "/plugins/nfcsvc/log_level" value is INFO, then perform the below steps to use the default value.

configstorecli config current delete -c esx -g services -k hostd -p /plugins/nfcsvc/log_level

5.  Restart hostd service:

/etc/init.d/hostd restart

6. Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/max_stream_memory

35651584

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/max_memory

100663296

configstorecli config current get -c esx -g services -k hostd -p /plugins/nfcsvc/log_level

null


/plugins/vslmsvc setting:


To set default values in ESXi Version 8.0 GA:

 

1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:

vi hostd.json

4.  Edit the following properties in the json file:

Property: "/plugins/vslmsvc/log_stats_interval_in_secs"

Set the new value as: 600

Property: "/plugins/vslmsvc/collect_stats"

Set the new value as: true

Property: "/plugins/vslmsvc/log_stats"

Set the new value as: false

5.  Final "/plugins/vslmsvc" setting should look like

"vslmsvc": {

         "collect_stats": true,

         "enabled": true,

         "log_stats": false,

         "log_stats_interval_in_secs": 600

      }

6.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify the values set

configstorecli config current get -c esx -g services -k hostd


To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/plugins/vslmsvc/log_stats_interval_in_secs" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats_interval_in_secs

2.  If the "/plugins/vslmsvc/log_stats_interval_in_secs" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats_interval_in_secs -v 600

3.  Get the current configuration and check the "/plugins/vslmsvc/collect_stats" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/collect_stats

4.  If the "/plugins/vslmsvc/collect_stats" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/vslmsvc/collect_stats -v true

5.  Get the current configuration and check the "/plugins/vslmsvc/log_stats" value

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats

6.  If the "/plugins/vslmsvc/log_stats" value is null, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats -v false 

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats_interval_in_secs

600

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/collect_stats

true

configstorecli config current get -c esx -g services -k hostd -p /plugins/vslmsvc/log_stats

false

vmacore setting:


To set default values in ESXi Version 8.0 GA:


1.  Create a temporary JSON file:

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json

2.  Create a backup of the file containing the current configuration:

cp hostd.json hostd.json.bak

3.  Edit the exported file:     

vi hostd.json

4.  Edit the following properties in the json file:

Property: "/vmacore/thread_pool/reservation_ratio"

If the existing value is: 2, then set the new value as: 3

Property: "/vmacore/thread_pool/task_max"

If the existing value is: 24, then set the new value as: 28

"/vmacore/thread_pool" setting should look like:

"thread_pool": {
                        "num_keep_alive": 8,
                        "io_min": 2,
                        "reservation_ratio": 3,
                        "thread_stack_size_kb": 256,
                        "thread_name_prefix": "hostd",
                        "task_min": 2,
                        "task_max": 28,
                        "io_max": 52,
                        "fair_thread_pool": true
                    }

5.  Apply the changed configuration file to the database:

configstorecli config current set -c esx -g services -k hostd -infile hostd.json

6.  Restart hostd service:

/etc/init.d/hostd restart

7.  Verify the values set

configstorecli config current get -c esx -g services -k hostd


To set default values in ESXi Version 8.0 Update 1, 8.0 Update 2 and 8.0 Update 3:


1.  Get the current configuration and check the "/vmacore/thread_pool/task_max" value

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/task_max

2.  If the "/vmacore/thread_pool/task_max" value is 24, then perform the below steps to use the default value:

configstorecli config current set -c esx -g services -k hostd -p /vmacore/thread_pool/task_max -v 28

3.  Get the current configuration and check the "/vmacore/thread_pool/task_min" value

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/task_min

4.  If the "/vmacore/thread_pool/task_min" value is 2, then perform the below steps to use the default value.

configstorecli config current set -c esx -g services -k hostd -p /vmacore/thread_pool/task_min -v 28

5.  Get the current configuration and check the "/vmacore/thread_pool/reservation_ratio" value

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/reservation_ratio

6.  If the "/vmacore/thread_pool/reservation_ratio" value is 2, then perform the below steps to use the default value.   

configstorecli config current set -c esx -g services -k hostd -p /vmacore/thread_pool/reservation_ratio -v 3

7.  Restart hostd service:

/etc/init.d/hostd restart

8.  Verify if the values set:

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/task_min

28

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/reservation_ratio

3

configstorecli config current get -c esx -g services -k hostd -p /vmacore/thread_pool/task_max

28