Sur Nutanix, pour prendre des snapshots applications consistents dans un contexte de Data Protection / Disaster Recovery (ex Leap) ou de sauvegardes tierces (HYCU, Veeam, Commvault) il peut être nécessaire d’utiliser une fonctionnalité Nutanix appelée pre_freeze and post_thaw scripts.
Ces scripts sont déclenchés par les NGT sur les machines Windows et Linux avant et après snapshots et permettent de déclencher des opérations sur l’OS (exemple lock puis unlock d’une ou plusieurs tables d’une base de données).
Cette fonctionnalité, encore peu démocratisée, comporte un avantage important sur la prise de snapshot sur des applications potentiellement sensibles.
Nous allons voir ici, pas à pas, comment implémenter ces scripts et monitorer leur bon déroulement.
Pré-requis à l’installation et exécution de ces scripts :
- La machine Linux ou Windows doit disposer des NGT en version 1.1
- La connectivité entre les NGT tournant dans la machine et le service coté CVM doit être établie
- Avoir les scripts pre_freeze et post_thaw au PATH suivant : /usr/local/sbin sur Linux et C:\Program Files\Nutanix\scripts\ sur Windows
Mise en place des scripts :
Sur une machine Debian, j’ai créé les deux scripts sh dans /usr/local/sbin qui vont venir populer une date dans un fichier de log avant la prise du snapshot et après.
J’ai ensuite dans un /tmp créé deux fichiers de log pour venir écrire les sorties de mes scripts.
Mise en place des snapshots applications consistent
Nous mettons ensuite en place les snapshots application consistent pour généré l’appel à ces scripts.
Pour celà j’ai protégé ma VM témoin dans un Protection Domain dans Prism Element en activant les snapshots application consistent.
Déclenchement des snapshots application consistent
Pour vérifier le bon fonctionnement de mes scripts, je vais forcer un snapshot application consistent en faisant un « Take Snapshot » sur le Protection Domain en question.
Vérification de l’exécution
Tout d’abord je peux voir que le snapshot pris est bien de type application-consistent dans la liste des snapshots de mon Protection Domain sur Prism Element.
Ensuite je peux vérifier, sur ma machine Linux, que les scripts se sont correctement exécutés et ont populé mes fichiers de logs.
Mes fichiers de logs ont correctement été populés sur l’horodatage du snapshot.
J’ai aussi la possibilité de voir la trace d’exécution et du bon appel de mes scripts dans le logs NGT sur ma machine Linux.