El shell de información del sistema VMkernel (conocido como vsish) es una excelente herramienta para solucionar problemas de rendimiento de la red. vsish se ejecuta en el shell ESXi y le permite consultar los parámetros avanzados del sistema y la información de rendimiento del host ESXi y los objetos asociados, como las máquinas virtuales.
La herramienta vsish brinda acceso a los nodos VSI de vmkernel. Además de los comandos get y set del modo no interactivo, esta herramienta solo ofrece opciones de comando abreviadas.
Nota :Los nodos VSI son para vmkernel lo que los nodos proc son para el kernel de Linux. Son estructuras jerárquicas basadas en la memoria de la configuración del tiempo de ejecución de los diversos componentes de vmkernel. Para acceder a estos nodos, use la utilidad ESXi vsish (VSI Shell). Los nodos de VSI pueden cambiar entre versiones e incluso con versiones de actualización. Por lo tanto, no debe depender del nombre y la ubicación actuales de ningún nodo para permanecer sin cambios si planea automatizar o crear scripts para cualquier funcionalidad usando estos nodos.Listado de opciones de línea de comandos de vsish:
vsish --help vsish: [options] [commands] -e: non-interactive mode. Executes commands specified on the cmdline. All text following this flag is assumed to be part of a command. -E [status]: checks for status, currently requires -e. see vmkapi_status.h for error code strings. -b: batch mode. doesn't print prompt -f: ignore vsi version check -l [level]: set loglevel -r: raw output mode. -p: python output mode. -d: drsa output mode. -c [file]: use [file] instead of live kernel -m: print the VSI MD5 checksum corresponding to the running vmkernel -R [new root]: use [new root] as the root node instead of '/' -h: print friendly help message
Una vez que se escribe el comando, el comando ls muestra el contenido de un directorio de trabajo y el comando cat se puede usar para ver el contenido de un archivo. Finalmente, el comando cd se puede usar para cambiar de directorio.
Ejemplo 1
El primer ejemplo muestra cómo obtener la unidad de transferencia máxima para una vmnic en particular.
/bin # vsish /> cd net /net/> cd pNics /net/pNics/> ls vmnic0/ vmnic1/ vmnic2/ vmnic3/
/net/pNics/> cd vmnic1 /net/pNics/vmnic1/> cat mtu MTU { mtu:1500 } /net/pNics/vmnic1/> q
Ejemplo 2
El segundo ejemplo muestra cómo recopilar información relacionada con la CPU para un host.
/bin # vsish /> cd hardware /hardware/> cd cpu /hardware/cpu/> ls packageList/ cpuList/ cpuModelName cacheInfo cpuInfo
/hardware/cpu/> cat cpuInfo CPU global information { Hyperthreading state:Hyperthreading state: 3 -> enabled HV state:HV state: 3 -> HV Enabled Number of packages:2 Number of cores:8 Number of CPUs (threads):16 HV Replay capable:1 Reason replay is disabled on Host:Reason replay is disabled on Host: 0 -> HV Replay is supported } /hardware/cpu/> q
Nota
Los siguientes son algunos comandos de VSI Shell para la navegación y otras operaciones comunes:
- cd :Desplazarse hacia abajo en el árbol de nodos.
- cd .. :subir al nivel anterior.
- ls—Lista :el contenido del nodo actual.
- ls [ruta] :muestra el contenido del nodo al final de la ruta especificada.
- obtener :Muestra el contenido de un objeto hoja en el nodo. Esta es la opción de comando utilizada anteriormente en esta sección, con el parámetro de modo no interactivo -e.
- gato :Haga lo mismo que el comando get pero en modo interactivo.
- establecer :Modificar el valor del par clave/valor de un objeto hoja. Puede usar esta opción con el modo no interactivo para modificar los nodos VSI de vmkernel. Por ejemplo, para establecer un valor en un nodo VSI a través de la línea de comando, ejecute el siguiente comando:
vsish -e set [value] [path/node]