S’utilitza la instància que es troba al directori de CAPRICORNIUS (màquina de desenvolupament del PloneTeam):
/var/plone/backoffice/genwebupc4
..note:
Durant tota la narració d'aquest procediment utilitzarem com exemple la recuperació fictícia d'una instancia: *secretariesub*. Aquest nom s'utilitza com identificador de la instancia Plone i punt de muntatge a la ZMI (manage de Plone), directoris de blobs, així com a nom del fitxer de la base de dades que serà de la forma Data_secretariesub.fs. Necessitem saber també en quin entorn es troba aquesta intància. En aquest cas, estarà a l'entorn 11.
El procediment a seguir és el següent:
Primerament, necessitem les dades originals de la instància que volem recuperar (secretariesub). Necessitem en concret la base de dades i els blobs associats. El backup del servei es troba enmagatzemat a Mebsuta, al directori: /backup/genwebupc/zeo11/secretariesub. En aquesta ubicació es troben els backups (diaris) corresponents a les dues setmanes anteriors, inclosa l’actual (fins divendres). El cap de setmana es genera un backup full en forma de *.fs i diàriament es generen deltes en forma de *.deltafs dels canvis diaris. En cas de necessitar recuperar dades anteriors, cal recuperar de la mateixa ubicació via Legato, el darrer fitxer *.fs (total del cap de setmana), el darrer *.dat (total del cap de setmana) i els *.deltafs des del cap de setmana fins la data del dia del que volem fer la recuperació.
Un cop identificats (o recuperats del Legato) els fitxers necessaris, a partir de la descripció de l’apartat anterior, cal executar un procediment per a generar el fitxer .fs corresponent a l’estat de la base de dades del dia en concret que volem recuperar. Per aconseguir això executar l’script repozo a Mebsuta:
/var/plone/genwebupcZEO/produccio/bin/repozo -R -v -r /backup/genwebupc/zeo11/secretariesub/ -o /tmp/Data_secretariesub.fs -D 201X-XX-XXon 201X-XX-XX és la data del dia en que volem fer la recuperació
Exemple de resultat:
looking for files between last full backup and 2010-05-18... files needed to recover state as of 2010-05-18: /backup/genwebupc/zeo11/secretariesub/2010-05-15-05-03-30.fs /backup/genwebupc/zeo11/secretariesub/2010-05-17-07-50-07.deltafs Recovering file to /tmp/Data_etseiat.fs Recovered 6635207 bytes, md5: a93ce32cebbc124d0f28a378779bc6c6 root@mebsuta:/backup/genwebupc/zeo11/secretariesub#
Copiem la base de dades resultant que es troba a /tmp/Data_secretariesub.fs a Capricornius:
scp root@mebsuta:/tmp/Data_secretariesub.fs /var/plone/backoffice/genwebupc4/var/filestorage/.A continuació, cal recuperar els blobs associats a la base de dades el dia que es vol recuperar. Podem trobar el backup dels blobs, separats per dies al directori: /backup/genwebupc/zeo11/blobs/ Es guarden els blobs diàriament i s’organitzen per carpetes dins del directori anterior en la forma /backup/genwebupc/zeo11/blobs/{diadelmes} Per això cal executar la següent comanda directament des de Capricornius:
scp -r root@mebsuta:/backup/genwebupc/zeo11/secretariesub/blobs/XX /var/plone/backoffice/genwebupc4/var/blobstorage/secretariesubActualitzar el fitxer /var/plone/backoffice/genwebupc4/buildout.cfg de Capricornius amb el nom de la BD ZODB que estem recuperant. Per exemple: secretariesub. Ha de tenir el mateix nom que té en el servidor d’explotació /var/plone/genwebupcZEO/produccio/instances/zeo11 (Mebsuta o Mebsuta2). Per fer-ho, obrim el fitxer i busquem la secció filestorage actualitzem la directiva parts:
... [filestorage] recipe = collective.recipe.filestorage parts = comunicacio espaitic serveisticalaupc secretariesub location = var/filestorage/Data_%(fs_part_name)s.fs blob-storage = var/blobstorage/%(fs_part_name)s ...Haurem de canviar el propietari i el grup dels fitxers que recuperem i col·loquem a Capricornius, doncs hauran de pertànyer a l’usuari i grup plone. Per lo tant:
chown -R plone.plone /var/plone/backoffice/genwebupc4/var/blobstorage chown -R plone.plone /var/plone/backoffice/genwebupc4/var/filestorageMuntar el buildout per a que agafi la nova BD del fitxer instance executant l’script: /var/plone/backoffice/genwebupc/bin/buildout des del directori /var/plone/backoffice/genwebupc
root@capricornius:/var/plone/backoffice/genwebupc4# ./bin/buildoutIniciar la instància amb el “foreground”:
root@capricornius:/var/plone/backoffice/genwebupc4# ./bin/instance fgPel fet de llençar-ho amb “fg” veurem tot el que fa, i quan s’aturi, comprovarem que no hi ha cap error i que ens diu que està tot correcte. Hem de veure una línia que posi, per exemple:
2010-06-17 09:56:52 INFO Zope Ready to handle requestsperò encara no cancel·larem el procés (*).
Cal accedir a : http://capricornius.upc.es:8880/manage amb l’usuari “admin” i la mateixa contrasenya, i muntar la nova ZODB des del menú Add de dalt, a la dreta: Escollir en el menú desplegable “ZODB Mount Point”. En el formulari que apareix, deixar marcada la BD que volem muntar, i acceptar.
Cal comprovar que tenim totes les dades que volem recuperar. Des del menú de l’esquerra (Root folder) escollirem la carpeta i/o fitxer que volem recuperar i, en l’espai central seleccionarem la caixeta (checkbox) on hi ha les dades que volem recuperar, i premerem el botó Import/Export de la part inferior de la finestra. Això ens deixarà les dades en un fitxer amb l’extensió *.zexp. i en la part superior del navegador veurem la ruta on ha deixat el fitxer. Per exemple:
serveis_recuperats successfully exported to /var/plone/backoffice/genwebupc/var/instance/serveis_recuperats.zexp (2010-05-20 16:43)
Recuperar les dades al servidor de producció (normalment Sylara o Sylarb) . Caldrà passar el fitxer *.zexp de Capricornius a Sylara. Ho farem amb l’scp. Per exemple:
root@capricornius:/var/plone/backoffice/genwebupc4# scp /var/plone/backoffice/genwebupc4/var/instance/serveis_recuperats.zexp root@sylara:/root
Arribats a aquest punt necessitem saber en quin entorn de Genweb està la instància que volem recuperar les dades. Tal i com hem comentat a l’inici, en l’exemple, secretariesub es troba en el entorn 11. Si desconeixem en quin entorn es troba, tenim diferents maneres de saber-ho:
- Via la URL del site en producció, accedint a una vista especial (getZEO) que ens mostrarà l’entorn: http://www.upc.edu/secretariesub/getZEO
- Accedint a Mebsuta i buscar en els fitxers de configuració de distribució d’instàncies: /var/plone/genwebupcZEO/produccio/instancies/
Copiarem el que acabem de traspassar via scp a el directori del frontend corresponent a l’entorn dins de Sylara, en el exemple al ser l’entorn 11, hem de copiar-ho a la següent ubicació:
root@sylara: cp /root/serveis_recuperats.zexp /var/plone/genwebupc/produccio/parts/zc11/import/.Li canviarem els permisos al fitxer per tal de poder-lo importar:
root@sylara: chown plone.plone /var/plone/genwebupc/produccio/parts/zc11/import/*
I comprovarem si els permisos són correctes:
root@sylara: ls -lh /var/plone/genwebupc/produccio/parts/zc11/import/*
- Ara caldrà anar a la ZMI del frontend en el que volem fer la importació http://sylara.upc.es:11011/manage_main, situar-nos en el directori on volem fer la importació, escollir el fitxer zexp que acabem de deixar i prémer el botó Import/Export de la part inferior de la finestra. Un cop feta la importació, ja podrem accedir a la informació recuperada. Ho haurem de comprovar anant a la URL inicial que ens han facilitat en el tiquet.
..note:
IMPORTANT: Abans de tancar la instancia de recover (*) amb un Ctrl + C, cal esborrar el punt de muntatge, seleccionant-lo des de l'arrel del Zope. I també haurem d'eliminar tots els fitxers que haviem recuperat de Mebsuta sobre Capricornius (els *.fs, *.dat, *.datafs, blobs, etc).