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

Avamar: sudo ile kök kullanıcı olmadan Linux VMware Dosya Düzeyinde geri yükleme işlemini gerçekleştirme

Résumé: Avamar FLR Sudo

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes



Avamar FLR hakkında genel bilgiler:
Avamar'ın Dosya düzeyinde geri yükleme işlemi, sanal makine görüntüsü yedeklemesinden bir veya daha fazla konuk dosyayı geri yüklemek için kullanılabilen aracısız bir kurtarma çözümüdür. Dosya düzeyinde geri yüklemeyi kolaylaştırmak için kullanılan mekanizma, VMware araçları ve vSphere API konuk işlemi işlevleridir. Sanal makine görüntü yedeklemesi, göz atma sırasında sanal diski (.vmdk) Avamar proxy'sine bağlar. Geri yüklenecek dosyalar seçildikten sonra aktarım dosyası proxy'den hedef sanal makineye kopyalanır.

FLR için zorunlu gereksinimler:
  1. Hedef sanal makine açık olmalıdır.
  2. Hedef sanal makinede VMware araçlarının yüklü ve geri yükleme işlemleri sırasında hizmetin çalışır durumda olması gerekir. 
  3. Avamar yöneticisi veya Avamar yedekleme/geri yükleme işlemi/kullanıcısı, hedef konuk üzerinde geçerli kimlik bilgilerine sahip olmalıdır (VMware konuk işlemleri SDK'sı gereksinimi). Ayrıca bu kimlik bilgileri dosya düzeyinde geri yükleme işlemlerinin başlangıcında girilmelidir.
  4. Hedef konuk kullanıcının konum yazma ayrıcalıklarına sahip olması gerekir. Aksi takdirde işlem gerçekleştirilemez. Windows sanal makinelerinde geri yükleme sanal makine kullanıcısı UAC yükseltmesi olmadan yazma erişimine sahip olmalıdır. Linux sanal makinelerinde geri yükleme sanal makinesi sudo olmadan yazabilmelidir. 
FLR için isteğe bağlı gereksinimler: Daha hızlı HTTPS aktarma yöntemi için gereklidir. 
  1. Hedef sanal makinelerin, proxy sanal makinelerine TCP 443 erişimi olmalıdır.
  2. Linux sanal makinelerinde, geri yükleme işleminden önce sanal makineye modern bir wget uygulaması yüklenmelidir.  
İşlem gereksinimleri karşılanmazsa iş gönderilmeden önce şu uyarılar görülür:

Hedef sanal makine proxy ile HTTPS bağlantısı kuramazsa:

kA23a000000GIVvCAO_3_0

Proxy'nin içinde: /usr/local/avamarclient/bin/logs/VSphereWebService.log, bkz. wget sıfır olmayan çıkış kodu

[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

Veya

wget olmayan Linux:

kA23a000000GIVvCAO_3_1

Proxy'nin içinde: /usr/local/avamarclient/bin/logs/VSphereWebService.log, bkz.:

[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>

Veya

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


FLR İsteğe Bağlı Özelliği: Restore Access Control List (ACL) [Erişim Denetleme Listesini (ACL) Geri Yükle]

Varsayılan olarak bu özellik etkin değildir.
Sonuç:
ACL özelliği olmadan (varsayılan):

Dosya Düzeyinde Geri Yükleme özelliğinden geri yüklenen tüm dosyalar, FLR işlemleri sırasında girilen sanal makine konuk kimlik bilgilerine ait olur ve önceki dosya izinleri ayarlanmaz.

ACL özelliği etkinken:
Kullanıcı geri yüklenen dosyalarda orijinal oluşturma dosyası sahipliği ve bu dosyalarda izinlerin ayarlanmış olmasını isterse bu isteğe bağlı özelliği etkinleştirmelidir.

kA23a000000GIVvCAO_3_2

Sonuç:
Geri yükleme işlemleri sırasında yeni dosyalar FLR sanal makine kullanıcıları olarak oluşturulur. Ancak bir geri yükleme işleminin sonunda ACL iş akışı çalışır ve sahiplik ile dosya iznini orijinal duruma geri ayarlar. 


Proxy'nin içinde: /usr/local/avamarclient/bin/logs/VSphereWebService.log, bkz.:

[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

Ubuntu veya Photon OS gibi bazı Linux dağıtımlarında, işletim sistemi kök kullanıcıları varsayılan olarak ayarlanmaz veya yapılandırılmaz. Bunun yerine, Linux yöneticileri yükseltme işlemlerini çalıştırmak için sudo komutunu kullanır.  

Ancak VMware araçları ve VMware SDK nedeniyle VMware araçları için çoğu işlemin (VM_LoginInGuest, CopyFileFromHostToGuest ve ListFilesInGuest) sudo komutunu yürütmesi mümkün değildir. 

Geri yükleme işlemleri normal bir kullanıcıyla yapıldığında yetersiz hedef konuk ayrıcalıkları nedeniyle işlem gerçekleştirilemeyebilir.

Résolution

Linux kök kullanıcısının devre dışı bırakıldığı, yapılandırılmadığı veya güvenlik endişeleri nedeniyle paylaşılamadığı ortamlar için şu çözüm adımlarını göz önünde bulundurun:

1. Seçenek. Kök olmayan kullanıcı olarak alternatif bir konuma geri yüklemek. 
Örnek:
Kaynak dosya:  /root/test (kısıtlı klasör/dosya)
Hedef dosya:  /home/flruser/ (kısıtlı olmayan konum)
VM Konuk oluşturma işlemleri:  "flruser"

Sonuç:
FLR göz atması sırasında sanal diskler Avamar proxy'sine bağlanır ve kullanıcı arayüzünde gösterilir. Bu bölüm tüm klasörleri ve dosyaları içerir. /root klasörünü bulup file1.txt belgesini, ardından "Restore everything to a different location" (Her şeyi farklı bir konuma geri yükleyin) öğesini seçin ve Absolution Destination (Mutlak Hedef) olarak /home/flruser/ konumunu bulun ya da yazarak girin.

kA23a000000GIVvCAO_2_0

Sonuç:
root/test dosyası /home/flruser/test konumuna geri yüklenir
Dosyanın FLR konuk kullanıcı iznine sahip olacağını unutmayın. 

2. Seçenek. Sudo özelliğini kullanarak Restore ACL (ACL'yi geri yükle) seçeneğiyle alternatif konuma geri yüklemek. 
Avamar 18.2'de proxy düzeltmesi 318791'i (veya daha yenisini) yükleyin
Avamar 19.2'de proxy düzeltmesi 318791'yi (veya daha yenisini) yükleyin


Bu düzeltmeler, varsayılan olarak devre dışı olan yeni "enablesudouserrestore" özelliğini ekler.

sudo özelliğini etkinleştirme talimatı:
Avamar proxy'de:
  1. Proxy'de yukarıda belirtilen düzeltmeyi yükleyin
  2. /usr/local/avamarclient/bin/config.xml dosyasını düzenleyin, dosyada (<enablesudouserrestore>1</enablesudouserrestore>) satırını ekleyin/düzenleyin
  3. Şu komutla FLR'yi yeniden başlatın: service vmwareflr restart
FLR özelliğinin açık olacağı her Linux sanal makinesinde:
  1. Özel bir FLR kullanıcısı oluşturun:  example flruser (örnek flruser).  Ekstra güvenlik için kabuk bu hesapta devre dışı bırakılabilir
  2. /usr/local/avamarclient/bin/RestoreAcl ikili öğesini /usr/bin/RestoreACL sabit konumunu kullanarak Avamar proxy'sinden hedef sanal makineye kopyalayın ve chmod ile izni 755 olarak ayarlayın
örnek:
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. /etc/sudoers dosyasında, 1. adımdaki FLR kullanıcısına parolasız şekilde RestoreACL ikili öğesini yürütme izni verecek şekilde değişiklik yapın. 
örnek
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Not: sudoers requiretty ayarı etkinse ("Defaults requiretty" satırı dosyada varsa) şu satır da olmalıdır:  
Defaults!/usr/bin/RestoreAcl !requiretty


3. Seçenek: ACL ile sudo wget yöntemini kullanarak orijinal konuma geri yüklemek. 

Not: 

  • Bu seçenek yalnızca, isteğe bağlı ağ HTTPS kullanılabildiğinde ve geri yükleme seçimi 5 MB'tan büyük olduğunda veya 10 adetten fazla dosya seçildiğinde kullanılabilir.
  • Kısıtlı klasör konumu olan canlı hedef sanal makine konumlarına Avamar GUI'yi kullanarak göz atamayabilirsiniz. Ancak konumu doğrudan "Absolution Destination" (Mutlak Hedef) öğesine yazmak işe yarayacaktır. 
  1. ACL geri yüklemesini etkinleştirmek için proxy'de 2. Seçenek'teki adımları uygulayın.
  2. Avamar proxy'sinde /usr/local/avamarclient/bin/wget_linux_script.template dosyasını düzenleyin 
Önce:
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

Sonra:
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. Şu komutla FLR'yi yeniden başlatın: service vmwareflr restart
  2. FLR orijinal konuma geri yüklemenin kullanılacağı her Linux sanal makinesinde, /etc/sudoers dosyasında değişiklik yaparak 1. adımdaki FLR kullanıcısına parolasız şekilde wget binary ikili öğesini yürütme izni verin. 
Örnek:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Not: sudoers requiretty ayarı etkinse ("Defaults requiretty" satırı dosyada varsa) şu satırlar da olmalıdır:
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.