Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Avamar : Comment effectuer une restauration en mode fichier VMware sous Linux sans utilisateur root à l’aide de sudo

Résumé: Commande sudo FLR d’Avamar

Cet article concerne   Cet article ne concerne pas 

Symptômes



Contexte d’utilisation de la fonction FLR d’Avamar :
La fonction de restauration en mode fichier (FLR) d’Avamar est une solution de restauration sans agent qui peut être utilisée pour restaurer un ou plusieurs fichiers invités à partir de la sauvegarde d’une image de machine virtuelle. Pour faciliter la restauration en mode fichier, on utilise VMware Tools et l’API vSphere guest operation.functions. La sauvegarde d’image de machine virtuelle monte le disque virtuel (.vmdk) sur le proxy Avamar lors de la navigation. Une fois les fichiers sélectionnés pour la restauration, ils sont copiés sous forme de fichier de transfert du proxy vers la machine virtuelle cible.

Conditions préalables obligatoires pour la restauration FLR :
  1. La machine virtuelle cible doit être sous tension.
  2. VMware Tools doit être installé sur la machine virtuelle cible et le service doit être en cours d’exécution lors des opérations de restauration. 
  3. L’administrateur Avamar ou l’utilisateur de l’opération de sauvegarde/restauration Avamar doit disposer d’informations d’identification valides sur l’invité cible (conditions requises par le SDK des opérations invitées VMware) et ces informations d’identification doivent être saisies au début des opérations de restauration en mode fichier.
  4. L’utilisateur invité cible doit disposer de privilèges sur l’emplacement d’écriture ; dans le cas contraire, l’opération échouera. Dans le cas d’une machine virtuelle Windows, l’utilisateur de la VM de restauration doit également disposer de privilèges d’écriture sans élévation UAC. Dans le cas de machines virtuelles Linux, la VM de restauration doit être en mesure d’écrire sans commande sudo. 
Conditions préalables facultatives pour la restauration FLR : applicables à la méthode de transfert accéléré via HTTPS. 
  1. Les machines virtuelles cibles doivent disposer d’un accès TCP 443 aux machines virtuelles proxy.
  2. Pour les machines virtuelles Linux, une application wget moderne doit être installée dans la machine virtuelle avant l’opération de restauration.  
Si les exigences opérationnelles ne sont pas respectées, les avertissements suivants s’affichent avant la soumission de la tâche :

Si la machine virtuelle cible ne peut pas établir de connexion HTTPS au proxy :

kA23a000000GIVvCAO_3_0

Au niveau du proxy : /usr/local/avamarclient/bin/logs/VSphereWebService.log, examinez les lignes suivantes : wget non zero exit code

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test

[VWS - FUNC]  2020/02/24 15:56:2 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/02/24 15:56:2 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN]  2020/02/24 15:56:2 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/02/24 15:56:2  TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 4

Ou
  
Linux sans wget :

kA23a000000GIVvCAO_3_1

Au niveau du proxy : /usr/local/avamarclient/bin/logs/VSphereWebService.log, examinez les lignes suivantes :

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - ERROR] 2020/02/24 15:56:20 TID=140363826202979 MID=398068: StartProgramInGuest Error: SOAP 1.1 fault: "":ServerFaultCode [no subcode]
"File /usr/bin/wget was not found"
Detail: <FileNotFoundFault xmlns="urn:vim25" xsi:type="FileNotFound"><file>/usr/bin/wget</file></FileNotFoundFault>

ou

[VWS - DEBUG] 2020/02/24 15:34:22 TID=2397 MID=395783: StartProgramInGuest Succeeded. Ret: 1


Fonctionnalité en option de la restauration FLR : Restore Access Control List (ACL) 

Par défaut, cette fonction n’est pas activée.
Résultat :
Sans fonction ACL (valeur par défaut) :

Tous les fichiers restaurés à partir de la fonction de restauration en mode fichier (fonction FLR) seront associés aux informations d’identification de VM invitée qui ont été saisies par l’utilisateur lors des opérations FLR ; les autorisations de fichiers précédentes ne seront pas définies.

Si la fonction ACL est activée :
Si l’utilisateur souhaite que les fichiers restaurés aient la propriété et les autorisations du fichier de création d’origine qui ont été définies sur les fichiers restaurés, il doit activer cette fonctionnalité en option.

kA23a000000GIVvCAO_3_2

Résultat :
Au cours des opérations de restauration, les nouveaux fichiers sont créés en tant qu’utilisateurs de VM FLR, mais à la fin d’une restauration, le flux de travail ACL s’exécute et rétablit la propriété et l’autorisation de fichier à leur état d’origine. 


Au niveau du proxy : /usr/local/avamarclient/bin/logs/VSphereWebService.log, examinez les lignes suivantes :

[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254066: VirtualMachineWs::ExecuteRestoreAcl ENTER
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254067: VirtualMachineWs::ExecuteRestoreAcl RestoreAcl Input file created
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254068: VirtualMachineWs::ExecuteRestoreAcl Input File transfer /usr/local/avamarclient/bin/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml
[VWS - FUNC] 2020/03/03 03:42:32 TID=140664473914958 MID=254140: VirtualMachineWs::ExecuteRestoreAcl Exe File transfer /usr/local/avamarclient/bin/RestoreAcl to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe
[VWS - DEBUG] 2020/03/03 03:42:40 TID=3662 MID=254349: sGuestExeFullFilename = /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml 0001
[VWS - FUNC] 2020/03/03 03:42:42 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/03/03 03:42:42 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN] 2020/03/03 03:42:47 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/03/03 03:42:47 TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 0
[VWS - FUNC] 2020/03/03 03:42:47 TID=140664473914958 MID=254519: VirtualMachineWs::ExecuteRestoreAcl LEAVE

Cause

Dans certaines distributions de Linux (système d’exploitation Ubuntu ou Photon), l’utilisateur root du système d’exploitation n’est pas défini ou configuré par défaut. Les administrateurs Linux doivent alors utiliser la commande sudo pour exécuter des opérations d’élévation de privilèges.  

Toutefois, en raison d’une restriction liée à VMware Tools et au SDK VMware, VMware Tools ne peut pas utiliser la commande sudo pour la plupart des opérations (VM_LoginInGuest, CopyFileFromHostToGuest et ListFilesInGuest). 

Lorsque les opérations de restauration sont exécutées par un utilisateur normal, l’opération risque d’échouer faute de privilèges d’invité cible suffisants.

Résolution

Pour les environnements dans lesquels l’utilisateur Linux est désactivé, n’est pas configuré ou, pour des raisons de sécurité, ne peut être partagé, envisagez la procédure de résolution suivante :

Option 1. Restauration vers un autre emplacement en tant qu’utilisateur non-root. 
Exemple :
Fichier source :  /root/test  (dossier/fichier restreint)
Fichier de destination :  /home/flruser/ (emplacement non restreint) 
Créations d’invités de machines virtuelles :  "flruser"  

Résultat :
Lors de la navigation pour la restauration en mode fichier (FLR), les disques virtuels sont montés sur le proxy Avamar et s’affichent dans l’interface utilisateur. Cela comprend tous les dossiers et fichiers. Dans le dossier/root, recherchez et sélectionnez le fichier file1.txt, puis choisissez Restore everything to a different location. Recherchez ensuite /home/flruser/ ou saisissez ce chemin en tant que Absolute Destination.

kA23a000000GIVvCAO_2_0

Résultat :
Le fichier root/test est restauré sous /home/flruser/test 
Remarque : le fichier disposera de l’autorisation d’accès des utilisateurs invités FLR. 

Option 2. Restauration vers un autre emplacement avec l’option Restore ACL à l’aide de la fonction sudo. 
Dans Avamar 18.2, installez le correctif proxy 318791 (ou version ultérieure)
Dans Avamar 19.2, installez le correctif 318791 (ou version ultérieure)


Ces correctifs ajoutent une nouvelle fonction appelée « enablesudouserrestore », qui est désactivée par défaut.

Instructions à suivre pour activer la fonction sudo :
Sur un proxy Avamar :
  1. Sur le proxy, installez le correctif ci-dessus
  2. Modifiez le fichier /usr/local/avamarclient/bin/config.xml, ajoutez/modifiez la ligne (<enablesudouserrestore >1</enablesudouserrestore>) dans le fichier
  3. Redémarrez le service FLR à l’aide de la commande : service vmwareflr restart
Sur chaque machine virtuelle Linux sur laquelle la fonction FLR est activée :
  1. Créez un utilisateur FLR dédié :  par exemple, flruser.  Pour une sécurité optimale, le shell peut être désactivé pour ce compte.
  2. Copiez le fichier binaire /usr/local/avamarclient/bin/restoreAcl du proxy Avamar vers la machine virtuelle cible en utilisant l’emplacement fixe /usr/bin/RestoreACL, puis définissez l’autorisation sur 755 à l’aide de la commande chmod
exemple :
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. Modifiez /etc/sudoers pour autoriser l’utilisateur FLR de l’étape 1 à exécuter le fichier binaire RestoreACL sans mot de passe. 
exemple
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Remarque : Si le paramètre sudoers requiretty est activé (si la ligne « Defaults requiretty » est présente dans le fichier), nous avons également besoin de cette ligne.  
Defaults!/usr/bin/RestoreAcl !requiretty


Option 3 : Restauration à l’emplacement d’origine à l’aide de la méthode sudo wget avec ACL. 

Remarque : 

  • Cette option est disponible uniquement lorsque le protocole réseau HTTPS (facultatif) est disponible et lorsque plus de 5 Mo ou 10 fichiers sont sélectionnés pour la restauration.
  • L’utilisation de l’interface graphique d’Avamar pour parcourir les emplacements de machines virtuelles cibles dynamiques peut échouer dans le cas d’un emplacement de dossiers restreints, mais il est toujours possible de saisir explicitement la destination absolue (paramètre « Absolute Destination »). 
  1. Effectuez les étapes de l’option 2 sur le proxy pour activer la restauration ACL.
  2. Sur le proxy Avamar, modifiez /usr/local/avamarclient/bin/wget_linux_script.template 
Avant :
wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile

Après :
sudo wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile
  1. Redémarrez le service FLR à l’aide de la commande : service vmwareflr restart
  2. Sur chaque machine virtuelle Linux sur laquelle sera exécutée une restauration FLR à l’emplacement d’origine, modifiez /etc/sudoers pour permettre à l’utilisateur FLR de l’étape 1 d’exécuter le fichier binaire wget sans mot de passe. 
Exemple :
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Remarque : Si le paramètre sudoers requiretty est activé (si la ligne « Defaults requiretty » est présente dans le fichier), nous avons également besoin de ces lignes :
Defaults!/usr/bin/RestoreAcl !requiretty
Defaults!/usr/bin/wget !requiretty

Produits concernés

Avamar

Produits

Avamar, Avamar Client for VMware
Propriétés de l’article
Numéro d’article: 000081871
Type d’article: Solution
Dernière modification: 20 nov. 2020
Version:  2
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.
Propriétés de l’article
Numéro d’article: 000081871
Type d’article: Solution
Dernière modification: 20 nov. 2020
Version:  2
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.