Avamar – Utilitaire proxycp.jar

L’article du jour traite de l’utilitaire proxycp.jar qui permet de faire des actions sur les proxies Avamar (pour le monde de sauvegarde VM Image). Cet outil est généralement téléchargé sur le node (ou via votre poste de travail en WebEx puis déposé sur l’Utility Node avec WinScp) afin de faire du troubleshooting).

Où l’obtenir

Avec cette commande :

curl -O ftp://avamar_ftp:anonymous@ftp.avamar.com/software/scripts/proxycp.jar

Il est recommandé de le déposer dans /usr/local/avamar/bin/

Les commandes

Voici les commandes qui sont utiles :

La commande suivante permet de lister tous les proxies déployés sur votre grid :

java -jar proxycp.jar --listproxy

L’option « –csv » vous permet d’exporter la liste dans un fichier CSV.

La commande suivante permet de lister toutes les VM visibles par votre grid Avamar mais pas nécessairement protégée. Elles sont visibles administrativement mais ne sont pas forcément dans un groupe :

java -jar proxycp.jar --listvm

L’option « –csv » vous permet d’exporter la liste dans un fichier CSV.

La commande suivante permet de savoir si votre utilisateur Avamar sur votre vCenter dispose bien des droits nécessaires :

#: java -jar proxycp.jar --listpermission
======================= Starting ProxyCP ==========================
Proxycp : v0.94
Date    : July 16, 2013 2:20:17 PM CEST
COMMAND : java -jar proxycp.jar --listpermission

VDR Detected : false
---------------------------------------------------------------------------------
====================== votre-vcenter.local ============================

User            : compte-avamar
Role Name       : Admin
Role ID         : -1

Role "Admin" has all the Required permission on "votre-vcenter.local"!

Checking Explicit Permission on Proxies.....
Done.....

========================== Done ==========================

Closing Connection Pool

Cela permet de contrôler en un coup d’œil les permissions en place.

Vous pouvez également contrôler les droits liés à une de vos VM avec l’option « –vm Votre-VM ».

La commande suivante permet de lister tous les datastores couvert par vos proxies, ce qui permet de troublshooter les problèmes de backup en failed pour cause de « no proxy » qui indique simplement qu’aucun de vos proxies ne peut accéder au datastore de la VM cible à sauvegarder :

java -jar proxycp.jar --listdatastoremap

L’option « –proxy VotreProxy » permet de filtrer sur un seul proxy plutôt que tous par défaut.

La commande suivante permet d’exécuter diverses commandes très simplement sur tous vos proxies, à l’image d’un « mapall » pour vos storage nodes :

java -jar proxycp.jar --cmd [commande]

Enfin, une commande très pratique permet de couvrir tous les datastores par tous vos proxies, en une seule fois (plus rapidement que par la GUI) :

java -jar proxycp.jar --selectalldatastore

Stéphane.

Incoming search terms:

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

Incoming search terms:

Avamar – Ré-enregistrement de proxies en mode VM Image

Si vous souhaitez sauvegarder des VMs en mode VM Image (enveloppe complète et non pas granulaire) vous devrez déployer des proxies sur votre infrastructure VMware qui auront par fonction d’agir en tant que proxies entre votre vCenter et l’Utility Node Avamar. Ce sont ces proxies qui auront la charge du backup de vos machines virtuelles, sachant qu’un proxy ne peut sauvegarder qu’une VM à la fois. Si vous désirez paralléliser des sauvegardes en mode VM Image (plutôt qu’en mode guest), vous devrez simplement déployer autant de proxies que de tâches simultanées souhaitées, sachant qu’un Storage Node supporte jusqu’à 23 sessions simultanées.

Parfois, il se peut qu’un proxy ne communique plus avec l’Utiliy Node et doive être réenregistré.

Si vous avez déployé l’OVA en 6.1 (proxy unifié pour les VM Windows et Linux contrairement à la version différenciées en 6.0.1) alors vous devez ouvrir un shell directement sur le proxy concerné et lancer la commande suivante :

/usr/local/avamarclient/etc/initproxyappliance.sh start

Pensez bien à relever au préalable l’IP ou nom DNS de votre management server ainsi que le mot de passe MCUser qui vous sera demandé…

Avamar – Commandes shell distribuées

Une commande vous permet d’envoyer simplement une commande sur l’ensemble de votre GRID Avamar, il s’agit de la commande « mapall ».

Pour l’utiliser il vous faut taper les commandes préalables suivantes :

root@zzzzzz:~/#: ssh-agent bash
root@zzzzzz:~/#: ssh-add ~dpn/.ssh/dpnid
Identity added: /home/dpn/.ssh/dpnid (/home/dpn/.ssh/dpnid)

Tapons une commande pour tester :

root@zzzzzz:~/#: mapall hostname
Using /usr/local/avamar/var/probe.xml
(0.0) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy1 'hostname'
hostname01
(0.1) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy2 'hostname'
hostname02
(0.2) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy3 'hostname'
hostname03
(0.3) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy4 'hostname'
hostname04
(0.4) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy5 'hostname'
hostname05
(0.5) ssh  -x  -o GSSAPIAuthentication=no admin@yyy.yyy.yyy.yy6 'hostname'
hostname06

Cela peut être très pratique dans de nombreux cas de figure comme récupérer les paramètres DNS, NTP ou encore les différents numéros de séries des Storage Nodes.