PowerCLI one-liners: Listar identificador naa de un datastore
Cuando nos encontramos en la situación de tener que realizar algún tipo de troubleshooting en el storage de una solución VMware vSphere lo más típico es que tanto en la salida de comandos de PowerCLI o esxcli como en los logs del propio sistema se haga referencia a nuestros datastores por su identificador naa.*. En la entrada de hoy veremos un par one-liners con los que obtener el identificador naa de un datastore con PowerCLI.
One-liner 1: Buscando un datastore con su identificador naa
Uno de los casos típicos en los que podemos necesitar este one-liner es cuando un log hace referencia a un cambio de estado en un datastore y nos devuelve su identificador naa. Para encontrarlo rápido:
|
|
Vamos a repasar el one-liner:
- Get-Datastore: Evidentemente, listamos todos los datastores del datacenter.
- Where-Object {$_.ExtensionData.Info.Vmfs.Extent.DiskName: Filtramos por la propiedad DiskName (bien escondida debajo de ExtensionData) que nos devuelve el identificador naa del datastore.
- -like “ID_A_BUSCAR”}: Buscamos el datastore que tenga como ID parte o toda la cadena que le facilitemos.
Un ejemplo en productivo:
One-liner 2: Obteniendo el identificador naa de todos los datastores
Si necesitamos hacer más de una consulta de la relación ID naa.* con su nombre de datastore, es posible que nos salga a cuenta sacarlos todos y guardarlos en vez de estar haciendo la consulta constantemente. Como ya sabemos cómo sacar el ID naa.* de un datastore con su propiedad de ExtensionData esto va a estar chupado:
|
|
Veamos qué hace el one-liner:
- Get-Datastore: Evidentemente, volvemos a listar todos los datastores del datacenter.
- Select-Object -Property Name: Seleccionamos la propiedad Name para formar el objeto de salida de nuestra línea.
- @{Name = ‘Naa’; Expression = {$_.ExtensionData.Info.Vmfs.Extent.DiskName}: Seleccionamos para nuestro objeto de salida su segunda propiedad mediante una expresión.
- En la propiedad Name indicamos el nombre de dicha propiedad. En este caso, en un alarde de originalidad, ‘Naa’.
- En la propiedad Expression hacemos la misma query que en el anterior one-liner para sacar el identificador naa de los datastores mediante el objeto que nos viene del pipe.
Y por último vamos a ver cómo quedaría la salida del one-liner:
|
|
¡Espero que os sirvan estos one-liners de hoy!