jueves, 25 de octubre de 2012

Agregar un puerto al firewall del ESXi5.


He investigado sobre esto, para que ghettoVCB pueda enviar los correos con los log de las copias.
Me he encontrado el error en el log de la copia:


Y ya me puse a investigar directamente en como agregar el puerto que utilizo para el envío de correo; Solo tenemos que agregar un archivo de configuración (smtp.xml) en el directorio /etc/vmware/firewall/.


Lo hacemos de la siguiente manera:

Creamos y editamos el archivo: # vi /etc/vmware/firewall/smtp.xml
Añadimos las siguientes líneas:
<ConfigRoot>
 <service id='1000'>
   <id>SMTP_OUT</id>
   <rule>
    <direction>outbound</direction>
    <protocol>tcp</protocol>
    <porttype>dst</porttype>
    <port>25</port>
   </rule>
   <enabled>true</enabled>
   <required>false</required>
 </service>
</ConfigRoot>

Donde SMTP_OUT, es el nombre de la regla. Yo lo he cambiado y no me ha dado problemas.
Donde 25, es el puerto que quieres agregar.

Por último, refrescamos las reglas:

# esxcli network firewall refresh


Listo! Ya aparece la línea SMTP_OUT en las opciones del firewall.


miércoles, 17 de octubre de 2012

Utilizar ghettoVCB en ESXi para copiar tus VMs



Me encanta este script, aunque me está dando la lata desde que he actualizado a la 5.0.
Se trata de un script gratuito, que permite realizar un backup de tus máquinas virtuales, sin la necesidad de apagarlas, en un Datastore local o en una unidad iSCSI, SAN o NFS.



- Lo primero, descargar el fichero.
Dentro tenemos varios scripts de copia y restauración, lo cuales subimos a una carpeta "e.j. backup" del Datastore.


lamw-ghettoVCB-19e0d4b/ghettoVCB.conf
lamw-ghettoVCB-19e0d4b/ghettoVCB-restore.sh
lamw-ghettoVCB-19e0d4b/ghettoVCB-restore_vm_restore_configuration_template
lamw-ghettoVCB-19e0d4b/ghettoVCB.sh
lamw-ghettoVCB-19e0d4b/ghettoVCB-vm_backup_configuration_template
lamw-ghettoVCB-19e0d4b/README

Yo solo subo el ghettoVCB.sh, es el que realiza la copia.



- El ghettoVCB.sh tenemos que modificarlo con el vi:
Con el putty, no dirigimos a la carpeta que lo contiene y ejecutamos:  ~ #vi ghettoVCB.sh

Modificamos principalmente esta línea:
VM_BACKUP_VOLUME=/vmfs/volumes/(ej. unidad iscsi)/(ej. backup)
Lo que indicamos, es el destino de la copia. Nos creará carpeta con el nombre de la VM y otra con la fecha de la copia.

Otras líneas para modificar:
DISK_BACKUP_FORMAT=  Aquí yo suelo usar thin (en otro post explicaré los diferemtes tipos de discos).
VM_BACKUP_ROTATION_COUNT= Número de copias a guardar.

Con estas modificaciones es suficiente para realizar un backup de nuestra VM.
NOTA: Para realizar modificaciones con el vi, cuando se muestra el fichero para la edición, pulsamos "i" para activar la edición. Realizamos las modificaciones y pulsamos "Esc" para cerrar la edición.
Para guardar la modificaciones, pulsamos ":" seguido de "wq" y pulsamos "intro".



- Por último, creamos un archivo para listar las VM a las que se le hará la copia:
~ #vi vm_para_copia
Aquí ponemos las VM a copiar.
e.j.
   server-xxx



- Ahora tenemos que programar la tarea con el CRON del ESXi:


--Editamos el cron de root:   ~ # vi /var/spool/cron/crontabs/root
   Agregamos lo siguiente:
0 0 1 * * /vmfs/volumes/(...dirección donde tenemos ghettoVCB.sh...)/ghettoVCB.sh -f vmfs/volumes/ (...dirección donde tenemos la lista de VM...)/ vm_para_copia  > /vmfs/volumes/(...donde guardamos el log...)/ghetto-bk-$(date +%Y-%m-%d).log

0 0 1 * * - Estas cifras son para indicar: minuto(0) hora(0) día(1) mes(todos) día de la semana(todos)
   Quiere decir que se ejecutará todos los días 1 de todos los meses independientemente del día de la semana que sea. Lo días de la semana se indican del 1 al 7 separados por comas.


--Cerramos el proceso del CRON:   ~ # kill $(cat /var/run/crond.pid)


--Lo volvemos a iniciar:   ~ # busybox crond


--Ahora, demos agregar la linea persistente agregándola en el rc.local (si se apaga el host se borra el CRON):   ~ # vi /etc/rc.local

/bin/kill $(cat /var/run/crond.pid)
/bin/echo " 0 0 1 * * /vmfs/volumes/(...dirección donde tenemos ghettoVCB.sh...)/ghettoVCB.sh -f vmfs/volumes/ (...dirección donde tenemos la lista de VM...)/ vm_para_copia  > /vmfs/volumes/(...donde guardamos el log...)/ghetto-bk-$(date +%Y-%m-%d).log " >> /var/spool/cron/crontabs/root
/bin/busybox crond


Y listo! Con esto tendremos a salvo nuestras VM.

jueves, 11 de octubre de 2012

Sin acceso a SSH mediante putty.


El error: “Server unexpectedly closed network connection”



Después de actualizar mi ESXi 4.0  a ESXi 5.0, me encuentro con este error: “Server unexpectedly closed network connection”. Esto trae consigo un problema dentro del problema: No se puede acceder a la consola para reparar el problema.
Investigando muy mucho, he descubierto que el inicio del problema es realizar la actualización con el servicio SSH iniciado. Me imagino que al estar los servicios corriendo, no los modifica y se quedan tararí.

Para poder utilizar la consola, se tiene que hacer mediante el SSH Shell de la consola del ESXi; se accede a la pantalla amarilla pulsando ALT+F1 y ALT+F2 para salir. Con esto, ya podemos trabajar.

En muchas webs, dicen que se podría solucionar creando o modificando un archivo: /etc/hosts.allow. A este archivo se le añadiría la línea sshd: ALL : ALLOW, pero mi error no desaparecía.
Entonces, vi de refilón algo sobre crear de nuevo los certificados ssh_host_dsa_key   ssh_host_rsa_key . Lo intenté pero no funcionaba y entonces, se me ocurre probar otra cosa: Copio los key de mi otro ESXi y los pego en este (/etc/ssh/)!  Y FUNCIONA!