Tags

mardi 11 février 2014

Utilisation des "Custom Attributes" pour VMware sous NetBackup

Depuis NetBackup 7.5 et vSphere 5, il est possible de mettre en place des attributs personnalisés sous le vCenter, et qui seront utilisés par NetBackup dans les requêtes au vCenter, pour savoir ce qui est à sauvegarder.

L'idée est par exemple, de mettre une variable "Backup_Day" sur chaque VM, pour savoir quelle jours de la semaine elle sera sauvegardée, ou alors "Backup_SLA" pour savoir si on la sauvegarde tous les jours ou 2x par jour, etc...

Pour les utiliser, il faut :

  1. Créer un "custom attribute" dans le vCenter, en allant dans Administration > Custom Attribute, et là, créer un nouvel attribut au nom de son choix, et qui doit être au niveau "Virtual Machine"
  2. Se rendre sous NetBackup, faire rafraîchir la liste des VM pour récupérer les informations relatives à ces attributs
  3. Définir une requête dans une police VMware, qui utilisera l'attribut créé, qui sera présenté entre crochets : [MonAttribut]

A noter : l'ensemble des fichiers récupérant les infos des custom attributes se trouvent dans /usr/openv/netbackup/online_util/fi_cntl, et ont pour nom <nom du vcenter>_ca.xml. Ça peut toujours servir (voir si il a été rafraîchit, si les attributs créés y figurent bien, etc.)
Il est possible de les supprimer (renommer c'est bien aussi, et ça laisse une chance en cas de souci ;-) ) pour forcer le rafraîchissement.

Certaines sauvegardes VMware se terminent en code 156...

Problème du jour, identifié avec pas mal de chance, et qui peut vous poser des soucis également, alors je partage l'info.

Le problème était le suivant : sur une infra NetBackup classique, NetBackup en 7.5.0.6, sauvegarde sur bande, j'avais des sauvegardes VMware configurées quelques mois plus tôt et qui se déroulaient très bien. Mais depuis quelques temps, certaines VMs n'étaient plus sauvegardées, toute tombaient en code 156.

Pour rappel, le code 156 est une erreur de snapshot, indispensable à toute sauvegarde de VM. J'ai commencé, comme toujours dans ce cas, à valider la possibilité le faire des snapshots coté VMware, tout était ok.

D'ailleurs, je me suis aperçu que même les demandes de snapshots par NetBackup échouaient avant même de provoquer la prise d'image coté vCenter.

Dans les logs NetBackup bpfis sur le media serveur, des erreurs basiques et pas trop parlantes, comme dans le job de sauvegarde lui même :
10 févr. 2014 21:00:00 - Info nbjm (pid=2577) starting backup job (jobid=100723) for client <Client>, policy VMware_Prod, schedule Incr
10 févr. 2014 21:00:00 - Info nbjm (pid=2577) requesting STANDARD_RESOURCE resources from RB for backup job (jobid=100723, request id:{EC849602-928D-11E3-84A2-0E6ECE4CEAEC})
10 févr. 2014 21:00:00 - requesting resource LB_Montpeliier_EML
10 févr. 2014 21:00:00 - requesting resource backup.NBU_CLIENT.MAXJOBS.<Client>
10 févr. 2014 21:00:00 - requesting resource backup.NBU_POLICY.MAXJOBS.VMware_Prod
10 févr. 2014 21:00:14 - awaiting resource <STU Group>. Waiting for resources.
Reason: Drives are in use, Media server: <Media Server>,
Robot Type(Number): TLD(0), Media ID: N/A, Drive Name: N/A,
Volume Pool: VMware_Day, Storage Unit: <Storage Unit>, Drive Scan Host: N/A,
Disk Pool: N/A, Disk Volume: N/A
10 févr. 2014 21:03:58 - granted resource backup.NBU_CLIENT.MAXJOBS.<Client>
10 févr. 2014 21:03:58 - granted resource backup.NBU_POLICY.MAXJOBS.VMware_Prod
10 févr. 2014 21:03:58 - granted resource 008109
10 févr. 2014 21:03:58 - granted resource HP.ULTRIUM4-SCSI.002
10 févr. 2014 21:03:58 - granted resource <Storage Unit>
10 févr. 2014 21:03:58 - estimated 0 kbytes needed
10 févr. 2014 21:03:58 - begin Parent Job
10 févr. 2014 21:03:58 - begin VMware: Start Notify Script
10 févr. 2014 21:03:58 - Info RUNCMD (pid=21091) started
10 févr. 2014 21:03:58 - Info RUNCMD (pid=21091) exiting with status: 0
Operation Status: 0
10 févr. 2014 21:03:58 - begin VMware: Step By Condition
Operation Status: 0
10 févr. 2014 21:03:58 - end VMware: Step By Condition; elapsed time 0:00:00
10 févr. 2014 21:03:58 - begin VMware: Read File List
Operation Status: 0
10 févr. 2014 21:03:58 - end VMware: Read File List; elapsed time 0:00:00
10 févr. 2014 21:03:58 - begin VMware: Create Snapshot
10 févr. 2014 21:03:58 - started process bpbrm (pid=3048)
10 févr. 2014 21:04:02 - end writing
Operation Status: 156
10 févr. 2014 21:04:02 - end VMware: Create Snapshot; elapsed time 0:00:04
10 févr. 2014 21:04:02 - begin VMware: Stop On Error
Operation Status: 0
10 févr. 2014 21:04:02 - end VMware: Stop On Error; elapsed time 0:00:00
10 févr. 2014 21:04:02 - begin VMware: Delete Snapshot
10 févr. 2014 21:04:02 - started process bpbrm (pid=3136)
10 févr. 2014 21:04:03 - end writing
Operation Status: 1542
10 févr. 2014 21:04:03 - end VMware: Delete Snapshot; elapsed time 0:00:01
Operation Status: 156
10 févr. 2014 21:04:14 - Info bpbrm (pid=3048) <Client> is the host to backup data from
10 févr. 2014 21:04:14 - Info bpbrm (pid=3048) reading file list from client
10 févr. 2014 21:04:14 - Info bpbrm (pid=3048) start bpfis on client
10 févr. 2014 21:04:14 - Info bpbrm (pid=3048) Starting create snapshot processing
10 févr. 2014 21:04:15 - Info bpfis (pid=4068) Backup started
10 févr. 2014 21:04:15 - snapshot backup of client <Client> using method VMware_v2
10 févr. 2014 21:04:17 - Critical bpbrm (pid=3048) from client <Client>: FTL - VMware snapshot failed: Unrecognized error
10 févr. 2014 21:04:17 - Critical bpbrm (pid=3048) from client <Client>: FTL - snapshot processing failed, status 156
10 févr. 2014 21:04:17 - Critical bpbrm (pid=3048) from client <Client>: FTL - snapshot creation failed, status 156
10 févr. 2014 21:04:17 - Warning bpbrm (pid=3048) from client <Client>: WRN - ALL_LOCAL_DRIVES is not frozen
10 févr. 2014 21:04:17 - Info bpfis (pid=4068) done. status: 156
10 févr. 2014 21:04:17 - end VMware: Start Notify Script; elapsed time 0:00:19
10 févr. 2014 21:04:17 - Info bpfis (pid=0) done. status: 156: snapshot error encountered
10 févr. 2014 21:04:18 - Info bpbrm (pid=3136) Starting delete snapshot processing
10 févr. 2014 21:04:18 - Info bpfis (pid=0) Snapshot will not be deleted
10 févr. 2014 21:04:19 - Info bpfis (pid=3624) Backup started
10 févr. 2014 21:04:19 - Critical bpbrm (pid=3136) from client SLPPRAPP01: cannot open C:\Program Files\Veritas\NetBackup\online_util\fi_cntl\bpfis.fim.<Client>_1392062638.1.0
10 févr. 2014 21:04:19 - Info bpfis (pid=3624) done. status: 1542
10 févr. 2014 21:04:19 - end Parent Job; elapsed time 0:00:21
10 févr. 2014 21:04:19 - Info bpfis (pid=0) done. status: 1542: An existing snapshot is no longer valid and cannot be mounted for subsequent operations
snapshot error encountered (156)
J'ai cherché pas mal sans trouver trop de piste, puis en analysant coté vCenter les VMs impactées, je me suis rendu compte que 80% d'entre elles avaient des caractères accentués dans le display name. Ca se réchauffait.
J'ai cherché davantage pour trouver un point commun à toutes, et ça s'est avéré fructueux : toutes ces VMs avaient été créées avec un display name contenant des accents, ce qui a provoqué la création des vmdk dans des répertoires à nom accentués. Les machines sans accents dans le display name avaient juste été renommées par la suite, mais leur arborescence était restée intacte, provoquant également l'erreur.

Le plus simple pour solutionner cela, est de cloner les VMs à problème vers des VMs 'propres', mais cela nécessite une interruption de service.

Alors à l'avenir : pas de backup-host en français, ni de noms de VMs avec des accents (par contre, les caractères internationaux comme &# et autres fonctionnent bien)

mardi 17 décembre 2013

NetBackup 7.5.0.7, le patch surprise


La veille de la sortie officielle de NetBackup 7.6, Symantec nous sert sur un plateau un patch pour la version 7.5, la 7.5.0.7.

Comme d'habitude, on a le droit à (quelques) prises en compte de nouvelles versions d'application (VDDK 5.1), mais surtout des correctifs.



Attention cependant, la release note prévient que la mise à jour n'est pas recommandé pour les personnes qui comptent migrer en 7.6 dans la première partie de l'année 2014, donc ne vous jetez pas trop vite dans une mise à jour.

Vous trouverez la relase note ici : Lien
Les téléchargements ici : Lien

mardi 2 juillet 2013

NetBackup remonte régulièrement,sur tous les clients, des codes 48 : client hostname could not be found

J'ai, il y a peu, migré un serveur de sauvegarde NetBackup Linux via une copie du /usr/openv (c'est pas la méthode la plus jolie ni la plus recommandée, mais j'ai plein de bonnes raisons pour avoir utilisé ce procédé, que je ne donnerai pas ici).

Bref, j'ai installé NetBackup, vidé mon /usr/openv local, puis copié le /usr/openv du serveur d'origine (qui comportait le même nom évidemment). J'ai redémarrée NetBackup, et tout fonctionnait... Presque...

Les tests de sauvegardes local au master étaient concluants, mais quand je me suis rendu dans l'interface NetBackup, dans la partie Host Properties > Clients, chacun des clients me retournait un code 48 (client hostname could not be found).

Pour y remédier, j'ai purgé le host cache NetBackup (qui existe depuis la 7.0) via la commande bpclntcmd -clear_host_cache puis tenté de contacter chacun des clients via la commande bptestbpcd -host <client>. Tous répondaient et étaient opérationnels.

Mais voilà, pendant la nuit, les clients qui étaient pourtant disponibles, sont devenus injoignables avec un code 48 (encore). Un revidage du cache a réglé le souci, mais là encore c'était temporaire.

Des sauvegardes étant en cours, je n'ai pas pu arrêter NetBackup. J'ai donc supprimé à chaud les entrées présentes dans le répertoire /usr/openv/var/host_cache (c'est encore plus radical que le bpclntcmd -clear_host_cache). Ca a permis d'accéder au clients, mais contre toute attente, les codes 48 sont réapparus plus tard dans la nuit.

Mon salut est venu de la même opération, mais NetBackup arrêté, a croire qu'il existe une version du cache en RAM qui est régulièrement flushé sur disque. Le fait est qu'en vidant ce répertoire à froid, tout est rentré dans l'ordre... ouf.

Sauvegarde VMware via SAN en code 6 sous NetBackup

Je rencontre à nouveau le cas aujourd'hui, et je me rappelle avoir passé énormément de temps sur ce problème de fou (ou considéré comme tel) lors de ma première expérience. Donc je me suis dit qu'il était intéressant que je le rapporte ici.

Problème
Le souci est le suivant : vous configurez la sauvegarde VMware de manière classique, via l'agent dédié NetBackup.
Lors de votre test en sauvegarde réseau (nbd), tout se passe très bien, mais dès que vous activez le mode SAN (san), votre job de sauvegarde se plante en code 6 (mais avec le message "ERR - Error opening the snapshot disks using given transport mode: Status 23" dans la log ou alors bascule sur le mode LAN (si jamais vous avez autorisé les 2 modes).

Ce problème est répertorié dans cette Technote Symantec. Il ne se produit que si l'OS windows 2008 de votre Backup Host est en français (je sais c'est rare mais certaines société utilisent ce langage - C'est MAL, je le rappelle). Il est possible que ça arrive pour d'autres versions de Windows, je n'ai pas eu l'occasion de tester.

La raison est simple, L'API va vouloir utiliser un montage sur C:\Windows\TEMP\vmware-Système\, et avec l'accent, ça passe (très) mal. En anglais, cet accent n'existe pas et votre montage de snapshot va se dérouler sans le moindre problème.

Solution
Il existe un contournement :

  • Editer (ou créer) le fichier C:\Program Files\Common Files\VERITAS\VxMS\Shared\VDDK\bin\vixDiskLib.ini, puis y ajouter la ligne suivante : tmpDirectory = "<temp path>", ou <temp_path> est le chemin où seront montés les snapshots de VM (sans y mettre des accents évidemment).
  • Editer si besoin l'utilisateur renseigné dans les crédentials pour accéder au vCenter, pour que ce dernier n'utilise pas de caractères accentués.
Attention : en migrant de version NetBackup, le  fichier vixDiskLib.ini sera supprimé/écrasé, il faudra donc le recréer.

mardi 25 juin 2013

Il est né le divin patch : NetBackup 7.5.0.6

On l'attendait comme le messie, on n'y croyait plus, on ne l'espérait plus, et finalement, il est là, le patch NetBackup qui va nous permettre de sauvegarder Windows 2012, le 7.5.0.6

Ce qu'il apporte :

On notera dans ce patch, les améliorations/fonctionnalités suivantes :

  • Support Windows 8 et 2012
    • Il y a des limitations importantes :
      • Client seulement
      • Pas de BMR (client et/ou boot server)
      • Pas de dédup à la source
      • Remote VSS non supporté (nouveauté Win2012)
      • Sauvegarde des NTFS dédupliqués via réhydratation
      • Pas utilisable pour VMware Backup Host
      • Restauration granulaire fichiers de VMs Hyper-V impossible si :
        • Les fichiers sont sur ReFS
        • Les VMs sont composées de vhdx
      • Pas de console d'admin NetBackup (Java et console lourde)
    • Attention : un package particulier est nécessaire
  • Support des nouvelles versions de bases de données
    • SAP HANA
    • DB2 10.1
    • SQL Server 2012 (pas marqué dans la release note mais dans la compatibility list)
    • Exchange 2013
      • Sans GRT ni Backup Host
    • Exchange 2010 R2 sur Win 2008R2 et Win2012
    • SharePoint 2013 
      • Sans GRT
  • Support Hyper-V 2012
  • Sauvegarde Exchange : les droits changent, et on peut se passer des droits admin (Exchange 2010 et 2013)
  • Amélioration du schedule des jobs de réplication AIR pour limiter l'impact sur les sauvegardes en cours
  •  Nouvelle méthode de recherche par date dans l'interface BAR

Compatibilité

Comme pour les patches précédents, ce patch peut être installé sur un client alors que le media et le master ne sont pas encore à ce niveau (pratique pour Win2012), car le 4ème digit n'entre pas en ligne de compte dans la règle du master supérieur ou égal au média lui même supérieur ou égal au client.
Pour plus de détail, voir page 15 de la release note.

Téléchargement

Vous trouverez tous les packages ici : Lien


mardi 14 mai 2013

Erreur de sauvegarde NetBackup avec client StorNext

StorNext est un produit Quantum qui permet de mettre à disposition un file-system d'archivage. Les données placées sur ce FS sont mises sur bandes si elles ne sont pas accédées sur le long terme.

Les serveurs qui doivent utiliser ce FS doivent avoir un client installé, et qui va permettre de visualiser ces disques comme des disques classiques Windows (sans pour autant apparaître dans le gestionnaire de disques de Windows)

Quand NetBackup va tenter de sauvegarder le serveur, il se peut que le job tombe en erreur 50, et si on creuse dans les logs du job, on trouvera aussi une erreur 69 (et cela même en excluant les disques StorNext via l'exclude-list)

Dans les logs du bpbkar, on trouve alors :

2:57:09.972 PM: [7308.2292] <2> ov_log::V_GlobalLog: INF - ERROR: Disc \\?\Volume{30b5576f-554f-4ac1-a102-4b837327cfcf}\ is greater than defined threshold of 63 TB
2:57:09.988 PM: [7308.2292] <2> ov_log::V_GlobalLog: INF - EXIT VssSnapshotVolume::CheckForUnsupportedDiscs() return=[0x8004230c VSS_E_VOLUME_NOT_SUPPORTED]! 
2:57:10.004 PM: [7308.2292] <2> ov_log::V_GlobalLog: INF - EXIT VssSnapshotVolume::Initialize() return=[0x8004230c VSS_E_VOLUME_NOT_SUPPORTED]!

On constate que NetBackup ne veut pas sauvegarder un volume supérieur à 63To. Ce qui est étonnant, c'est que l'exclusion du disque n'y change rien : dans les logs ci dessous, je ne demandais qu'une sauvegarde du System_State:\, et non une sauvegarde de disques. Pourtant, les disques StorNext causaient l'échec de la sauvegarde car cette vérification de taille maximum est faite en préambule de toute sauvegarde par le client NetBackup.

On  a alors 2 solutions :
  • une "moche" : démonter les disques StorNext avant la sauvegarde (via un bpstart_notify par exemple), puis les remonter en fin de sauvegarde
  • une "jolie" : Aller modifier la clé de registre (ou la créer) HKLM\SOFTWARE\Veritas\NetBackup\BEDS\Engine\Misc\BescLargeDiscBlock en y mettant une valeur supérieure à la taille de disque max présente (en octets !). Puis relancer les services.
Voilà, le tour est joué.

Rechercher dans ce blog