Vmware powercli: Scripts útiles

Los scripts aquí definidos están para descargar en github.

Activar y desactivar de forma masiva ssh en los hosts

Desde la 4.1, se puede activar ssh, sin necesidad de entrar por las ilos de los servidores.

Es importante el -Confirm $false, por que si no , pregunta 100 veces.

Nos hemos basado en esta utilísima entrada de techshifter

Get-Cluster | Foreach {
$cl=$_
Get-Cluster -name $cl | Get-VMHost | Foreach {
# Start-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } )
# Stop-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } ) -Confirm:$false
}
}

Activar snmp de forma masiva en todos los nodos

Este script es algo más complicado, porque es necesario iniciar sesión contra el servidor vcenter, y depués contra cada uno de los hosts.

vmware vcenter 5.5.0a: El inventario deja de actualizarse en el cliente web

Ya nos ha pasado 2 veces. Después de unos 30 días, el inventario de vmware deja de actualizarse a nivel del cliente web. Se nota mucho porque:

  1. El panel de tareas se queda congelado con tareas antiguas y no se refrescan
  2. Las máquinas virtuales se quedan asignadas a hosts en los que ya no están (tras drs) y no se puede acceder a ellas. Al abrir la consola da un error: “you have no privileges to view this object or it does not exist”.

Ya hay un hilo reportando este problema en las communities, también hemos escrito la resolución allí.

Tambien Gabesvirutalworld, lo ha reportado para la versión 5.1.

Solución

Con un caso de soporte con vmware, nos han dado la solución para este problema.  Hay distintos comandos para versiones anteriores de vmware a los que también les pasa este problema:

service vmware-inventoryservice stop
# Remove stored data:
rm -rf /storage/db/inventoryservice/data
/usr/lib/vmware-vpx/inventoryservice/scripts/ds-invoke.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice com.vmware.vim.dataservices.CreateDb /storage/db/inventoryservice/data changeme default changeme
service vmware-inventoryservice start
vcenterhost=vchost.mydomain.com
/usr/lib/vmware-vpx/inventoryservice-registration/vcregtool.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice-registration com.vmware.vim.dataservices.vcregtool.RegisterVC -action register -lookupserviceurl https://$vcenterhost:7444/lookupservice/sdk -isurl https://$vcenterhost:10443 -vcurl https://$vcenterhost/sdk/vimService -vccert /etc/vmware-vpx/ssl/rui.crt -vcprivkey /etc/vmware-vpx/ssl/rui.key -vcinstancecfg /etc/vmware-vpx/instance.cfg -vcendpointsdir /usr/lib/vmware-vpx/endpoints -vcextensionsdir /usr/lib/vmware-vpx/extensions
service vmware-vpxd restart

En nuestro caso, el servidor tiene dos nombres hacia fuera: vcenter y vspherecsl. Por ello, fue necesario también añadir en el /etc/hosts, una entrada con la IP externa y con el segundo nombre de servidor

En /var/log/vmware/vpx/inventoryservice/ds.log teníamos este mensaje:


inherited from com.vmware.vim.binding.vim.fault.InvalidLogin: Cannot complete login due to an incorrect user name or password.

Fue necesario editar el fichero hosts, y poner el segundo nombre dns de la máquina. Ignoro porqué había funcionado hasta entonces.

vcenter:~ # cat /etc/hosts
127.0.0.1  vcenter.domain.com vcenter localhost
external-ip vspherecsl.domain.com vspherecsl

 

 

 

EMC: Ejecutar ESXgrab 1.3.2 sin que pida parámetros

Configuración de customer.profile

 

#Thu Dec 05 07:13:03 CET 2013
EMAIL_ID=id@mycompany.com
PARTY_NUMBER=0000000
CONTACTPHONE_ID=0000000
CONTACT_ID=0000000
CUSTOMER_ID=000000

Para cada host, ejecutamos:

emcgrab.exe -host myhost -user root -password mypassword -vmsupport -legal -autoexec

Un paseo por vmware workstation 10

Vmware Workstation 10

Levantar en estación de trabajo máquinas virtuales.

Licencia de pruebas con uso durante 30 días.

A nivel de Bios, activamos VTx y VTd para que la virtualización pueda hacer uso de las características propias de la máquina física.

Instalamos sobre W7 el instalador: VMware-workstation-full-10.0.1-1379776. Instalación Typical.

VMware Workstation permite trabajar de dos formas:

  • Modo servidor.
  • Modo cliente.

Inconvenientes Workstation:

  • Permite sacar ventanas de un escritorio de una máquina virtual, fuera del entorno de vmware. Con la consiguiente confusión en cuanto a donde ejecutan las ventanas.

Creación de máquinas

Las máquinas virtuales creadas con Workstation 10, especifican la compatibilidad hacia atrás con otros elementos de la plataforma vmware.
Workstation 6,5,7 es bastante compatible si se va a migrar a una plataforma ESX

En caso de partir el disco, se parte en 2GB por la orientación a sistemas FAT.

Al estar apagadas, vemos la información de la propia máquina:

La barra para configurar los dispositivos, está en la barra inferior derecha. Aparece al iniciar (power on) la máquina.

El resto de opciones, aparecen bajo la barra de menú, al seleccionar el tab de una máquina virtual completa.

 

Vmware tools

Componente de vmware que ayuda la integración del hardware virtual con el sistema operativo guest.

En esta imagen de XP (Windows Xp Sp3_Shadow Lite) se puede cancelar en el momento en que se pide el CD de Windows, y se continúa con el proceso de la instalación de vmware tools.

Todas las iso de vmware tools, se almacenan en: C:\Program Files (x86)\VMware\VMware Workstation

Se recomienda instalar vmware tools en cada máquina virtual.

Vmware Workstation: Unity y drag & drop

Permite abrir ventanas del guest cómo propias del sistema operativo.

En el Workstation, se permite copiar y pegar entre el sistema host y el sistema guest.

Se supone que estas funcionalidades se integrarán más adelante con las versiones vsphere (ESXi + vcenter). Desde aquí, lo esperamos como agua de mayo.

Tipos de archivos en vmware

  • Vmdk: Contiene el disco duro virtual.
  • Vmx: Contiene en texto la configuración hw de la máquina virtual. Ram, número de procesadores, versión hw virtual…
    En el caso de Workstation está en: C:\Users\username\Documents\Virtual Machines\my_machine\ my_machine.vmx
  • VMss: Información de suspensión de la máquina virtual.
    La hibernación se hace a nivel de sistema operativo, y el estado de la memoria RAM, se guardaría en vmdk.
  • Vmsn, vmsd : Contiene el estado de la máquina virtual mientras se hace un snapshot. No se recomienda hacer snapshot para largo, ya que perjudica el estado de la máquina.
  • Vmem: Almacena la memoria de la máquina virtual.
  • Log: Registro propio del hipervisor. No es un registro del sistema operativo de la propia máquina virtual, sino de la plataforma de virtualización.

Snapshots de máquina virtual en vmware

Un snapshot o instantánea congela el estado de una máquina virtual, tanto a nivel de disco como de memoria RAM, mientras se sigue trabajando con la máquina.

Al crear un snapshot se crea otro fichero de disco duro incremental (vmname-0001.vmdk), donde se van incorporando los cambios a medida que se producen.

También se guarda el estado de la memoria para poder restaurar.

Los snapshots permiten volver a situaciones anteriores, pero, al revertir el estado, se pierden los snapshots siguientes. Por ejemplo, si tenemos una máquina virtual vm1, con dos snapshots sh1 y sh2, al restaurar sh1, se pierde sh2.

Consolidar snapshots, no es demasiado intuitivo. Por ejemplo, si tenemos una máquina virtual vm1, con dos snapshots sh1 y sh2. Si queremos consolidar sh1 y sh2, se borra sh1. Consolidar en este contexto, implica que se borra un estado intermedio, porque se acepta el estado posterior.

Hacer puntos de restauración afecta el rendimiento de la plataforma de vmware. Se debe mantener en el mínimo.

Clones en máquinas virtual

En vmware Workstation 10, sólo se pueden crear clones con la máquina apagada.

El tipo de clon, debe ser completo, para no tener problemas de enlace de los discos.

Tipos de redes

  • Bridged: Se comunica con el exterior a través de la tarjeta de red física del host.
  • NAT: Usa la IP del host. El host, se ocupa, mediante NAT de redirigir el tráfico hacia la máquina virtual.
    Con Workstation, no podemos tener más de 1 red NAT.
  • Host-Only: Tiene una red privada y sólo será capaz de comunicarse con le host, en caso de tener una IP en la misma subred. Todas las máquinas que estén en una misma subred host-only (vmnet1 p.e.) se pueden comunicar entre sí.

Para crear y modificar redes, usamos el Virtual Network Editor.

Se pueden editar todas las virtual network

Vmware Creación de plantillas en windows

  1. Instalar sistema operativo
  2. Instalar vmware tools
  3. En el sistema guest (Windows) se copia deploy.cab en c:\sysprep.
  1. Se ejecuta Setupmgr, que crea un archivo de instalación completamente desatendida, totalmente automatizada, que se instalará desde CD.

Esta plantilla tendrá un archivo de respuestas de Windows, que, en el siguiente arranque, regenerará los identificadores propios de la máquina.

P2V. Phyisical to virtual. Virtualización de máquinas físicas

Vmware Workstation 10, deja un enlace en el panel de inicio para virtualizar la propia máquina física. Está proceso, se pasa mientras la máquina está encendida.

También se pueden otras herramientas de terceros como Clonezilla, Ghost, Acronis o BESR.

Tras el paso a virtual, es necesario eliminar drivers antiguos y herramientas propias de fabricante (agentes). Estos componentes dan problemas ya que se intentan comunicar con un hardware que ya no está disponible.

Migración a Vmware Vsphere 5.5.0a

Como siempre hay que moverse en esta vida, y más en un departamento de sistemas, ha llegado el momento de migrar de vmware 5.1 a 5.5

La guía completa de instalación  es tan completa, que asusta.
Vamos a probar la virtual Appliance para analizar sus posibilidades.
La guía de buenas prácticas de vcenter 5.5 también es más extensa de lo que nos gustaría.

Revisión rutas de red – Cortafuegos

Tendremos que revisar las rutas de red del firewall, ya que hay pequeños cambios de puertos respecto de las versiones anteriores.

Definición de los puertos para la versión 5.5.0a

Exportación de la información de inventario

De nuestra antigua máquina, queremos mantener parte del inventario.  Nos interesan:

  • Permisos de usuarios
  • Inventario de carpetas y asignación de máquinas virtuales a carpetas
  • Información de clusters, DRS y configuraciones de pool de recursos.

Vamos a usar el paquete Inventory snapshot que da vmware en sus labs

Despliegue del ovf

Hemos optado por la versión de la plantilla VMware-vCenter-Server-Appliance-5.5.0.5101-1398493_OVF10.ovf

Tras el despliegue, entramos en la máquina por la interfaz web con el usuario por defecto: root: vmware

Configuramos SSO con la base de datos empotrada (embedded) y dejamos para más adelante la configuración con el servidor de Active Directory.

Configuración active directory

Necesitamos unir la VCSA a dominio. Para ello, revisamos la información de red y la de autenticación:

https://my ip:5480/#virtualcenter.authentication

Al usar el OVA, no se puede usar la opción de Active directory Integrated Windows Authentication sin unir la máquina a dominio.

Necesitamos añadir Active Directory Enabled con un identificador de dominio y un usuario administrador de dominio.

Si al unir, da el error Invalid Hostname. FQDN is required for joining a domain, es necesario revisar la información de red, yponerle sufijo del dominio en la configuración de hostname dentro de la configuración de red.

Accedemos a la consola de gestión del vcenter con el usuario el usuario de sso: administrator@vsphere.local.

https://my-ip:9443/vsphere-client/#extensionId=sso.admin.manage.ids

Home > Administration > SingleSignOn> Configuration > Identity sources

Para evitar tener que introducir constantemente el dominio, se pincha sobre el icono “Set as domain default”. Parece un mundo con una flecha encima.

Esta vista, sólo aparece para el usuario administrator@vsphere.local .  El usuario root no tiene acceso aquí.

Más información en stepbystep 

Probar el acceso.

Para probar el acceso, hay que dar permisos a nivel del vcenter a nuestro usuario o grupo de administración.

Después, ya podemos entrar con el cliente VMware-viclient-all-5.5.0-1281650.exe a nuestra nueva instalación

Uso de credenciales de windows

Para usar en el cliente web las credenciales de windows, es necesario instalar en local el client Integration Plugin, que se indica en la página principal del web client

https://my-ip:9443/vsphere-client/

Creando Host Profile en Vmware 5.1

Un Host Profile de vmware contiene toda la información común de los hosts, y es útil para asegurar que todos nuestros hosts ESX están bien configurados tras su instalación.

Lamentablemente, tras la migración de vmware 4.1 a vmware 5.1, nuestros perfiles de servidor han dejado de funcionar.

Según la guía de vmware para host profiles:

Host profiles eliminates per-host, manual, or UI-based host configuration and maintains configuration consistency and correctness across the datacenter by using host profile policies.
Podemos asegurar que no es correcto, al menos en el caso del almacenamiento SAN.

Al contener información sobre las tarjetas de fibra (incluyendo su identificador de hba y la configuración de psp y satp, es imposible aplicar el perfil entre distintos hosts. Evidentemente, hacer un perfil por cada servidor no nos permite hacer instalaciones rápidas.

En la Base de conocimiento de vmware (2002488), este error está reportado.

Gracias a Yellow Brick, entendemos cómo aplicar los pasos que nos proponen desde vmware.

Estos son los pasos que hemos seguido nosotros:

  1. Crear de nuevo el perfil (host profile) desde un host correctamente configurado.
    Seleccionar host > Host profile
  2. Asignar el nuevo perfil al cluster correspondienteVista home > Managemente > Host Profiles
    Seleccionar el perfil > Attach host cluster > Check complianceAl menos debe ser compatible con el host que hemos cogido como referenciaEn el resto de hosts, tendrá problemas SATP
  3. Edit Profile >  “PSA Device Configuration”
    Borrar identificadores naa que dan problemas
  4. Edit Profile >  “PSA Device Settings”
    Borrar identificadores naa que dan problemas
  5. Edit Profile >  “Native Multi-Pathing (NMP)”
    Borrar identificadores naa que dan problemas
  6. Ahora ya sí debe ser compatible con los hosts:
    Seleccionar el perfil > Attach host cluster > Check compliance

Con estos pasos, seguimos teniendo un problema con los discos de arranque por SAN. Si no aparecen en el perfil, no se puede aplicar sobre el host; pero si aparecen, como cada host tiene un disco de arranque, todos se quejan de los discos de los otros.

Plantillas de vmware

Guía mínima de requisitos que hay que instalar para las plantillas de vmware:

  • vmware tools
  • Configuración de red, proxy si lo hay en la organización
  • Actualización de paquetes de sistema operativo (windows o linux).
  • Editor de texto preferido: notepad++, emacs
  • Acceso remoto (ssh o rdp)
  • Herramientas de monitorización: TCPMonitor, ProcessExplorer, agentes nagios, etc.
  • Agente de inventario: glpi o similar
  • Firewall de windows deshabilitado

Esta guía, sirve tanto para máquinas windows como linux. Estamos abiertos a que nos indiquéis qué más cosas configuráis por defecto para crear plantillas.

vmware. Renombrando máquinas virtuales a través de vcenter

Hoy voy a hablar de ago que los de vmware tienen que pulir para próximas versiones del vcenter. Cuando se renombra una máquina virtual, sorprendentemente, los archivos y las carpetas en el datastore mantienen su antiguo nombre.

A día de hoy, la única forma que he conseguido de automatizar relativamente este problema, es:

  • Renombrar en vcenter
  • Migrar la máquina de datastore.

No es la mejor de las soluciones, pero, nos saca del apuro.

Os pongo el enlace de donde he sacado esta solución:  http;//tech.zsoldier.com/2010/05/rename-vm-without-shutting-downusing.html

Cambiar la IP de un servidor ESX

Recién instalado un ESX 4.1 sobre un blade, tenemos que revisar toda la configuración de red. Para que el servidor de DHCP rellene de forma automática la configuración de DNS, dejamos durante la instalación que coja los valores de DHCP.

Ahora, en el primer reinicio, cambiamos los valores de la interfaz de red con el comando:

esxcfg-vswif -i ADDR -n NETMASK INTERFACE

Además, en mi caso, aprovechamos para cambiar el nombre de la máquina. En el archivo /etc/sysconfig/network añadimos una linea:

HOSTNAME=hostname

También en este fichero es donde se debe configurar la información del gateway.

Recordad que los cambios hechos con el comando ‘hostname’ sólo duran hasta el siguiente reinicio.

Para más información: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=4309499

VMWare: VMA. Virtual

No sé si conoceréis la máquina virtual VMA de Vmware para gestión de ESX desde una única máquina virtual. Deja hacer gestión integrada de distintos ESX, guarda las credenciales de acceso a los distintos Host,  y viene cargado con los componentes para hacer scripts de gestión a través de la API en perl.

Os dejo el enlace para que la bajéis para hacer pruebas: http://www.vmware.com/support/developer/vima/

Para las credenciales usa una capa llamada “FASTPASS” que se encarga de las conexiones con los distintos ESX. Para añadir hosts a FastPass:

sudo vifp addserver HOST
sudo vifp listservers
Usuario root
El usuario de root está deshabilitado por defecto. Para habilitarlo, es necesario cambiar la consola de inicialización de usuario desde /bin/nologin a /bin/bash.