analytics

Mostrando entradas con la etiqueta VMware. Mostrar todas las entradas
Mostrando entradas con la etiqueta VMware. Mostrar todas las entradas

martes, 12 de abril de 2016

Troubleshooting "Rendimiento en el Almacenamiento"

Buenos días a tod@s

Hoy vamos a ver cómo averiguar si tenemos un problema de almacenamiento en nuestra infraestructura, para ello, lo más importante es tener claro los 3 indicadores más importantes:

Lo primero es entrar en el ESXI y poner el comando esxtop o a través del Vma con el resxtop y 
darle a la tecla “d” (DEVICE)

- Veremos una serie de contadores, en donde tendremos que prestar atención a los siguientes:

-DAVG/cmd > Mide el tiempo desde que sale del ESXI hasta que llega a la cabina

-KAVG/cmd > Mide el tiempo medio que tarda el sexi en procesar un IOPS (no tiene que ser mayor de 2 o 3 ms ) si supera este tiempo significa que el ESXI va lento!!!!!!

-GAVG/cmd > Mide la suma de los dos valores anteriores (25ms malo… el valor medio debería estar entre 8-10)

VALORES:

Para discos Fiber Channel 20ms
Para discos SAS/SATA       35ms
Para discos SSD                10ms



*****************************************
ABORTO DE IOPS
***************************************

Para ver si la cabina no puede con todas las ordenes que se le manda es recomendable ver si hay “abortos”
Para ello en el esxtop le damos la a la opción de “D” DEVICE, a la “F” para AÑADIR contadores y a la “J” para ver errores.



Si luego pulsamos la “U” podremos ver si estamos encolando “IOPS” y la actividad 

Espero que os haya resultado útil

Un saludo!

lunes, 11 de abril de 2016

Navegar por ESXTOP

Buenos días amig@s.

Hoy vamos a ver cómo manejarnos por esa herramienta que más de una vez nos va a salvar de pasarlo mal y darnos un troubleshooting imprescindible.

Estoy seguro que muchos de vosotr@s sabéis interpretar las salidas de esxtop, pero quizás no conozcáis todas sus opciones. Aquí vamos a intentar verlas juntos.

El esxtop muestra los procesos que están corriendo en el esxi, pero para verlo de un modo interactivo, se usan los siguientes comandos:

c > ver CPU
m > ver la MEMORIA
d > ver el DISCO (ADAPTADOR)
u > ver DISCO (DEVICE-DISPOSITIVO)
v > ver el VIRTUAL DISK
n > NETWORK
f > AÑADIR (añade o quita columnas)
v > VIRTUAL MACHINE
q > QUIT


w > te crea un fichero de configuración para guardar tus búsquedas (si añades o quitas columnas, cuando salgas se perderán las modificaciones que has hecho, con W las guardas y cuando vuelvas a entrar tendrás las mismas columnas)

Quiero aprovechar este post para mostrarte unos indicadores muy importantes. Cuando le pulsamos la tecla n (como hemos visto antes, iremos al apartado de red) veremos una serie de indicadores, todos son importantes, pero deberemos prestar atención a los dos últimos:


MBTX/S > megas transmitidos

MBRX/S > megas recibidos

PKTTX/S > paquetes transmitidos

PKTRX/S > paquetes recibidos

%DRPTX > paquetes que transmito que se drapean "pierden"


%DRPRX > paquetes recibidos que se drapean "pierden"

En la próxima entrada veremos cómo diagnosticar problemas a través de ESXTOP



Un saludo!

jueves, 7 de abril de 2016

Añadir esxi al VMA

Buenos días a todo@s!
Hoy vamos a ver cómo añadir un esxi al VMA.
Desde nuestra linea de comandos del VMA se puede “llamar” a un esxi, esto se hace a través del comando “vifptarget -s nombre
Ejm
vi-admin@vma:~> vifptarget -s esxi2.tudominio.local
Nos puede salir el siguiente problema y será que no encuentra el host:
Cannot find the specified target in vMA configuration.
vi-admin@vma:~>
Para solventar este problema, tendremos que meter el/los host a mano, con el comando “viftp addserver x.x.x.x
Ejm.
vifp addserver esxi2.tudominio.local
Este comando realizará la conexión y y nos pedirá la contraseña del esxi, esto es un ejemplo de lo que nos aparecerá:
root@esxi2.tudominio.local’s password:
En cuanto pongamos la contraseña, habremos añadido nuestro host al VMA.
Ahora, para ver cuántos host tenemos añadidos al VMA, podremos teclear el siguiente comando “vifp listserver –long
Ejm.
vi-admin@vma:~> vifp listservers –long
esxi1.tudominio.local ESXi fpauth
esxi2.tudominio.local ESXi fpauth
Espero que os resulte de ayuda
Un saludo amig@s!

miércoles, 6 de abril de 2016

Backup & Restore ESX/ESXI con VMA

Hola a tod@s!
Hoy vamos a hablar sobre cómo hacer un backup de nuestros servidores ESX/ESXI a través de nuestro VMA. Tenemos varias formas de realizarlo, como por ejemplo con un  simple “cp” de algunos ficheros y reubicarlos en otro path, pero eso sería muy “chapucilla”…
Os voy a tratar de mostrar una manera más limpia y sencilla de realizarlo.
Para ello, vamos a aprovecharnos de una herramienta que nos proporciona VMware, a través de “VMware Management Assistance”. Está en la web de vmware appliances, podremos descargarlo en formato .OVF desde aquí. VMA, nos facilita gestionar todos nuestros hosts de una forma centralizada y sustituir la consola de servicio (ssh al host), a partir de la versión 3.5 U2 esx/esxi.
La configuración del VMA es bastante sencilla, tan sólo nos pedirá que introduzcamos la dirección de nuestra máquina, un dato importante a tener en cuenta es que el usuario y contraseña de la máquina, por defecto será:
vi-admin
Una vez dentro podremos cambiar la contraseña.
Realizar el Backup
Desde la consola de administración de VMA, debemos de ejecutar el siguiente comando:
vicfg-cfgbackup -s server nombre_host_esx /pathparael/backup
Ejemplo
[vi-admin@vma~]$ vicfg-cfgbackup -s server 192.168.17.15 /tmp/backup_esxi.cfg
Restaurar Backup
Para la restauración de la copia de seguridad, debemos de ejecutar:
vicfg-cfgbackup -l server nombre_host_esx /pathparael/backup
Ejemplo:
[vi-admin@vma~]$ vicfg-cfgbackup -l server 192.168.17.15 /tmp/backup_esxi.cfg
Y por último, podemos restaurar la configuración por defecto de nuestro host esx/esxi, debemos de ejecutar lo siguiente:
vicfg-cfgbackup -r server nombre_host_esx“.

lunes, 4 de abril de 2016

Control de snapshot mediante Nagios

Buenos días a tod@s

El otro día leyendo blog vi que se hablaba del control del los snapshot, una ayuda muy potente a la hora de aplicar cambios y probar qué tal funciona (aunque yo prefiero los snapshot a nivel de cabina), pero muy peligrosa siempre que se alargan en el tiempo.

Una forma de controlar que no tengamos instantáneas en nuestra infraestructuras y en el caso de tenerlas, que estén controladas es mediante Nagios.

1º Lo primero que vamos a necesitar es generar la clave publica de nuestro servidor Nagios y meterla dentro de nuestro ESXI (esto ya lo hemos hecho en el post anterior, pero si alguien quiere, lo volvemos a poner paso a paso)

2º Ahora nos tocará escribir los script para que nuestro Nagios pueda buscar los snapshot existentes y nos avise en caso de que existan:

En este caso nos va a avisar siempre que existan y sean mayores que 2G

-#!/bin/sh
##########################################################3
# DECLARACION DE VARIABLES
######################################################3###

OK='0'
WARNING='1'
CRITICAL='2'

##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#

VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*.vmsn' -size +2000000k | cut -d '/' -f5 )
exit 0

####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################

NUM=$( echo "$VMS" | wc -l )

if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else 
echo "$VMS tienen snapshot"
exit $WARNING 
fi


2ª script

#!/bin/sh
##########################################################33
#ARCHIVOS DELTA
########################################################

##########################################################3
# DECLARACION DE VARIABLES
######################################################3###

OK='0'
WARNING='1'
CRITICAL='2'

##################################################################################
#CONEXION A ESXI Y LOCALIZACION DE SNAPSHOT MAYORES A 2 GIGAS
################################################################################3#

VMS=$( ssh root@192.168.x.x /usr/bin/find /vmfs/volumes/ -name '*delta.vmdk' -size +2000000k | cut -d '/' -f5 )

####################################################################3
#CUENTA MAQUINAS VISTRUALES CON SNAPSHOT SUPERIORES A 2 GIGAS
####################################################################

NUM=$( echo "$VMS" |grep -v '^$' | wc -l )

if [ "$NUM" -eq 0 ] ; then
echo "sin snapshot"
exit $OK
elif [ "$NUM" -gt 2 ] ; then
echo "$VMS tienen snapshot"
exit $CRITICAL
else 
echo "$VMS tienen snapshot"
exit $WARNING 
fi


3º Una vez que tenemos nuestros script escritos en bash, tendremos que incluir en el fichero commands la siguiente instrucción.

define command {
        command_name    snapshot
        command_line    $USER1$/snapshot.sh $HOSTADDRESS$
        }
define command {
        command_name    snapshot-delta
        command_line    $USER1$/snapshot-delta.sh $HOSTADDRESS$
        }

4º Ya sólo nos quedaría incluir en nuestro fichero la definición del servicio

define service{
       use                     generic-service
        host_name               ESXI
        service_description     snapshot
        check_command           snapshot
        }
define service{
        use                     generic-service
        host_name               ESXI
        service_description     snapshot-delta
        check_command           snapshot-delta
        }


Con estos paso ya tendríamos controlado el uso de nuestros snapshot en nuestra infraestructura y podrían avisarnos mediante correo electrónico, mensajes o whatsapp de su existencia.

Espero que os haya resultado útil.

Un saludo amig@s



viernes, 1 de abril de 2016

Reclaim versión 5.1 y 5.5

Buenos días a tod@s!

Hoy quería mostraros una tarea a priori sencilla pero que me permite reducir mucho el tiempo en tareas de mantenimiento de mi infraestructura.

Generalmente, una vez al mes, suelo hacer un "reclaim" en mi host para liberar espacio en la cabina
( No hay un tiempo mínimo ni máximo para hacer este mantenimiento, pero siempre es recomendable cuando se han creado o borrado máquinas de nuestra granja)

Al tener varios Datastore en poner un simple comando (versión 5.5) se hacía tedioso, puesto que tienes que ir uno por uno y esperar a que se acabe el proceso anterior, los que lleven más tiempo recordarán que era peor aún en la versión 5.1 pues había que entrar dentro de la carpeta para realizar (en este caso) el vmkstool -y

Lo primero que hay que hacer es introducir vuestra clave publica en el host (esxi) para que se pueda conectar de forma remota automáticamente.

Para ello copiaremos nuestra clave en el esxi, a continuación os muestro la ruta dónde tendréis que copiar dicha clave:

/etc/ssh/keys-root 
vi authorized_keys

Ahí deberéis poner vuestra clave.

Bueno, manos a la obra.... se crea un script, pero... nos encontramos el 1º problema, nuestros esxi usan busybox, no tienen las mismas funcionalidad que bash, hay que escapar las variables para que las recozca. Sabiendo esto, ahora si que vamos a por ello....

La segunda curiosidad es que tendréis que añadir << EOF o un \ (final de carro) para que realice vuestras sentencias

Versión 5.1
- Aquí aún no he visto cómo pasarle la variable desde mi máquina local y que el cliente la reconozca, así que he introducido el porcentaje a reclamar directamente sobre el script, en cuanto pruebe un par de cosas más, actualizaré el post con la solución más optima,


#!/usr/bin/env bash

ssh root@192.168.x.x /bin/sh -- << EOF
  find /vmfs/volumes -type l -maxdepth 1 | while read datastore; do
     cd "\$datastore"
     echo "reclamando espacio de \$datastore ..."
     vmkfstools -y 60
     cd ..
  done

  echo "reclamado espacio disponible"

Versión 5.5

#!/usr/bin/env bash
ssh root@192.168.x.x /bin/sh -- << EOF
  find /vmfs/volumes -type l -maxdepth 1 | cut -d/ -f4 | while read datastore; do
    echo "reclamando datastore \$datastore"
    esxcli storage vmfs unmap -l "\$datastore" 
  done

  echo "reclamado espacio disponible"


Con sólo ejecutar nuestro script procederemos a reclamar el espacio de todos nuestros Datastores

Espero que os haya servido de ayuda, :)

Un saludo


lunes, 22 de febrero de 2016

Aumentar tamaño de disco de una máquina virtual

Hola a tod@s!
El otro día me encontré con un “warning” de disco en una de mis máquinas virtuales, me estaba quedando sin espacio,  estoy seguro que a mas de un@ le ha pasado…
Lo único “malo” que tiene esta operativa frente a otras es que nos obligará a reiniciar la máquina 2 veces. Algunos de los comandos que os vendrá bien saber para tener claro cómo se llama vuestro VG, PV y LV son:
root@-1N1:~# vgs
root@-1N1:~# pvs
root@-1N1:~# lvs
Así que sin más vamos a ver cómo ampliarlo manualmente…
  • 1- lo primero que tenemos que hacer es ampliar el espacio en disco en nuestro hypervisor ( en mi caso VMware)
  • 2- Cuando hayamos ampliado el espacio reiniciaremos el servidor con un rebooto con init 6 lo que más os guste
  • 3- Cuando se haya levantado la máquina, veremos el tamaño que tiene, esto lo podemos ver poniendo el siguiente comando:
    • cat /proc/partition
  • Ya sabemos el espacio del que disponemos, ahora vamos a ampliar la partición
  • ejecutamos la siguiente sentencia en el terminal y pulsamos enter
    • fdisk /dev/sda
  • Pulsaremos p para ver cómo está nuestras particiones
Algo así es lo que se nos mostrará, en mi caso esta es la tabla de particiones de mi equipo
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extendida
/dev/sda5 501760 41940991 20719616 8e Linux LVM
  • Vamos a borrar la partición 2 y la volveremos a crear, recordad que cuando se haga este cambio automáticamente se borrará también el sd5 (Linux LVM) y se perderá el tipo de partición, no os preocupes por esto, luego lo volveremos a poner como estaba
  • Ahora crearemos una partición lógica nueva, por defecto nos dirá que sea la 2y cogerá todo el espacio que haya, sino lo hiciera automáticamente, vosotros podéis introducir los parámetros que consideres más correctos, en mi caso le voy a asignar todo el espacio.
  • ya tenemos una partición Extendida, pero recordad que arriba teníamos una partición llamada Linux LVM, así que creamos una partición nueva sobre la partición 2 que acabamos de crear, como veis, se crear una partición extendida, no con el tipo que nosotros buscábamos, para ello, tendremos que usar la opción T y en la lista elegir el codigo 8e que es la que corresponde con Linux LVM.
  • Volvemos a ver cómo ha quedado:
    • cat /proc/partition
  • Ahora reiniciaremos de nuevo el servidor
  • El siguiente paso es indicar al PV que es más grande, esto se hace así:
    • pvresize /dev/sda2
  • Ya tenemos el PV redimensionado, ahora nos centraremos en ampliar el LV:
    • lvresize -L +3G /dev/vgdebian/raiz
Ejm.
1- root@-1N1:~# lvresize -L +3G /dev/vgdebian/raiz
Extending logical volume raiz to 4.86 GiB
Logical volume raiz successfully resized
  • Ahora ingresamos otro comando para expander el sistema de fichero y ocupe todo el espacio que tenemos:
    • resize2fs /dev/mapper/vgdebian-raiz
Ejm.
2-root@1N1:~# resize2fs /dev/mapper/vgdebian-raiz
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mapper/vgdebian-raiz is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vgdebian-raiz to 1273856 (4k) blocks.
The filesystem on /dev/mapper/vgdebian-raiz is now 1273856 blocks long.
  • Ya tenemos nuestra máquina lista, el último comando para ver qué todo se ha hecho bien es:
    • df -h
Ejm.
3 – root@-1N1:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 4.8G 1.8G 2.9G 39% /
udev 10M 0 10M 0% /dev
tmpfs 101M 176K 101M 1% /run
/dev/mapper/vgdebian-raiz 4.8G 1.8G 2.9G 39% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 201M 0 201M 0% /run/shm
/dev/sda1 92M 23M 64M 27% /boot
Esto ha sido todo, espero que os haya salido bien, cualquier duda, aquí estoy para intentar ayudaros.
Disculpadme si no he sabido expresarme bien o haya sido demasiado tedioso
Un saludo amig@s!

miércoles, 17 de febrero de 2016

Migración de Workstation a Esxi

Buenas a tod@s!
Hoy me he encontrado con un problemilla, es fácil de solucionar pero hasta que me he dado cuenta he perdido un poco de tiempo, así que os voy a contar la solución para que vosotros no tengáis que buscar mucho
Seguro que por internet hay más información sobre esto, pero no estoy seguro de si estará o no en castellano,así que vamos a publicarlo aquí.
Imaginad que tenéis una máquina virtual corriendo en vuestro Workstation y por necesidad la queréis migrar a vuestro ESX/ESXI, todo parece que funciona correctamente pero cuando tratáis de arrancarlo, os sale el siguiente mensaje de error.
error : “Failed to open disk scsi0:0: Unsupported and/or invalid disk type 7. 
Did you forget to import the disk first?Unable to create virtual SCSI device for scsi0:0,
Module DevicePowerOn power on failed.” 
La solución es ir por consola al datastore donde has alojado la máquina :
cd /vmfs/volumenes/tudatastore
Una vez allí se ejecuta el siguiente comando:
vmkfstools -i nombre_viejo.vmdk -d zeroedthick nombre_nuevo.vmdk
Ahora veremos como se empieza a clocar el disco. Cuando esta operación termine sólo nos quedará ir a la máquina y cambiar el disco antiguo por el nuevo, ya arranca bien la máquina
Un saludo

sábado, 6 de febrero de 2016

Habilitar snmp en ESXi

Buenos días a tod@s!
Hoy veremos cómo habilitar snmp en un esxi y ponerle una comunidad, con esto conseguiremos trazar y recibir información que luego podrá ser recogida por ejemplo con un Nagios.
Para habilitarlo tendremos que seguir los siguientes pasos:
1- Entrar en el host en el que queremos habilitar el snmp, para ello utilizaremos el comando
viftptarget -s ip
Ejm.
vi-admin@vma:~> vifptarget -s esxi1.tudominio.local
2- Nos mostrara que ya estamos en el host, ahora con el comando vicfg-snmp -svemos las opciones
que tenemos
Ejm
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -s
Veremos algo asÌ
Current SNMP agent settings:
Enabled : 0
UDP port : 161
Communities :
Notification targets :
Options :
EnvEventSource=indications
loglevel=info
3- lo primero será ponerle una comunidad, para ello usaremos el comando vicfg-snmp -c comunidad
Ejem
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -c public,esxi
4- Ahora añadiremos el target (como hemos dicho antes, nuestro “target” es quien va a recibir la información, un Nagios), para eso tendremos que poner el comando: vicfg-snmp -t IP@161/comunidad
Ejm
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -t 172.22.2.250@161/public
5- Por último sólo nos faltaría habilitar el snmp, para ello el comando es vicfg-snmp -E
Ejm
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -E
6- Para comprobar que todo esté bien, pondremos el comando vicfg-snmp -s y veremos su salida
Current SNMP agent settings:
Enabled : 0
UDP port : 161
Communities :
public
esxi
Notification targets :
172.22.2.250@161/public
Options :
EnvEventSource=indications
loglevel=info
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -E
Enabling agent…
Complete.
vi-admin@vma:~[esxi1.tudominio.local]> vicfg-snmp -s
Current SNMP agent settings:
Enabled : 1
UDP port : 161
Communities :
public
esxi
Notification targets :
172.22.2.250@161/public
Si vemos todos los parámetros correctamente es que hemos configurado correctamente nuestro snmp. :D.
Espero que os haya servido de ayuda.
Un saludo a tod@s!