Programant còpies de seguretat de la configuració d' ESXi 6.x
El otro día leía un debat sano entre coleguitas bloggers en LinkedIn, y es cierto, a pocs anys se nos ocurreixen programar certes tasques curioses com por exemple esta. Si bien es interessant hacer un backup de la nostra configuració de ESXi… por qué no la programamos? Os dejo un par de options que seguro que os encajan para tener unas còpies de seguretat de la configuració de ESXi actualizada.
Programant una tasca de còpia des de Windows,
Aquesta pot ser l'opció més senzilla i la que més encaixi, ja que simplement tenint VMware vSphere CLI instal·lat en un equip amb Windows (podria ser el mateix vCenter Server) el tindríem llest. Hauríem de crear un fitxer BAT que contingui la comanda que exporti de cada ESXi la seva configuració, i guardarem al fitxer de configuració on vulguem .
Aquest seria un fitxer batch d'exemple, en el meu cas es diu ‘backup_esxi.cmd’ al qual hauré creat una tasca programada en el Programador de Tasques de Windows indicant que executi aquest script per exemple un cop a la setmana, i com veiem ens guarda al path que ens interessi el fitxer de configuració amb el nom i format que ens interessi. Òbviament, afegirem tantes línies al BAT com servidors vulguem, a més, que hauríem de crear un usuari en els ESXi amb privilegis de només lectura o indicar un altre mètode d'autenticació, a més de protegir aquests arxius dels curiosos!
[sourcecode]"%ProgramFiles(x86)%\VMware\VMware vSphere CLI\bin\vicfg-cfgbackup.pl" –server=DIRECCION_IP_ESXi –username=USUARI –password=CONTRASEÑA -s "PATH\ARCHIVO.tgz"[/sourcecode]
En l'exemple, veureu que li afegeixo la data al final del nom de configuració, potser interessant si tenim molts servidors & històric de còpies. Un cop executem el BAT manualment o s'executi de manera programada ens anirà creant els arxius de configuració per cada ESXi! Ara… posarem en bon lloc aquestes còpies de seguretat!
Programant una tasca de còpia des de ESXi,
Y esta opció quizá es més cuca ya que no tenemos por qué tener un Windows pendiente de hacer las còpies, si no, des de cada ESXi configuraremos que exporte su configuració mediante cron de forma programada a un Datastore VMFS.
Lo que tiene este método es un poco más de labor, ya que por defecto no podremos treballar con cron com estamos acostumbrados, además que al reiniciarse el ESXi los canvis que habremos hecho por defecto no nos los mantiene, per tant, primero crearemos el script en el ESXi que nos exporte la configuració y posteriorment modificaremos el ESXi para que cada vez que se reinicie nos mantenga la configuració del cron & llest!
Nos conectamos por SSH a un ESXi y creamos el fichero de configuración, per exemple mediante 'vi /vmfs/volumes/DATASTORE/Backup_ESXi/backup_esxi.sh', amb el contingut següent:
[sourcecode]vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
find /scratch/downloads/ -name \*.tgz -exec mv {} /vmfs/volumes/DATASTORE/Backup_ESXi/ARCHIVO.tgz \;
[/sourcecode]
Al igual que en el cas anterior, veréis que en la foto, al fichero TGZ le estoy llamando como el servidor ESXi además de meterle al final la fecha, como os digo, creo que será más que necesario. No nos olvidemos de hacer el script ejecutable! Con 'chmod +x /PATH/NOMBRE_SCRIPT'.
I res, si lo ejecutamos manualment vemos cómo nos genera el archivo de configuración único en un datastore, podremos poner esta tarea que se execute en cada ESXi i en la mateixa carpeta del datastore VMFS nos irá 'llenando’ amb les configuracions de cada ESXi!
Bé, ara la qüestió de programar alguna cosa amb el cron d'ESXi 6.x, el primer que farem serà donar-nos permisos d'escriptura al cron, a més d'afegir la programació amb la qual vulguem executar l'script, en el meu cas, tots els dies a les 22h; lo único, recordar que els ESXi utilitzen l'hora UTC, per la qual cosa executar ‘date’ en línia de comandes per verificar l'hora ‘correcta’ d'execució.
[sourcecode]chmod +w /var/spool/cron/crontabs/root
vi /var/spool/cron/crontabs/root (i afegir al final):
0 22 * * * /vmfs/volumes/DATASTORE/QUADERA/SCRIPT [/sourcecode]
Ara hem de ‘reiniciar’ cron, la forma que tenim a l'ESXi 6.0 o 6.5 seria veient l'identificador del procés, matant-lo i arrencant de nou cron:
[sourcecode]cat /var/run/crond.pid
kill IDENTIFICADOR
crond[/sourcecode]
Lo siguiente será editar ‘/etc/rc.local.d/local.sh’ para permitir que una vez arranque el ESXi (en caso de parada) agregue otra vez el contenido al cron, previamente pararemos cron y al final lo arranca de nuevo! Así que justo antes del final del fichero, antes de ‘exit 0’ debemos añair:
[sourcecode]/bin/kill $(cat /var/run/crond.pid)
/bin/echo ‘0 22 * * * /vmfs/volumes/DATASTORE/QUADERA/SCRIPT’ >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond[/sourcecode]
Ejecutamos ‘autobackup.sh’ una vez hayamos guardado todos los ficheros y quedaría listo para sentencia! De esta manera tendremos unos ESXi que de forma programada exportarán su configuración a un Datastore VMFS que tengamos compartido, en caso de necesidad siempre podremos optar y recuperar desde ahí un host, que a veces pasa! I si no, tenemos l'exemple anterior que seria el Windows el encargado de fer la còpia i deixar en red els fitxos de configuració. Espero que os sirva y tengamos definicas al menys unes còpies de seguretat de la configuració del nostre host VMware ESXi!















































