¿Cómo crear un virtual switch en VMware con PowerCLI?
Hola amigos, soy Florián Murillo y hoy hablaremos de como podemos automatizar, desde PowerCLI, la creación de un vSwitch, un port-group y un puerto de kernel en un host.
01. $server = «myHost»
02. $vsw = «vSwitch101»
03. $pg = «Production»
04. $vmkIP = “10.10.1.122”
05. $vmkMask = “255.255.255.0”
06. $o_server = Get-VMHost -Name $server
07. $o_vnw = Get-VMHostNetwork -VMHost $server
08. $pnic = $o_vnw.PhysicalNic[1].DeviceName
09. $o_vsw = New-VirtualSwitch -VMHost $o_server -Name $vsw -Nic $pnic
10. New-VirtualPortgroup -VirtualSwitch $o_vsw -Name $pg
11. New-VMHostNetworkAdapter -VMHost $o_server -PortGroup “vMotion Network” -VirtualSwitch $vsw -IP $vmkIP -SubnetMask $vmkMask -VMotionEnabled:$true
Descripción de cada línea
Antes de describir las líneas anteriores, solo explicar la regla utilizada para asignar nombres a las variables y objetos, los objetos empiezan por “o_” a diferencia de las variables que almacenan valores básicos como una cadena de caracteres.
01 al 05. Asignamos valores a variables, $server es el nombre del host sobre el que vamos a trabajar, $vsw es el nombre del vSwitch que vamos a crear, $pg es el nombre del port-group que crearemos en el vSwitch, $vmkIP es la IP del puerto de kernel que vamos a crear en el vSwitch y $vmkMask es la máscara IP del puerto de kernel.
06 y 07. Creamos objectos, $o_server es el objeto VMHost que representa al host almacenado en $server, y $o_vnw es el objeto VMHostNetwork que almacena la información de red del host $server.
con la instrucción :
> $o_server | Get-Member | Format-List
podemos ver los métodos y propiedades de la clase VMHostNetwork, de la cual hereda $o_server.
08. Una de las propiedades de un objeto del tipo VMHostNetwork es una tabla de objetos llamada PhysicalNic, la cual tiene tantas entradas como interfaces vmnic el host. El objeto PhysicalNic[1] describe el interfaz vmnic1, y su propiedad PhysicalNic[1].DeviceName nos informa del nombre del interfaz. En esta línea asignamos ese valor a la variable $pnic, este será el interfaz a añadir al vSwitch. Hemos visto en esta línea como recuperar la información de una propiedad de un objeto, con la sintaxis «objeto.propiedad».
09. Creamos el vSwitch llamado $vsw en el host $o_server entregándole la interfaz $pnic. Creamos un objeto $o_vsw que contiene toda la información del switch recién creado. En el vCenter Server veremos lo siguiente:
10. Creamos un port-group llamado $pg en el vSwitch $o_vsw. En el vCenter Server veremos lo siguiente:
Creamos un puerto vmkernel en el host $o_server, el puerto estará en el port-group “vMotion network”, en el vSwitch $vsw y le entregaremos la IP $vmkIP y la máscara $vmkMask. La función a realizar por este puerto de kernel se la especificamos con el flag -VMotionEnabled:$true
Observar que en este comando hemos entrado directamente el valor del port-group sin utilizar una variable, es otra posibilidad.
Habréis observado que a veces entramos objetos como parámetros y en ocasiones variables, eso depende de la definición del comando.
Hasta ahora PowerCLI ha sido una herramienta eficaz para automatizar procesos de explotación, pero ahora además, es necesario su conocimiento para el examen VCAP. Hasta la semana próxima.
¿Crees que este post puede interesar a alguien? En ese caso clica en los botones de compartir de arriba. Gracias por el apoyo.