Avamar – Déplacement de clients

Bonjour à tous,

Dans ce billet je vais vous donner une ligne de commande qui vous permettra de déplacer en une ligne tout un groupe de clients/VMs.

Dans mon cas, j’avais importé tout un groupe de machines virtuelles (à backuper donc en mode « VM Image ») qui par défaut sont placées dans le sous-domaine racine du vCenter alors que pour pouvoir être prise en compte dans un groupe de sauvegarde elles doivent se trouver dans le sous-domaines « VirtulMachine » du domaine du vCenter.

N’étant pas un grand fan de la GUI, surtout pour faire une série de clics répétitifs, je me suis attelé à la mccli afin de scripter un one-liner pour le faire à ma place :

for n in $(mccli client show --domain=/domaine-ou-se-trouvent-vos-vms \
| awk 'NR > 3 {print $1}'); do mccli client move --domain=/domaine-ou-se-trouvent-vos-vms \
--new-domain=/domaine-de-votre-vcenter/VirtualMachines --name=$n; done

Cette commande devrait vous faire gagner bien du temps…

Avamar – Ajout de datastores en masse

Si vous sauvegardez votre infrastructure VMware avec Avamar et que vous devez déployer plusieurs proxies et que vous disposez de nombreux datastore mais que vous ne devez pas tous les couvrir pour diverses problématiques de sécurité, il peut-être pertinent de faire un script bash/mccli afin d’effectuer ces opérations pour vous ou encore quand vous devez ajouter de nouveaux datastores à tous vos proxies déployés.

Dans mon cas, à chaque déploiement de proxies je dois sélectionner plusieurs 10aines de datastores sur une ligne en comportant une 100aine, ce qui est vecteur d’erreurs de sélection.

La méthode est simple, il vous faut dans un premier temps ouvrir un shell sur votre Utility Node et créer deux fichiers contenant :

  • La liste des proxies, un par ligne
  • La liste des datastores à protégéer, un nom par ligne

Ensuite, il ne vous reste plus qu’à adapter et exécuter la ligne suivante, PROXIES.txt contenant la liste de vos proxies Avamar et ADD-DS.txt contenant la liste des datastores :

for proxies in $(cat PROXIES.txt); do for datastore in $(cat ADD-DS.txt); do mccli client \
add-datastore --datacenter=votre-dc-vmware --datastore-name=$datastore \
--name=/clients/sous-domaine-hebergeant-vos-proxies/$proxies; done; done

A savoir que la mccli n’est pas rapide du tout mais c’est normal 🙂

Avamar – Restoration planifiée

Dans le billet de ce jour je vais aborder la problématique de la restoration planifiée.

En effet, il se peut qu’un jour vous ayez à planifier une restoration dans le cadre par exemple d’une migration d’environnement : Vous avez votre policy qui dispose d’une schedule pour une sauvegarde un samedi soir et vous souhaitez restorer votre dataset sur un nouveau serveur tôt le lundi matin de la semaine suivante, sans pour autant avoir besoin de la lancer à la main depuis la MCS. Pour ce cas de figure, il faut passer par la ligne de commande (MCCLI) et simplement planifier une cron de restoration de type :

mccli backup restore --name=/clients/ServeurA --plugin=3001 --labelNum=`mccli backup show --name=/clients/ServeurB | awk 'NR==4 {print $4}'` --dest-client-name=/clients/ServeurB

Explications :

  • Commande initiale : mccli backup restore –name/clients/ServeurA
  • Spécification du filesystem source (ici WIndows File System) :  –plugins=3001
  • Astuce pour récupérer le numéro de label de la dernière sauvegarde : –labelNum=`mccli backup show –name=/clients/ServeurB | awk ‘NR==4 {print $4}’`
  • Serveur où restorer les fichiers : –dest-client-name=/clients/ServeurB

Options possibles :

  • –data=D:\\Dossier\\fichier-a-restorer.zzz : Ici vous pouvez spécifier un dossier ou un fichier spécifique à restorer et non pas l’ensemble du dataset (par défaut). Pensez à bien doubler vos anti-slash (\\) pour les échaper et ainsi qu’il soient pris en compte sinon pour aurez une erreur 10007
  • –dest-dir=D:\\Restore : Pour spécifier un dossier spécifique où restorer vos fichiers/dossier si vous ne souhaitez pas utiliser le répertoire par défaut

Le tout est à simplement placer dans un CRON à l’heure qui vous conviendra, avec le user admin en précisant le chemin complet vers la MCCLI dans votre tâche, de la forme :

su - admin
crontab -e
00 12 * * * /usr/local/avamar/bin/mccli backup restore --name=/clients/ServeurA --plugin=3001 --labelNum=`/usr/local/avamar/bin/mccli backup show --name=/clients/ServeurB | awk 'NR==4 {print $4}'` --dest-client-name=/clients/ServeurB