
Consolidando snapshots en VMware
Hi ha vegades que per una raó o una altra se'ns omple un datastore de VMware, normalment és per 'culpa’ d' un snaphost que no té en compte la mida màxima de la definició del disc. En certes ocasions en estar el datastore completament ple no podrem ni eliminar l'snapshot, ni poder arrencar la màquina; així que estem perduts. Una 'solució’ és ampliar la LUN, després ampliar el datastore i llest, reintentem el que volíem. De vegades això no és possible, o directament és una nyapa; el que cal fer és consolidar els nostres discos amb els seus snapshots en una LUN temporal i finalment retornar-ho tot a la seva datastore original sense snapshots ni altres, aquesta és la solució.
Aquest per exemple podria ser un error típic de quan tenim un datastore completament ple, la màquina virtual intenta escriure en el datastore però com que no hi ha espai suficient no podem fer altra cosa més que apagar-la.
Ens hem d'assegurar i saber exàctament quins discos durs són els associats de la MV amb: 'grep -i filename /vmfs/volumes/DATASTORE_VIEJO/MV/*.vmx | grep -i vmdk’
Ara comprovarem l'espai que necessitarem com a mínim en un altre datastore per consolidar els discos, amb 'ls -lah /vmfs/volumes/DATASTORE_VIEJO/MV/*flat.vmdk'. Ja sabem que per a aquest exemple necessitem 15Gb.
Bo, comencem, comprovem els discos que tenim amb 'grep -i filename *.vmx’ en el datastore de la màquina que tingui l' snapshot. Ens fixem en el nom dels discos. El disc en aquest cas es diu 'w2k7pro-000001.vmdk', que és el generat per l'snapshot.
Comprovem en el descriptor de cada snapshot el CID del disc. Comprovem que el CID del disc actual és 'abccb37f’ i del disc superior anomenat 'w2k7pro.vmdk’ és '663e241a'. S' ha de realitzar això fins a arribar el disc base, en el meu cas ja serà aquest, perquè tinc un sol snapshot, així que OK. Anar comprovant un a un fins a comprovar que la nostra cadena de discos és correcta,
Ara creem una carpeta en algun datastore que tinguem amb l'espai suficient com per encabir el disc base amb els snapshots consolidats, en el meu cas eren 15Gb, així que 'mkdir /vmfs/volumes/DATASTORE_NUEVO/CARPETA/'.
Amb el següent comandament consolidarem el disc amb el seu snapshot en un datastore temporal: 'vmkfstools -i /vmfs/volumes/DATASTORE_VIEJO/MV/disco-snapshot.vmdk /vmfs/volumes/DATASTORE_NUEVO/CARPETA/disco-consolidat.vmdk’ i esperem que finalitzi, que depenent de la mida del disc a consolidar i la infraestructura que tinguem pot variar molt.
Editem la màquina virtual afectada, l'eliminem el link del disc vell i agreguem el disc recent creat. Ara, hem d'encendre la màquina i comprovar que tot és correcte i no tenim pèrdues d'informació.
Hem d'eliminar el disc base i els seus snapshots, executant 'grep -A2 parentFile disco-snapshot.vmdk’ sabrem quins discos hem d'esborrar ja que ens mostra els punters entre els discos.
Eliminem tots els discos amb 'rm /PATH/disco.vmdk’ i confirmem amb 'i'.
Ara clonem el disc recent creat a la seva correcta ubicació amb 'vmkfstools -i /vmfs/volumes/DATASTORE_NUEVO/CARPETA/disco-consolidat.vmdk /vmfs/volumes/DATASTORE_VIEJO/MV/disco.vmdk’
Realitzem el mateix, desadjuntem el disc que havíem agregat per testejar i fiquem ja el correcte. Encendre la màquina de nou i comprovem que tot continua sent correcte i no tenim pèrdues d'informació. L'apaguem.
Ara hem d'eliminar la base de dades de snapshosts, podem renovar el fitxer .vmsd i eliminar-lo després.
Treiem la màquina de l'inventariat.
I la tornem agregar a l'inventari i comprovarem que ja no té snapshots associats, estan tots consolidats i la màquina ja podria encendre's en la seva datastore original!
Referència: VMware KB 1007849