Avamar – Une commande pour récupérer tous les S/N de votre grid

Bonjour,

Je tiens ici à vous faire part d’une commande qui vous permettra d’obtenir les informations suivantes :

  • IP
  • Hostname
  • Serial du node

Et ce pour tous les nodes de votre grid Avamar.

Ceci est très pratique si vous ne souhaitez pas ou ne pouvez pas descendre en salle machine pour relever le serial du node sur lequel une opération de maintenance va devoir être effectuée (changement d’un disque par exemple) et qui vous sera demandé par le support N3 d’EMC, et si vous n’avez sous la main votre référentiel…

PROCEDURE

Il faudra auparavant changer d’utilisateur :

su - admin
ssh-agent bash
ssh-add ~/.ssh/dpnid

Puis lancer la commande magique :

mapall --noerror --user=root --nodes=all+ --quiet 'echo `hostname -i`'" - "'`hostname `'" - "'`/usr/bin/ipmitool fru print 0 |grep "Product Asset Tag"`'

Ce qui produira le résultat suivant :

admin@avamar:~/>: mapall --noerror --user=root --nodes=all+ --quiet 'echo `hostname -i`'" - "'`hostname `'" - "'`/usr/bin/ipmitool fru print 0 |grep "Product Asset Tag"`'
yyy.yyy.yyy.1 - avamar1 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.2 - avamar2 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.3 - avamar3 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.4 - avamar4 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.5 - avamar5 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.6 - avamar6 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.7 - avamar7 - Product Asset Tag : NNG-votre-serial
yyy.yyy.yyy.8 - avamar8 - Product Asset Tag : NNG-votre-serial

Avamar – Changer le serveur SMTP d’un Single Node Avamar

Bonjour,

Dans le billet de ce jour nous allons voir comment modifier le serveur SMTP d’un Single Node Avamar.

PROCEDURE

Dans un premier temps il faudra ouvrir un shell avec le compte admin puis éditer le fichier de configuration suivant :

/usr/local/avamar/var/mc/server_data/prefs/mcserver.xml

Recherchez la ligne :

<entry key="smtpHost" value="123.123.123.123" />

Et remplacez le motif par la nouvelle adresse IP.

Ensuite, il vous faudra redémarrer la MCS avec les commandes suivantes :

dpnctl stop mcs
dpnctl start

That’s it!

Récupération de données

Dans le billet du jour je vais vous parler d’un sujet qui nous (administrateur sauvegarde) a tous touché un jour ou l’autre : La perte de données.

image-une

Les causes peuvent être multiples : Bande LTO illisible, perte de plusieurs volumes  physiques dans une grappe raid, raid logiciel corrompu, CD d’archivage rayé, incendie dans une baie de disque (rare fort heureusement), femme de ménage qui débranche un (petit) SAN pour brancher son aspirateur (vu dans une PME), les origines sont multiples…

LES METHODES

Il existe une pléthore d’outils logiciels permettant de récupérer des données dont certains gratuits (comme « Restoration » ou « ddrescue ») mais si vous avez des problèmes sur une têtes de lecture d’un disque (SAS, SATA, SCSI) ou si vous une de vos bandes LTO externalisée à approché un champs magnétique important, une bandes externalisée a brûlé, ces logiciels ne pourront rien faire de probant et vous devrez vous tourner vers un un prestataire de récupération de données de disque dur, prestation offerte par une société particulièrement performante dans ce domaine, la société OnTrack.

data-01

Ontrack.fr propose une multitude de services de récupération de données en fonction des  supports :

  • Récupération de disques dur (toutes interfaces)
  • Récupération de bande (DAT, AIT, DLT, LTO etc.)
  • Récupération de disques SSD
  • Récupération sur périphériques à mémoire flash (clé USB et tablettes notamment)

Et bien d’autres…

Quant aux types de données ils sont très variés : Récupération de données cryptées, de  données dans le cloud, de mails, de bases de données.

LA SOCIETE

Cette entreprise semble sérieuse : Elle existe depuis 1985 (presque 30 ans de R&D tout de même), dispose de près de 2000 salariés dont des centaines d’ingénieurs.

En fonction de la criticité des données à récupérer (en terme de sécurité, confidentialité, temps de récupération) vous pouvez un niveau de service en phase avec votre besoin et votre budget.

Vos médias seront analysé dans un laboratoire et un devis vous sera proposé.

Cela a un coût mais si vous devez passer par une telle prestation, c’est que vos données sont précieuses voire critiques en fonction de votre activité.

Le devis est gratuit et une réponse vous sera faites rapidement indiquant le prix, le délais et la solution envisagée.

Me concernant et si le cas de figure se présentait, je ferais appel à eux.

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.

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 – Le FLR dans Avamar

Vous faites des sauvegardes en mode VM Image des VM de votre infrastructure VMware mais vous ne souhaitez pas installer l’agent pour effectuer des sauvegardes en mode Guest ? Alors le mode FLR (pour File Level Restore, mode qui permet une granularité en mode fichier) est fait pour vous …sauf qu’il dispose de nombreuse limitation avec Avamar 6.1. En effet, ce mode ne supporte pas :

• Les disques non-formatés
• Les disques dynamiques
• Le partitionnement GPT
• Ext4
• FAT16
• FAT32
• Les partitions étendues
• Les disques virtuels (VMDK) disposant de plusieurs partitions
• Les agrégations disques virtuels au sein d’une même partition (le fait d’agrandir un VMDK)
• Les partitions chiffrées
• Les partitions comprimées
• LVM : Un seul volume physique (un vmdk) peut être mappé au sein d’un seul volume LVM et uniquement formaté en ext2 ou ext3

Comme vous pouvez le constater les limitations sont grandes, ce qui empêche toute utilisation en production du mode FLR. Il vous faudra attendre Avamar 7.0 dans lequel le mode est censé être plus exploitable. L’alternative est d’utiliser le mode guest (agent), à déployer sur toutes vos VM tout en sachant que les data ne seront pas stockées en double grâce à la déduplication. En effet, j’ai constaté que l’utilisation simultanée des deux modes n’augmentait pas la volumétrie de mes Grids.

Stéphane.

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 – Lister les dernières sauvegardes

Bonjour,

Il se peut qu’un jour vous ayez besoin de lister les dernières sauvegardes disponibles pour  une liste de clients donné (mode guest ou VM Image).

Procédure

Une one-liner permet d’établir une telle liste : Dans mon exemple je cherche à obtenir une liste des dernières sauvegardes pour un ensemble de VM dans le cadre d’une migration (en effet Avamar est tout disposé pour la migration d’environnement et la mise en place de PRA, thèmes que j’aborderais dans d’autres billets).

Dans un premier temps, il vous faudra créer un fichier dans lequel vous listerez les noms des clients concernés, un par ligne, de la forme.

Puis vous exécuterez la ligne suivante :

for clients in $(cat CLIENTS.txt); do printf "$clients : "; mccli backup show --name=/VOTRE-DOMAINE/VirtualMachines/$clients | awk 'NR==4 {print $0}'; done

Ce qui produira le résultat suivant :

CLIENT1 : 2013-04-05 20:00:00 CEST 25 21544820736 D
CLIENT2 : 2013-04-05 20:00:00 CEST 25 21535809536 D
CLIENT3 : 2013-04-05 20:00:00 CEST 25 21540403200 D
CLIENT4 : 2013-04-05 20:00:00 CEST 25 21566048256 D
CLIENT5 : 2013-04-05 20:00:00 CEST 25 21546436608 D

Les champs étant : Le nom du client, la date et l’heure du backup, le numéro de label (numéro de sauvegarde), la taille du backup en octets et la rétention (D, DW, DWMY).

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

Avamar – VMware : L’intérêt du CBT (Changed Block Tracking)

Le billet de ce jour porte sur l’intérêt de la mise en place du mécanisme CBT pour la sauvegarde Avamar en mode VM Image et montrer en quoi cela peut accélérer d’un facteur 10 les sauvegardes et restorations (ou restauration en bon français).

CBT

Le Changed Block Tracking est un mécanisme crée par VMware ayant pour but d’optimiser les sauvegardes incrémentales.

Avec cette fonctionnalité les machines virtuelles sont capables de tracker les secteurs disques qui ont été modifiés (dans leur VMDK).

Les modifications de secteurs disques virtuels sont trackés en dehors de la VM, par l’hôte. Quand une application exécute un backup, cette dernière peut demander à l’hyperviseur de lui fournir uniquement les blocs modifiés depuis le dernier backup ainsi que les blocs en cours de modification.

La fonctionnalité CBT peut être accédée par les applications tierces via les APIs « vSphere APIs for Data Protection » (VADP). L’application fait des appels VADP pour demander au VMkernel de retourner les blocs de données présent dans les VMDK qui ont été modifié depuis le dernier snapshot de backup.

Mise en place côté VMware ESXi

Pré-requis : Pour activer cette fonctionnalité, il faut absolument être VM Hardware 7, la version 4 ne proposant pas ce mécanisme. Cette upgrade de hardware virtuel nécessite un arrêt de la machine virtuelle et s’effectue via un simple clic droit sur la VM, une fois éteinte. De plus, les disques doivent être de type autre que RDM (Raw Device Mapping) et ne doivent pas être partagés entre VMs.

Activation du mode CBT proprement dit

Clic droit sur la VM éteinte, « Edit Settings », onglet « options », menu « Advanced », sous-menu « General », bouton (à droite) « Configuration Parameters » et ajouter la première ligne et autant de seconde ligne que vous avez de disques virtuels, en fonction du node SCSI du disque :

ctkEnabled    true
scsi0:0.ctkEnabled    true

Une fois modifié, vous pouvez démarrer la VM.

Activation côté EMC Avamar

Côté Avamar, il faut éditer vos clients (VM Image toujours) :

Menu « Policy » :

Onglet « Clients », sélectionnez votre VM et cliquez sur le bouton « Edit » :

Sélectionnez l’onglet « VMware » et cochez la case « Enable changing block tracking » :

Il est possible d’activer le CBT sur l’ensemble des clients via une commande en MCCLI que je vous détaillerais dans un prochain billet.