PowerStore: Host Validation Script for ESXi
Summary: Proper configuration of the hosts is essential for optimal PowerStore operations. This article describes the Host Validation Script script that validates that the ESXi host is configured according to the best practices. ...
Instructions
Overview
The specifications for the host best practices are found in the E-Lab Host Connectivity Guides. The VMware ESXi Server Guide specifies the recommended values for host configuration parameters with their impact (Stability, Performance, Space Efficiency) and severity (Mandatory, Warning, or Recommended). This Host Validation Script validates the host for conformance to these best practices.The validation script uses PowerCLI, versions 6.5 and above, which is a VMware shell for Windows. The script runs on the VMware vCenter validating the configuration for all or some of the hosts. It requires VMware vCenter credentials and does not use the host's credentials.
Use Cases
The Host Validation Script is recommended to be used in the following cases:
- Prior to software upgrade (NDU)
- Validation of a new host
- Troubleshooting
- Periodic health check
Procedural Notes
Execution:
This procedure is performed using PowerCLI running on Windows using the VMware vCenter. The console must be run as administrator. The vCenter credentials must be for administrator privileges.
Cluster or Host Impact:
The script reads the current configuration. The script does not modify the cluster or host.
Non-Disruptive Upgrade (NDU) Considerations: This procedure does not introduce any changes to the cluster or host.
Execution Duration:
The script for this task takes approximately one (1) minute per ESXi Host to complete.
Running the ESX Host Validation Script From the PowerCLI
- Download from this article the ESX_Configuration_Validation script.
Package Name PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip
The filename appearing in the attachment may have a different suffix.Script Name check_esx_config.ps1Version 1.0.19.0 MD5 Checksum 418ddcce89e55e60d528ac7d8516908f SHA256 Checksum b35a16d66d11eb78a6b9244980a1c90f207eb26c5a93b9893bb6d2310d454229
Note: For package signature verification, see the optional step entitled "How to Verify the Package Signature."
- Download the VMware PowerCLI, version 6.5 or later. This may already be installed on your personal computer. If not already installed, then download as described in the Downloads section below.
- Open a PowerCLI console as administrator. One method to perform this is to open the PowerCLI from the Start menu using the option Run as Administrator. Alternatively, PowerCLI may be run from a PowerShell console.
- Set the ExecutionPolicy by running the following command:
> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
- Set the PowerCLI configuration to ignore an invalid certificate (PowerCLI 10.x and greater).
> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore
- Invoke the
check_esx_configcommand:
> cd ESX > .\check_esx_config.ps1 [parameters]
Supported parameters:
| Parameter | Comment | Mandatory (except when using -version or -help options) |
|---|---|---|
-vcenter_server |
vCenter server name or IP address | Yes |
-vcenter_user |
vCenter username | Yes |
-vcenter_password |
vCenter password | Yes |
-esx_host |
Comma-separated list of ESXi hostnames/IP addresses or 'all' If |
Yes |
-logpath |
Log directory full path. If If the user specified a non-existent directory, the script asks for confirmation to create it. |
No |
-batch |
If no parameter is specified, the script does not prompt for inputs. | No |
-version |
Print the script version and exit. | No |
-help |
Print the help page and exit. | No |
Output of the ESX Host Validation Script
The script prints its output to the PowerCLI console and log files. An output directory named <vCenter_Server>_<date>_<time> is created in the Logs directory.
For each configuration validation, the output indicates if the validation is correct or, if not, the severity of the incorrect configuration. A prefix in the message matches the severity of the item: PROBLEM, WARNING or NOTICE, the validation text and the expected value
All messages for actions performed by the script are displayed in the console. In the last section of the console output, all problems found are summarized by severity and category. In addition, out is saved to log files. The log files are organized by sections and are recommended to be used for understanding the results of the script.
The following files are in the output directory:
- all.log - Contains all output (same as what is printed to the console).
- error.log - Contains only error messages or warnings and suspected errors.
- Dell_EMC_EULA.txt - The DELL EMC SOFTWARE TOOLS LICENSE AGREEMENT
*************************************************************************************************** Started processing at [22/07/2024 19:31:52] India Standard Time. *************************************************************************************************** Running script version [1.0.19.0]. *************************************************************************************************** ######### START VALIDATIONS FOR ESX abc.abc.abc.com ########### NOTICE:# 0 PowerStore datastores were found NOTICE:# Checking VM disks provisioning NOTICE:# Checking VM SCSI controllers type ######### FINISHED VALIDATIONS FOR ESX abc.abc.abc.com ########### ######################################################### ########### Overview section for host abc.abc.abc.com ############ ######################################################### Warning issues for Configuration setting occurs 2 times ######################################################### ############ Detail section for host abc.abc.abc.com ############# ######################################################### WARNING:# NVMe Qualified Name format is not set. It must be set to 0. WARNING:# Disk.DiskMaxIOSize is set to 32767 rather than the recommended value of 1024. *************************************************************************************************** Problems found: 0 issues (0 instances) Warnings found: 1 issues (2 instances) Notices found: 0 issues (0 instances) *************************************************************************************************** Finished processing at [22/07/2024 19:35:15]. ***************************************************************************************************
How to Verify the Package Signature
- Download the following two files:
- Signature
| File | PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip.asc.signed |
|---|---|
| Size | 659 bytes |
| MD5 | 16acecc8b0fba8ec255b63ccc2403ed8 |
| SHA256 | 903d826db7c0af897fd3300069c0271d14c3467df7f55fff211bbbc7c44b1041 |
- Public key
| File | gpg_public_key.txt |
|---|---|
| Size | 1,306 bytes |
| MD5 | fe97eba75623bd1d5ff307f1fbb1a5ae |
| SHA256 | de141fc22a35deaa0753006b80a87c54d8b4e8ca47f434be3c61807a4d0b6d1d |
- Move these files to your dev VM (preferably Linux, since in our example we use gpg which is pre-installed in most Linux systems):
- Import the key using
gpg gpg --import gpg_public_key.txt
Expected output gpg: key B16F06CB37196B9C: public key "Dell Technologies Inc. support@dell.com" imported gpg: Total number processed: 1 gpg: imported: 1
- Verify the signed package using
gpg gpg --verify PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip.asc.signed PowerStore_ESXi_Configuration_Validation_1.0.19.0.zipExpected output gpg: Signature made Thu 04 Jul 2024 07:06:24 AM EDT gpg: using RSA key EC31223156602232B2EBE7B0B16F06CB37196B9C gpg: Good signature from "Dell Technologies Inc. support@dell.com" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EC31 2231 5660 2232 B2EB E7B0 B16F 06CB 3719 6B9C
- To certify the key as "trusted" (an optional step)
gpg --edit-key EC31223156602232B2EBE7B0B16F06CB37196B9CEnter “trust” when gpg prompts, then enter “5” (trust ultimately), then “y” to confirm. Finally, enter “q” to quit the gpg prompt. Expected output à gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa3072/B16F06CB37196B9C created: 2024-04-29 expires: 2027-04-29 usage: SCE trust: unknown validity: unknown [ unknown] (1). Dell Technologies Inc. support@dell.com gpg> trust pub rsa3072/B16F06CB37196B9C created: 2024-04-29 expires: 2027-04-29 usage: SCE trust: unknown validity: unknown [ unknown] (1). Dell Technologies Inc. support@dell.com Please decide how far you trust this user to correctly verify other users' keys (by looking at passports, checking fingerprints from different sources, etc.) 1 = I don't know or won't say 2 = I do NOT trust 3 = I trust marginally 4 = I trust fully 5 = I trust ultimately m = back to the main menu Your decision? 5 Do you really want to set this key to ultimate trust? (y/N) y pub rsa3072/B16F06CB37196B9C created: 2024-04-29 expires: 2027-04-29 usage: SCE trust: ultimate validity: unknown [ unknown] (1). Dell Technologies Inc. support@dell.com The shown key validity is not necessarily correct unless you restart the program. gpg> q Rerun the gpg verification now gpg --verify PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip.asc.signed PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip Expected output gpg: Signature made Thu 04 Jul 2024 07:06:24 AM EDT gpg: using RSA key EC31223156602232B2EBE7B0B16F06CB37196B9C gpg: checking the trustdb gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: next trustdb check due at 2027-04-29 gpg: Good signature from "Dell Technologies Inc. support@dell.com" [ultimate]
Known Issues
- The HVS script incorrectly warns about Reclaim parameters. The correct values for Reclaim parameters are:
- Reclaim Priority use Low
- Reclaim Method use Priority
[~] esxcli storage vmfs reclaim config get --volume-label VMFS1 Reclaim Granularity: 1048576 Bytes Reclaim Priority: low <<<<<<<<<<<< priority Low Reclaim Method: priority <<<<<<<<<<<< use priority and not fixed Reclaim Bandwidth: 26 MB/s
Downloads:
- The validation script is attached to this article. From Dell Support, select Attachments in the left side panel of this article.
Revision History:
- 1.0.15:
- Initial release
- 1.0.18
- Certified for PowerCLI 12.5
- Datastores, mapped through NVMe, are now handled correctly.
- Disclaimer updated to explain that multipathing does not evaluate the HPP NVMe path policies.
- The system module checks for FC HBAs evaluate the recommended NVMe setting: vmknvme_hostnqn_format=0
- The log file location moved to the end of the output.
- iSCSI VMkernel evaluated for the recommended iSCSI no-op interval of 5 seconds
- Extraneous module collection removed
- Output includes positive feedback for successful tests which were missing.
- Resolved issue for validation of config.vpxd.ResourceManager.maxCostPerHost
- Resolved issue for validation default NMP Round Robin path switching frequency PSP Options: policy=iops;iops=1.
- 1.0.19
- References to the Dell Host Configuration Guide have been changed to the E-Lab Connectivity Guide. Relevant validations and disclaimers were also updated.
- Supported ESXi versions have been updated.
Affected Products
PowerStoreAttachments
gpg_public_key_pkb_en_US_1.txt PowerStore_ESXi_Configuration_Validation_1.0.19.0.zip.asc_pkb_en_US_1.signed PowerStore_ESXi_Configuration_Validation_1.0.19.0_pkb_en_US_1.zip