3.11.2015

Comando del día: Dump Restore de máquinas virtuales en Proxmox

Para realizar un dump en vivo de una máquina virtual, tanto openvz como kvm podemos ejecutar el siguiente comando:
vzdump --dumpdir /ubicacion/del/dump VZID
Donde VZID repreenta el número de la VM, por ejemplo 101, 105, etc.
Para restaurar un dump, ejecutamos uno de los siguientes comandos según se trate de openvz o kvm, tomando en cuenta que el VZID no debe existir ya en nuestro nodo proxmox.
vzrestore /ubicacion/del/dump.tgz NEWVZID
qrestore  /ubicacion/del/dump.tgz NEWVZID

Podemos consultar la ayuda de vzdump (vzump --help) para personalizar más nuestros dumps. Si bien proxmox puede realizar réplicas de respaldo de forma automática, se requiere de un segundo nodo contectado. También se puede respaldar de forma manual pero se debe contar con un segundo almacenamiento ya que no respalda al mismo disco donde corre proxmox.

Pero puede que en dicho disco se cuente con una buena cantidad de espacio libre y queramos respaldar en el; o también como es mi caso, disponer de un export nfs montado, y mediante trabajos cron y scripts realizar respaldos periódicos de las máquinas teniendo el control que nosotros queramos.

Todo esto prácticamente con un sencillo comando y sin parar las VMs.

Saludos!

3.02.2015

Comando del día: Buscar si un proceso se ha ejecutado más de dos veces y como matarlos.

Hace unos días me pasó que un servicio al parecer se había ejecutado más de una vez (no daré detalles del porqué).

Pero sea como sea la questión era saber cuántos procesos se estaban ejecutando y también una forma de matarlos independiente de la cantidad que estos sean, de esta forma llegué a las dos siguientes líneas de bash que se las puede modificar un poco para que formen parte de un script o unirlas etc:

Mirar si hay más de un proceso ejecutándose cada 2 segundos:


while true; do echo $(ps aux |egrep proceso |awk '{print $2}' |wc -l; sleep 2; done
Matar todos los procesos:


for p in `ps aux |egrep proceso |awk '{print $2}'`; do kill -9; done

Espero les sea de utilidad!!!

Saludos.

2.05.2015

Comando del día: Conexión ssh sin contraseña

Para tener una conexión ssh sin necesidad de contraseñas para acceder a nuestros equipos de forma más rápida y cómoda podemos realizar lo siguiente:

$ ssh-keygen -t rsa 
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hostremoto
$ ssh hostremoto
Lo que hemos echo es primero generar nuestra llave ssh, luego copiamos la llave púbilca en el host remoto, nos preguntará por la contraseña y si todo sale bien, el tercer comando nos debería ingresar directamente en el host remoto.

Tomar en cuenta que el usuario que realiza la conexión es el mismo con el que se desea ingresar al host, es decir que si somos user, el comando ssh-copy-id en parte ejecuta algo como:
ssh user@hostremoto

Por lo generalmente user debe existir en los dos hosts.


Saludos!