Para aquellos que me conocen, saben que mis inicios profesionales empezarón en los mundos de Unix. De aquellos amores quedan siempre profundas heridas, y aunque mi foco profesional actual se basa en entornos Citrix/Microsoft, hay amores que dejan huella :P.
Quizás de aquellos amores venga mi pasión por Xen, y en especial por XenServer. Para aquellos que no lo conocen, XenServer es el hypervisor proporcionado por Citrix basado en el proyecto XenSource.
De mis antiguos amores y de mis nuevos amores, surge la inquietud por PowerShell. PowerShell proporcionó a Windows aquello que los amantes de los sistemas Unix encontrábamos a faltar en los sistemas de Gates. Un entorno de comandos, potente, flexible que permita al administrador realizar cualquier tarea que podamos imaginar.
Hoy vamos a ver en este post, como usar PowerShell para hablar con XenServer.
Cmdlets a tutiplén
Los cmdlets vienen a ser los comandos disponibles en nuestro entorno de PowerShell. Windows provee multitud de ellos para la gestión de nuestro sistema, pero para poder utilizar Pshell sobre XenServer, deberemos en primer instancia instalar el conjunto de cmdlets creados para su integración con Xen. Para ello, bastará con conectar-nos con el Site de Citrix, y descargar el SDK de XenServer, el cual contiene cmdlets, recursos Python, recursos .Net, Java y librerías.
Una vez descargado e instalados los modulos de PowerShell, disponemos de todo en nuestra maquina para empezar a hablar con nuestro hypervisor Xen.
Ola q ase Xen?
Este manual no pretende ser un manual de PowerShell, existen muchos en la red y muy buenos. Si quereis aprender PowerShell este no es vuestro Post y os recomendamos un primer acercamiento al mismo antes de proceder.
El primer paso para hablar con Xen desde PowerShell, como habréis adivinado, va a ser la carga de los nuevos cmdlets reciente creados. Para ello realizaremos lo siguiente:
- Abrimos Windows PowerShell
- Ejecutamos: Add-PSSnapin Xen*
Con esto ejecutado, ya disponemos de los cmdlets de XenServer cargados. Veamos inicialmente los comandos disponibles desde PowerShell
Existen una serie de comandos básicos para establecer la conexión. Una vez ejecutados y obtenida la conexión, nuestro limite es nuestra mente.
Para establecer la conexión con XenServer, ejecutaremos:
connect-Xenserver -Url http://XenServer_URL -UserName root –Password xxxx
Con ello procederemos a realizar la conexión con nuestro Host. Yo prefiero utilizar este modelo:
Get-Credential | connect-Xenserver -Url http://XenServer_URL
De este modo obtenemos un prompt de Windows para validación evitando escribir la contraseña en text plano desde la CLI.
Con ello, ya disponemos de una conexión abierta con Xen. Veamos algunas de las cosas que podemos hacer…
Listando maquinas en nuestro host
Get-XenServer:VM | select name_label
Parar y arrancar VMs desde la CLI:
Invoke-XenServer:VM.Start -VM «HOST-LS»
Invoke-XenServer:VM.CleanShutdown -VM «HOST-LS»
Creemos una nueva tarjeta de red.
Create-XenServer:Network -NameLabel «CTXDOM_ITPROs Network»
Para eliminar-la podemos usar Destroy-XenServer:Network –Network “CTXDOM_ITPROs Network»
Para finalizar, el comando de desconexión 😛
Disconnect-XenServer
>> Disconnect-Post y hasta otra!
Recurso Adicional: http://community.citrix.com/display/xs/Citrix+XenServer+6.0+CmdLet+Poster