WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

New vSphere 4.1 CLI Utilities Marketing Did Not Tell You About Part 2

07.13.2010 by William Lam // 1 Comment

Continuing from Part1 of new vSphere 4.1 CLI Utilities, here are few more:

1. vmkload_app64 is a 64bit version of the VMkernel application loader.

[root@esx4-1 bin]# /usr/lib/vmware/bin/vmkload_app64 -h

Usage: vmkload_app [options]
--nocore|-n Disable core dump for this world
--enableDebug|-d Enable userworld debug wait after core
--break|-b [wid] Break a userworld into the debugger
(only specify world id when not creating
or connecting to a userworld)
--kill|-k Send signal 'signum' to a running userworld
(only works with vmx worlds)
--ouputCartelID|-o Output cartel ID and other info to
--setsid|-S Run vmkload_app in a new session
--workingdir|-w Use as userworld working directory (defaults to current)
--env|-v Add environment variable to
userWorldApp's environment
--ipSocketType|-i Set the type for IPv4 sockets, where
is one of 'proxied', 'vmktcp', or 'costcp'
--sched.group= Set scheduler group
--sched.cpu.units= Set units (mhz or pct) for cpu rates
--sched.cpu.min= Set minimum cpu rate
--sched.cpu.max= Set maximum cpu rate
--sched.cpu.minLimit= Set upper bound for minimum cpu rate
--sched.cpu.shares= Set cpu share allocation
--sched.cpu.affinity= Set affinity towards pcpus
--sched.mem.min= Set minimum memory allocation (MB)
--sched.mem.max= Set maximum memory allocation (MB)
--sched.mem.minLimit= Set upper bound for minimum memory growth (MB)
--sched.mem.shares= Set memory share allocation
--sched.swap.scope= Set swap scope (none, private, system)
--sched.swap.dir=[dir] Set directory for swap file
--sched.swap.file= Set swap file name
--sched.memSizeLimit= Set upper bound on address-space size (MB)
--help|-h This message

2. vmware-usbarbitrator is a utility for allowing VMs to connect to the host's USB devices.
[root@esx4-1 bin]# /usr/lib/vmware/bin/vmware-usbarbitrator

3. vprobed looks to be a utility for running the vProbe daemon.

[root@esx4-1 bin]# /usr/lib/vmware/bin/vprobed -h

Error: vprobed takes no arguments.
4. vmkiscsiadm was a pretty well known tool used to configure and troubleshoot iSCSI on ESX. However, it has been removed with the release of vSphere 4.1.

5. vmkiscsi-tool has been updated with some new options:

[root@esx4-1 ~]# /usr/sbin/vmkiscsi-tool -h
vmkiscsi-tool -h --help
-A --Authentication
-C --connection
-D --discovery
-E --session
-I --iSCSIname
-L --Lun
-M --MTU
-N --Network: network properties
-O --Associate: Associate/Disassociate route.
-P --Phba
-R --discoveryStatus : Print discovery status.
-S --static: Static Discovery Targets
-T --Target
-U --Route: Route table.
-V --Nic
-W --Parameter
-X --Reset
-Y --SetNicList
-c --ipconfig: enable/disable DHCP, ARP redirect
-d --dnsserver
-e --ethernet: Link Status
-g --gateway
-i --ipAddress
-k --Alias
-n --iSNS
-p --Pnp: Physical Network Portal properties (pnic)
-q --Lnp: Logical Network Portal properties (vmknic)
-s --subnetmask
-v --version
Subcommands
-l --list
-r --remove
-a --add
-m --authMethod : specify method for add/remove
-b --mutual CHAP
-j --persist changes
-y --per dynamic discovery
-x --per static discovery
-z --per network portal (binded vmknic)
-t --per target
-u --per isid(session)
-f --flag: set a discovery or authentication flag
adapterName
Combine -l with an option to display the current information.

6. vmkiscsi-test is a new iSCSI utility to test various components and provides a summary at the end with the checks that ran, failed and passed:

[root@esx4-1 ~]# /usr/sbin/vmkiscsi-test

CUnit - A Unit testing framework for C - Version 1.1-1
http://cunit.sourceforge.net/

Suite: general - General Tests
Test: IMA_NullParameters ... passed
Test: IMA_VMW_NullParameters ... passed
Test: IMA_BadOids ... passed
Test: IMA_VMW_BadOids ... passed
Suite: Info - Library and Plugin Tests
Test: IMA_GetLibraryProperties ... passed
Test: IMA_GetPluginOidList ... passed
Test: IMA_GetPluginProperties ... passed
Suite: Adapter - Adapter Tests
Test: IMA_GetPhbaOidList ... passed
Test: IMA_GetPhbaProperties ... passed
Test: IMA_VMW_GetPhbaProperties ... passed
Test: IMA_GetLhbaOidList ... passed
Test: IMA_VMW_GetLhbaOidList ... passed
Test: IMA_GetLhbaProperties ... passed
Test: IMA_VMW_GetLhbaProperties ... passed
Suite: Portals - Portals Tests
Test: IMA_GetNetworkPortalOidList ... passed
Test: IMA_VMW_GetNetworkPortalOidList ... passed
Test: IMA_GetPnpOidList ... passed
Suite: Discovery - Discovery Tests
Test: IMA_GetDiscoveryProperties ... passed
Test: IMA_SetIsnsDiscovery ... passed
Test: IMA_SetSlpDiscovery ... passed
Test: IMA_SetStaticDiscovery ... passed
Test: IMA_SetSendTargetsDiscovery ... passed
Test: Static Discovery ... passed
Test: Dynamic Discovery ... passed
Suite: Properties - Standard Properties Tests
Test: IMA_GetDataPduInOrderProperties ... passed
Test: IMA_GetDataSequenceInOrderProperties ... passed
Test: IMA_GetDefaultTime2RetainProperties ... passed
Test: IMA_GetDefaultTime2WaitProperties ... passed
Test: IMA_GetErrorRecoveryLevelProperties ... passed
Test: IMA_GetFirstBurstLengthProperties ... passed
Test: IMA_GetIFMarkerProperties ... passed
Test: IMA_GetImmediateDataProperties ... passed
Test: IMA_GetInitialR2TProperties ... passed
Test: IMA_GetMaxBurstLengthProperties ... passed
Test: IMA_GetMaxConnectionsProperties ... passed
Test: IMA_GetMaxOutstandingR2TProperties ... passed
Test: IMA_GetMaxRecvDataSegmentLengthProperties ... passed
Test: IMA_GetOFMarkerProperties ... passed
Suite: VMW Properties - VMware Properties Tests
Test: IMA_VMW_ArpRedirectProperties ... passed
Test: IMA_VMW_MtuProperties ... passed
Suite: Auth - Auth Tests
Test: IMA_GetInUseInitiatorAuthMethods ... passed
Test: IMA_VMW_GetInUseInitiatorLocalAuthMethods ... passed
Test: IMA_SetInitiatorAuthMethods ... passed
Test: IMA_VMW_SetInitiatorLocalAuthMethods ... passed
Test: IMA_GetInitiatorAuthParms ... passed
Test: IMA_VMW_GetInitiatorAuthParms ... passed
Test: IMA_SetInitiatorAuthParms ... passed
Test: IMA_VMW_SetInitiatorAuthParms ... passed
Test: IMA_VMW_GetMutualAuthParms ... passed
Test: IMA_VMW_SetMutualAuthParms ... passed
Test: IMA_GetLhbaMutualAuthParmsList ... passed
Test: IMA_GetMutualLocalAuthParms ... passed
Test: IMA_GetMutualLocalAuth ... passed
Test: IMA_RemoveLhbaMutualAuthParms ... passed
Test: IMA_AddLhbaMutualAuthParms ... passed

--Run Summary: Type Total Ran Passed Failed
suites 8 8 n/a 0
tests 55 55 55 0
asserts 495 495 495 0
Asserts Skipped: 0
Tests Skipped: 0
Ignore Flags:

7. vmfs-support is a new shell script that uses vmkfstools -D and recursively dumps information about all files given a VMFS folder or file (This utility is only found on ESXi 4.1).

~ # ash /sbin/vmfs-support
Usage: vmfs-support /

~ # ash /sbin/vmfs-support /vmfs/volumes/iSCSI-1/

vmkfstools -D /vmfs/volumes/iSCSI-1/.fbb.sf
Lock [type 10c00001 offset 4294656 v 3, hb offset 3866624
gen 73, mode 0, owner 00000000-00000000-0000-000000000000 mtime 2656]
Addr <4, 0, 1>, gen 1, links 1, type sys, flags 0, uid 0, gid 0, mode 400
len 98304, nb 1 tbz 0, cow 0, zla 1, bs 1048576
vmkfstools -D /vmfs/volumes/iSCSI-1/.fdc.sf
Lock [type 10c00001 offset 4296704 v 1, hb offset 0
gen 0, mode 0, owner 00000000-00000000-0000-000000000000 mtime 16020]
Addr <4, 0, 2>, gen 1, links 1, type sys, flags 0, uid 0, gid 0, mode 400
len 31129600, nb 30 tbz 0, cow 0, zla 1, bs 1048576
vmkfstools -D /vmfs/volumes/iSCSI-1/.pbc.sf
.....
.....
.....

8.  The well known nc utility has been added to unsupported Busybox console of ESXi 4.1.

~ # /bin/nc
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]

9. vdu is a new utility that provides disk utilization information, similar to that of UNIX/Linux du (This utility is only found on ESXi 4.1).

~ # /bin/vdu
For './bin':
tardisk SYS1: 28694376 ( 47 inodes)
tardisk SYS2: 135168 ( 18 inodes)
heap : 208 ( 16 inodes)
For './etc':
tardisk SYS1: 4630016 ( 220 inodes)
heap : 65184 ( 35 inodes)
tardisk SYS2: 10790 ( 22 inodes)
tardisk vpxa.vgz: 6144 ( 5 inodes)
tardisk aam.vgz: 4096 ( 2 inodes)
ramdisk MAINSYS: 65536 ( 4 inodes)
For './lib':
tardisk SYS1: 41208050 ( 146 inodes)
ramdisk MAINSYS: 16384 ( 1 inodes)
tardisk SYS2: 29168640 ( 95 inodes)
For './lib64':
tardisk SYS1: 6955539 ( 23 inodes)
For './opt':
tardisk SYS1: 0 ( 1 inodes)
tardisk vpxa.vgz: 44070912 ( 24 inodes)
tardisk aam.vgz: 12457984 ( 188 inodes)
For './productLocker':
tardisk SYS1: 24
For './sbin':
tardisk SYS1: 87665431 ( 145 inodes)
heap : 8192 ( 4 inodes)
ramdisk MAINSYS: 106496 ( 10 inodes)
tardisk SYS2: 151552 ( 3 inodes)
For './tmp':
heap : 34816 ( 33 inodes)
ramdisk updatestg: 8192 ( 1 inodes)
For './usr':
tardisk SYS1: 36028127 ( 381 inodes)
tardisk SYS2: 252928 ( 39 inodes)
ramdisk MAINSYS: 53248 ( 6 inodes)
heap : 23 ( 1 inodes)
For './var':
tardisk SYS1: 2137 ( 29 inodes)
tardisk SYS2: 28048896 ( 51 inodes)
ramdisk MAINSYS: 3850240 ( 56 inodes)
heap : 63758 ( 58 inodes)
ramdisk hostdstats: 2023424 ( 2 inodes)
tardisk vpxa.vgz: 0 ( 2 inodes)
For './vmfs':
tardisk SYS1: 6 ( 2 inodes)
For './vmimages':
tardisk SYS1: 47 ( 3 inodes)
For './vmupgrade':
tardisk SYS1: 19
For './.ssh':
heap : 2048 ( 2 inodes)
ramdisk MAINSYS: 8192 ( 1 inodes)
For './.rnd':
heap : 2048
For './bootbank':
heap : 50
For './altbootbank':
heap : 50
For './store':
heap : 50
For './scratch':
heap : 50
For './locker':
heap : 7
For '.':
heap : 176484 ( 156 inodes)
tardisk SYS1: 205183772 ( 999 inodes)
tardisk SYS2: 57767974 ( 228 inodes)
tardisk vpxa.vgz: 44077056 ( 31 inodes)
tardisk aam.vgz: 12462080 ( 190 inodes)
ramdisk MAINSYS: 4100096 ( 78 inodes)
ramdisk updatestg: 8192 ( 1 inodes)
ramdisk hostdstats: 2023424 ( 2 inodes)

Categories // Uncategorized Tags // cli, vimsh, vSphere 4.1

Script - Automate VAAI Configurations in vSphere 4.1 (vaaiHWAccelerationMgmt.pl)

07.13.2010 by William Lam // Leave a Comment

With the release of vSphere 4.1, we finally get to see the first revision of the vStorage API for Array Integration (VAAI) features. This initial release provides the following SCSI driver primitives with VAAI supported storage arrays:

  • Write Same/Zero - Eliminating redundant and repetitive write commands, tells array to repeat via SCSI commands.
  • Full Fast/Copy - Leverage array to mass copy, snapshot and move blocks via SCSI commands.
  • Atomic Set and Test - Stop locking LUNs and start locking blocks.
  • Thin Provisioning Stun - Reporting array TP state to ESX.

The above definitions were taken off of an EMC presentation found here. VMware has also published a new VMware KB article regarding VAAI FAQ, take a look here at KB1021976.

Though these features are not specific to any one storage array vendor, the vendors themselves are required to implement these primitives within their array OS software for them to be available. If all prerequisites are met, and you have an ESX or ESXi host running on vSphere 4.1 and VAAI supported storage array, these new storage operations will now offload to the array versus running within the VMkernel.

However, if you do not have an array that supports VAAI, the new version of ESX and ESXi will still try to use these features. As I understand from an earlier discussion of VAAI, there is one additional operation that is performed and it's impact is supposed to be insignificant (please correct me if I'm wrong). Though if you would like to disable these VAAI features or would like to see the difference between a non-VAAI and VAAI operation, it is controlled with the following three advanced host configurations.

VMFS3.HardwareAcceleratedLocking - Atomic Test and Set
DataMover.HardwareAcceleratedMove - Full/Fast Copy
DataMover.HardwareAcceleratedInit - Write Same

By default, all three of these configurations are enabled with a default installation of vSphere 4.1. The following vSphere SDK for Perl script allows a user to enable or disable VAAI configuration on a set of hosts defined in an input file. The script allows you to connect to vCenter if your hosts are being managed by vCenter or directly to a specific ESX or ESXi host and provide the following parameters:

--hostlist = Lists of ESX(i) hosts to perform operation _IF_ they're being managed by vCenter (default is ALL hosts in vCenter)

--operation = Operation to perform (query|enable|disable)

Download: vaaiHWAccelerationMgmt.pl

Here is an example of the host input file:

[vi-admin@makalu scripts]$ cat hosts
esxi4-2.primp-industries.com
esxi4-3.primp-industries.com

Here is an example of querying for VAAI configurations:

Here is an example of disabling VAAI configurations:

Here is an example of disabling VAAI configurations:

For more information about vStorage APIs, take a look here.

Categories // Uncategorized Tags // api, sdk, vaai, vSphere 4.1, vsphere sdk for perl, vstorage api, vstorage api for array intergration

Script - Automate Storage I/O Control in vSphere 4.1 (siocManagement.pl)

07.13.2010 by William Lam // 3 Comments

Storage I/O Control is a new feature of vSphere 4.1 which allows a user to define the QoS prioritization for the I/O activity on a single host or a cluster of hosts. SIOC supports only VMFS volumes and the latency threshold is configured on a per VMFS datastore.

Currently, the only method of configuring SIOC is using the vSphere Client while connected to your vCenter Server, which can be tedious if you manage more than 1 VMFS datastore:

The following vSphere SDK for Perl script allows a user to bulk update SIOC across your vSphere infrastructure based on an input file that consists of the name of the VMFS datastores and the latency thresholds to be configured. The script requires that you connect to your vCenter server and provide the following input parameters:

--datastore_inputfile = Is the name of the datastore input file which contains the name of your VMFS datastore and the latency value

--operation = There are four supported operations (query|enable|disable|update)

--vihost = Name of the ESX(i) host to perform the operation on (you only need to perform the operation on 1 host within a cluster and the changes are taken place across all hosts)

Download: siocManagement.pl

Here is an example of the datastore input file:

[vi-admin@makalu scripts]$ cat datastorelist
# datastorename;latency_value
# e.g.
# mydatastore1; 35
iSCSI-1;20
iSCSI-2;15
iSCSI-3;35
esxi4-3-local-storage-1;40

Note: The latency threshold must be between 10-100 ms. The default value when you enable SIOC is 30 ms,

Example of query operation:

Example of enable operation:

Example of disable operation:

Example of update operation:

Before attempting to make any changes, make sure you consult with your storage vendor.

Categories // Uncategorized Tags // sioc, storage io control, vSphere 4.1, vsphere sdk for perl

  • « Previous Page
  • 1
  • …
  • 62
  • 63
  • 64
  • 65
  • 66
  • …
  • 69
  • 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

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/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