Buscar

Miguel Colmenero

Categoría

VMWare

Cuando no podemos conectarnos a un servidor ESXI por SSH

Hace poco me ha pasado que no podía conectarme a un ESXI 5 vía ssh.

Tras probar habilitar, deshabilitar y vuelta a habilitar por la consola del ESXI. Reiniciar y varias cosas más. No logré solucionarlo hasta que rehice la Primery Key, pero antes probé alguna cosilla mas.

Me base en los documentos de vmware: En mi caso fue necesario el  2010607, aunque primero hice el 2041660.

Unable to connect to ESXi host using SSH (2041660)
SSH connection after upgrading to ESXi 5.0 fails with the auth.log error: Could not load host key (2010607)

El 2061660, lo que hace es cambiar los permisos del archivo ssh_host_rsa_key:

Comandos utilizados:

chmod 600 /etc/ssh/ssh_host_rsa_key (esto cambia los permisos por si están cambiados)

./sbin/services.sh restart

El 2010607, lo que rehace es la primery key:

Comando utilizados:

cd to /usr/lib/vmware/openssh/bin/.

./ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
 ./ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

 

VMWare ESXI, borrar archivos o directorios

Antes de nada, cómo vamos a borrar, asegurados bien que es lo que borráis y cercioraros bien INSISTO.
Primero como siempre nos conectaremos vía ssh o sino en la consola del servidor.
Después si es algun archivo del datastore comentaros que la manera de llegar sería:
cd vmfs/volumes y aquí tendremos el listado de todos nuestros datastores.
El comando de borrar un archivo es:
rm -f nombre del fichero a borrar
En el caso de un directorio:
rm -rf nombre del directorio a borrar
Espero que os sea de utilidad o mejor aun, espero que no tengáis necesidad de ello (eso es que todo va bien)

Extensiones de ficheros VMWare

En cada directorio donde se aloja una máquina virtual, se crean unos cuantos ficheros y más de una vez nos preguntaremos que es cada uno. Aquí os dejo una relación de tipos de fichero y lo que son.

.VMDK
Son los discos duros de la máquina virtual. Suelen ser los ficheros más grandes del directorio. Su tamaño es mas o menos el tamaño del disco(si usamos discos preallocated) o el tamaño de los datos almacenados en este momento (si usamos discos growables)

.NVRAM
Este fichero contiene la BIOS de la máquina virtual.

.VMX
Lo normal es que haya un fichero VMX por máquina. Contiene la información de configuracion de la máquina virtual.(La expresión de Edit Settings en forma de texto). Es editable por un programa de edicion de texto (vi, pico…), esta archivo es el que seleccionamos para publicar la maquína desde el datastore (Add to Inventory)

.VMXF
Este fichero, editable también, que está en formato XML, incluye información adicional de la máquina virtual y si ésta ha estado o está en un team.

.VMTM
Para la VMs que estén formando parte activa de un team

.VMEM
Estos fichero contienen un backup de los ficheros de paginación de la VM. Son muy pequeños o no existirán si la VM está apagada, pero crecerán hasta el tamaño de la RAM configurada si se enciende la máquina virtual. Cuando estamos a falta de sitio, al apagar las máquinas, no van liberando unos pocos gigas (en función de la RAM asiganda) y así nos puede dejar mover máquinas en caso de emergencia.

.VMSN y .VMSD
Cuendo creamos snapshot de la máquina virtual, estos ficheros se crean para mantener el estado de la máquina virtual.
EL fichero con extensión VMSN guarda el estado de ejecución de la máquina virtual, es decir, el delta entre el VMDK en el momento del snapshot y lo que ha sido procesado hasta ahora. Otra manera de ahorrar espacio, si estamos a falta es eliminando los snapshot no necesarios.

El fichero VMSD guarda la informacion de metadata sobre el propio snapshot.

.VMSS
Contiene el estado de suspendido de la máquina virtual si es que la hemos suspendido.

.LOG
Es el log del funcionamiento de la máquina, este puede tener diferentes números en función de cuantos log esté guardando.

VMWare ESXI, mover archivos de máquinas

Esta semana la he tenido un poco complicada, debido a la capacidad de las cabinas y he tenido que mover máquinas de datastore a otro, via comando.
A continuación os pongo los pasos que he seguido y me han sido de utilidad por si os puede valer alguien. Seguro que hay otras formas de hacerlo.
Os defino el escenario:
Nosotros por lado tenemos 3 servidores con WMware ESXI 5.1 (la versión de pago) con su VCenter y gestión centralizada…. Y por otro lado tenemos dos ESXI, aprovechando unos equipos para albergar algunos puestos nos viene bien. Estos están montados con ESXI 4.1 (la versión gratuita) y gestión independiente.
Primero habilitamos la conexión SSH, os puede asegurar que en las nuevas versiones es una opción en la consola del servidor F2… pero en la versión 4, está un poco más complicado, pasos:
Habilitar conexión SSH
-ALT+ F1
-Escribimos unsupported (no lo vemos, pero creeros, escribirlo y darle al enter).
-Nos pide las password de nuestro servidor ESXI (tampoco la vemos teclear) y enter. Ya estamos en la consola y podemos escribir comandos.
-Abrimos el editor VI y el archivo inetd.conf con el siguiente comando: vi /etc/inetd.conf
-Buscamos las # de las líneas de ssh y las borramos, para grabar en vi: damos a ESC y seguidamente escribimos :wq! + enter (si queremos salir sin grabar :q! + enter)
-Reiniciamos los servicios: /sbin/services.sh restart , personalmente hasta que no reinicié el servidor no me funcionó la conexión.
Ya hemos habilitado la conexión ssh para nuestro servidor, esto nos da muchas posibilidades con la gestión por comandos. Al final para problemas grandes, volvemos siempre a los comandos que han existido en todos los sistemas operativos.
Ahora nos hace falta algún programa de conexión vía ssh, suelo usar PuTTY

A veces al copiar archivos o mover una máquina nos dice que está bloqueada. Para liberarlas tiraremos el proceso que lo bloquea, os cuento cómo.
Ver procesos
Por ssh y en la ventana de comandos, ponemos el comando lsof | grep <>, ej: lsof | grep windows
Nos fijamos en el ID y matamos el proceso con el comando Kill -9 <>, ej: Kill -9 10542

Copiar de un datastore a otro por comando
Por último nos faltaría copiar da un datastore a otro por comando.
El comando es:
scp -r /vmfs/volumes/<>/<>/ root@<>:’/vmfs/volumes/<>/<>/’
Ejemplo:
scp -r /vmfs/volumes/store1/w2k3/ root@192.168.9.1:’/vmfs/volumes/store2/windows 2003/’ (En mi caso prefiero poner por ip y no depender de las dns)
Las ” solo son obligatorias de poner si algun nombre tiene espacios en blanco, sino no son necesarias. Fijaros que va después del servidor.

Blog de WordPress.com.

Subir ↑