Automatyzowanie instalacji usługi mobilności

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

W tym artykule opisano sposób automatyzowania instalacji i aktualizacji agenta usługi mobilności w usłudze Azure Site Recovery.

Podczas wdrażania usługi Site Recovery na potrzeby odzyskiwania po awarii lokalnych maszyn wirtualnych VMware i serwerów fizycznych na platformie Azure należy zainstalować agenta usługi mobilności na każdej maszynie, którą chcesz replikować. Usługa mobilności przechwytuje zapisy danych na maszynie i przekazuje je do serwera przetwarzania usługi Site Recovery na potrzeby replikacji. Usługę mobilności można wdrożyć na kilka sposobów:

  • Instalacja wypychana: pozwól usłudze Site Recovery zainstalować agenta usługa mobilności podczas włączania replikacji dla maszyny w witrynie Azure Portal.
  • Instalacja ręczna: zainstaluj usługa mobilności ręcznie na każdej maszynie. Dowiedz się więcej o instalacji wypychanej i ręcznej.
  • Wdrożenie automatyczne: automatyzuj instalację za pomocą narzędzi wdrażania oprogramowania, takich jak Program Microsoft Configuration Manager lub narzędzia innych firm, takie jak JetPatch. Dowiedz się więcej

Automatyczna instalacja i aktualizacja udostępnia rozwiązanie, jeśli:

  • Twoja organizacja nie zezwala na instalację wypychaną na chronionych serwerach.
  • Zasady firmy wymagają okresowego zmieniania haseł. Musisz określić hasło instalacji wypychanej.
  • Zasady zabezpieczeń nie zezwalają na dodawanie wyjątków zapory dla określonych maszyn.
  • Pracujesz jako dostawca usług hostingowych i nie chcesz podawać poświadczeń maszyny klienta potrzebnych do instalacji wypychanej za pomocą usługi Site Recovery.
  • Instalacje agentów należy skalować jednocześnie na wiele serwerów.
  • Chcesz zaplanować instalacje i uaktualnienia podczas planowanych okien obsługi.

Wymagania wstępne

Aby zautomatyzować instalację, potrzebne są następujące elementy:

Przygotowanie do wdrożenia automatycznego

W poniższej tabeli przedstawiono podsumowanie narzędzi i procesów automatyzowania wdrażania usługi mobilności.

Tool (Narzędzie dostępu do centrum danych) Szczegóły Instrukcje
Configuration Manager 1. Sprawdź, czy zostały spełnione powyższe wymagania wstępne .

2. Wdróż odzyskiwanie po awarii przez skonfigurowanie środowiska źródłowego, w tym pobranie pliku OVA w celu wdrożenia serwera konfiguracji usługi Site Recovery jako maszyny wirtualnej VMware przy użyciu szablonu OVF.

3. Serwer konfiguracji należy zarejestrować w usłudze Site Recovery, skonfigurować docelowe środowisko platformy Azure i skonfigurować zasady replikacji.

4. W przypadku wdrożenia zautomatyzowanej usługi mobilności należy utworzyć udział sieciowy zawierający hasło serwera konfiguracji i pliki instalacyjne usługi mobilności.

5. Należy utworzyć pakiet programu Configuration Manager zawierający instalację lub aktualizacje i przygotować się do wdrożenia usługi mobilności.

6. Następnie można włączyć replikację na platformie Azure dla maszyn, na których zainstalowano usługę mobilności.
Automatyzowanie za pomocą programu Configuration Manager
JetPatch 1. Sprawdź, czy zostały spełnione powyższe wymagania wstępne .

2. Wdróż odzyskiwanie po awarii, konfigurując środowisko źródłowe, w tym pobieranie i wdrażanie menedżera agenta JetPatch dla usługi Azure Site Recovery w środowisku usługi Site Recovery przy użyciu szablonu OVF.

3. Serwer konfiguracji należy zarejestrować w usłudze Site Recovery, skonfigurować docelowe środowisko platformy Azure i skonfigurować zasady replikacji.

4. W przypadku zautomatyzowanego wdrażania zainicjuj i ukończ konfigurację menedżera agentów JetPatch.

5. W narzędziu JetPatch można utworzyć zasady usługi Site Recovery w celu zautomatyzowania wdrażania i uaktualniania agenta usługi mobilności.

6. Następnie można włączyć replikację na platformie Azure dla maszyn, na których zainstalowano usługę mobilności.
Automatyzowanie za pomocą menedżera agenta JetPatch

Rozwiązywanie problemów z instalacją agenta w narzędziu JetPatch

Automatyzowanie za pomocą programu Configuration Manager

Przygotowywanie plików instalacyjnych

  1. Upewnij się, że zostały spełnione wymagania wstępne.

  2. Utwórz bezpieczny udział plików sieciowych (udział SMB), do którego można uzyskać dostęp przez maszynę z uruchomionym serwerem konfiguracji.

  3. W programie Configuration Manager kategoryzuj serwery, na których chcesz zainstalować lub zaktualizować usługę mobilności. Jedna kolekcja powinna zawierać wszystkie serwery z systemem Windows, a pozostałe wszystkie serwery z systemem Linux.

  4. W udziale sieciowym utwórz folder:

    • W przypadku instalacji na maszynach z systemem Windows utwórz folder o nazwie MobSvcWindows.
    • W przypadku instalacji na maszynach z systemem Linux utwórz folder o nazwie MobSvcLinux.
  5. Zaloguj się na maszynie serwera konfiguracji.

  6. Na maszynie serwera konfiguracji otwórz wiersz polecenia administracyjnego.

  7. Aby wygenerować plik hasła, uruchom następujące polecenie:

    cd %ProgramData%\ASR\home\svsystems\bin
    genpassphrase.exe -v > MobSvc.passphrase
    
  8. Skopiuj plik MobSvc.passphrase do folderu systemu Windows i folderu systemu Linux.

  9. Aby przejść do folderu zawierającego pliki instalacyjne, uruchom następujące polecenie:

    cd %ProgramData%\ASR\home\svsystems\pushinstallsvc\repository
    
  10. Skopiuj te pliki instalacyjne do udziału sieciowego:

    • W przypadku systemu Windows skopiuj Microsoft-ASR_UA_version_Windows_GA_date_Release.exe do mobSvcWindows.
    • W przypadku systemu Linux skopiuj następujące pliki do pliku MobSvcLinux:
      • Microsoft-ASR_UARHEL6-64release.tar.gz
      • Microsoft-ASR_UARHEL7-64release.tar.gz
      • Microsoft-ASR_UASLES11-SP3-64release.tar.gz
      • Microsoft-ASR_UASLES11-SP4-64release.tar.gz
      • Microsoft-ASR_UAOL6-64release.tar.gz
      • Microsoft-ASR_UAUBUNTU-14.04-64release.tar.gz
  11. Zgodnie z opisem w poniższych procedurach skopiuj kod do folderów systemu Windows lub Linux. Zakładamy, że:

    • Adres IP serwera konfiguracji to 192.168.3.121.
    • Bezpieczny udział plików sieciowych to \\ContosoSecureFS\MobilityServiceInstallers.

Kopiowanie kodu do folderu systemu Windows

Skopiuj następujący kod:

  • Zapisz kod w folderze MobSvcWindows jako install.bat.
  • [CSIP] Zastąp symbole zastępcze w tym skrypcie rzeczywistymi wartościami adresu IP serwera konfiguracji.
  • Skrypt obsługuje nowe instalacje agenta usługi mobilności oraz aktualizacje agentów, którzy są już zainstalowani.
Time /t >> C:\Temp\logfile.log
REM ==================================================
REM ==== Clean up the folders ========================
RMDIR /S /q %temp%\MobSvc
MKDIR %Temp%\MobSvc
MKDIR C:\Temp
REM ==================================================

REM ==== Copy new files ==============================
COPY M*.* %Temp%\MobSvc
CD %Temp%\MobSvc
REN Micro*.exe MobSvcInstaller.exe
REM ==================================================

REM ==== Extract the installer =======================
MobSvcInstaller.exe /q /x:%Temp%\MobSvc\Extracted
REM ==== Wait 10s for extraction to complete =========
TIMEOUT /t 10
REM =================================================

REM ==== Perform installation =======================
REM =================================================

CD %Temp%\MobSvc\Extracted
whoami >> C:\Temp\logfile.log
SET PRODKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
REG QUERY %PRODKEY%\{275197FC-14FD-4560-A5EB-38217F80CBD1}
IF NOT %ERRORLEVEL% EQU 0 (
	echo "Product is not installed. Goto INSTALL." >> C:\Temp\logfile.log
	GOTO :INSTALL
) ELSE (
	echo "Product is installed." >> C:\Temp\logfile.log

	echo "Checking for Post-install action status." >> C:\Temp\logfile.log
	GOTO :POSTINSTALLCHECK
)

:POSTINSTALLCHECK
	REG QUERY "HKLM\SOFTWARE\Wow6432Node\InMage Systems\Installed Products\5" /v "PostInstallActions" | Find "Succeeded"
	If %ERRORLEVEL% EQU 0 (
		echo "Post-install actions succeeded. Checking for Configuration status." >> C:\Temp\logfile.log
		GOTO :CONFIGURATIONCHECK
	) ELSE (
		echo "Post-install actions didn't succeed. Goto INSTALL." >> C:\Temp\logfile.log
		GOTO :INSTALL
	)

:CONFIGURATIONCHECK
	REG QUERY "HKLM\SOFTWARE\Wow6432Node\InMage Systems\Installed Products\5" /v "AgentConfigurationStatus" | Find "Succeeded"
	If %ERRORLEVEL% EQU 0 (
		echo "Configuration has succeeded. Goto UPGRADE." >> C:\Temp\logfile.log
		GOTO :UPGRADE
	) ELSE (
		echo "Configuration didn't succeed. Goto CONFIGURE." >> C:\Temp\logfile.log
		GOTO :CONFIGURE
	)


:INSTALL
	echo "Perform installation." >> C:\Temp\logfile.log
	UnifiedAgent.exe /Role MS /InstallLocation "C:\Program Files (x86)\Microsoft Azure Site Recovery" /Platform "VmWare" /Silent
	IF %ERRORLEVEL% EQU 0 (
	    echo "Installation has succeeded." >> C:\Temp\logfile.log
		(GOTO :CONFIGURE)
    ) ELSE (
		echo "Installation has failed." >> C:\Temp\logfile.log
		GOTO :ENDSCRIPT
	)

:CONFIGURE
	echo "Perform configuration." >> C:\Temp\logfile.log
	cd "C:\Program Files (x86)\Microsoft Azure Site Recovery\agent"
	UnifiedAgentConfigurator.exe  /CSEndPoint "[CSIP]" /PassphraseFilePath %Temp%\MobSvc\MobSvc.passphrase
	IF %ERRORLEVEL% EQU 0 (
	    echo "Configuration has succeeded." >> C:\Temp\logfile.log
    ) ELSE (
		echo "Configuration has failed." >> C:\Temp\logfile.log
	)
	GOTO :ENDSCRIPT

:UPGRADE
	echo "Perform upgrade." >> C:\Temp\logfile.log
	UnifiedAgent.exe /Platform "VmWare" /Silent
	IF %ERRORLEVEL% EQU 0 (
	    echo "Upgrade has succeeded." >> C:\Temp\logfile.log
    ) ELSE (
		echo "Upgrade has failed." >> C:\Temp\logfile.log
	)
	GOTO :ENDSCRIPT

:ENDSCRIPT
	echo "End of script." >> C:\Temp\logfile.log

Kopiowanie kodu do folderu systemu Linux

Skopiuj następujący kod:

  • Zapisz kod w folderze MobSvcLinux jako install_linux.sh.
  • [CSIP] Zastąp symbole zastępcze w tym skrypcie rzeczywistymi wartościami adresu IP serwera konfiguracji.
  • Skrypt obsługuje nowe instalacje agenta usługi mobilności oraz aktualizacje agentów, którzy są już zainstalowani.
#!/usr/bin/env bash

rm -rf /tmp/MobSvc
mkdir -p /tmp/MobSvc
INSTALL_DIR='/usr/local/ASR'
VX_VERSION_FILE='/usr/local/.vx_version'

echo "=============================" >> /tmp/MobSvc/sccm.log
echo `date` >> /tmp/MobSvc/sccm.log
echo "=============================" >> /tmp/MobSvc/sccm.log

if [ -f /etc/oracle-release ] && [ -f /etc/redhat-release ]; then
    if grep -q 'Oracle Linux Server release 6.*' /etc/oracle-release; then
        if uname -a | grep -q x86_64; then
            OS="OL6-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *OL6*.tar.gz /tmp/MobSvc
        fi
    fi
elif [ -f /etc/redhat-release ]; then
    if grep -q 'Red Hat Enterprise Linux Server release 6.* (Santiago)' /etc/redhat-release || \
        grep -q 'CentOS Linux release 6.* (Final)' /etc/redhat-release || \
        grep -q 'CentOS release 6.* (Final)' /etc/redhat-release; then
        if uname -a | grep -q x86_64; then
            OS="RHEL6-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *RHEL6*.tar.gz /tmp/MobSvc
        fi
    elif grep -q 'Red Hat Enterprise Linux Server release 7.* (Maipo)' /etc/redhat-release || \
        grep -q 'CentOS Linux release 7.* (Core)' /etc/redhat-release; then
        if uname -a | grep -q x86_64; then
            OS="RHEL7-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *RHEL7*.tar.gz /tmp/MobSvc
                fi
    fi
elif [ -f /etc/SuSE-release ] && grep -q 'VERSION = 11' /etc/SuSE-release; then
    if grep -q "SUSE Linux Enterprise Server 11" /etc/SuSE-release && grep -q 'PATCHLEVEL = 3' /etc/SuSE-release; then
        if uname -a | grep -q x86_64; then
            OS="SLES11-SP3-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *SLES11-SP3*.tar.gz /tmp/MobSvc
        fi
    elif grep -q "SUSE Linux Enterprise Server 11" /etc/SuSE-release && grep -q 'PATCHLEVEL = 4' /etc/SuSE-release; then
        if uname -a | grep -q x86_64; then
            OS="SLES11-SP4-64"
            echo $OS >> /tmp/MobSvc/sccm.log
            cp *SLES11-SP4*.tar.gz /tmp/MobSvc
        fi
    fi
elif [ -f /etc/lsb-release ] ; then
    if grep -q 'DISTRIB_RELEASE=14.04' /etc/lsb-release ; then
       if uname -a | grep -q x86_64; then
           OS="UBUNTU-14.04-64"
           echo $OS >> /tmp/MobSvc/sccm.log
           cp *UBUNTU-14*.tar.gz /tmp/MobSvc
       fi
    fi
else
    exit 1
fi

if [ -z "$OS" ]; then
    exit 1
fi

Install()
{
    echo "Perform Installation." >> /tmp/MobSvc/sccm.log
    ./install -q -d ${INSTALL_DIR} -r Agent -v VmWare
    RET_VAL=$?
    echo "Installation Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Installation has succeeded. Proceed to configuration." >> /tmp/MobSvc/sccm.log
        Configure
    else
        echo "Installation has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

Configure()
{
    echo "Perform configuration." >> /tmp/MobSvc/sccm.log
    ${INSTALL_DIR}/Vx/bin/UnifiedAgentConfigurator.sh -i [CSIP] -P MobSvc.passphrase
    RET_VAL=$?
    echo "Configuration Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Configuration has succeeded." >> /tmp/MobSvc/sccm.log
    else
        echo "Configuration has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

Upgrade()
{
    echo "Perform Upgrade." >> /tmp/MobSvc/sccm.log
    ./install -q -v VmWare
    RET_VAL=$?
    echo "Upgrade Returncode: $RET_VAL" >> /tmp/MobSvc/sccm.log
    if [ $RET_VAL -eq 0 ]; then
        echo "Upgrade has succeeded." >> /tmp/MobSvc/sccm.log
    else
        echo "Upgrade has failed." >> /tmp/MobSvc/sccm.log
        exit $RET_VAL
    fi
}

cp MobSvc.passphrase /tmp/MobSvc
cd /tmp/MobSvc

tar -zxvf *.tar.gz

if [ -e ${VX_VERSION_FILE} ]; then
    echo "${VX_VERSION_FILE} exists. Checking for configuration status." >> /tmp/MobSvc/sccm.log
    agent_configuration=$(grep ^AGENT_CONFIGURATION_STATUS "${VX_VERSION_FILE}" | cut -d"=" -f2 | tr -d " ")
    echo "agent_configuration=$agent_configuration" >> /tmp/MobSvc/sccm.log
     if [ "$agent_configuration" == "Succeeded" ]; then
        echo "Agent is already configured. Proceed to Upgrade." >> /tmp/MobSvc/sccm.log
        Upgrade
    else
        echo "Agent is not configured. Proceed to Configure." >> /tmp/MobSvc/sccm.log
        Configure
    fi
else
    Install
fi

cd /tmp

Tworzenie pakietu

  1. Zaloguj się do konsoli programu Configuration Manager i przejdź do pozycji Pakiety zarządzania aplikacjami>biblioteki>oprogramowania.

  2. Kliknij prawym przyciskiem myszy pozycję Pakiety>Utwórz pakiet.

  3. Podaj szczegóły pakietu, w tym nazwę, opis, producenta, język i wersję.

  4. Wybierz pozycję Ten pakiet zawiera pliki źródłowe.

  5. Kliknij przycisk Przeglądaj i wybierz udział sieciowy i folder zawierający odpowiedni instalator (MobSvcWindows lub MobSvcLinux). Następnie wybierz Dalej.

    Zrzut ekranu przedstawiający kreatora tworzenia pakietu i programu

  6. W obszarze Wybierz typ programu, który chcesz utworzyć , wybierz pozycję Standardowy program>Dalej.

    Zrzut ekranu przedstawiający kreatora Tworzenia pakietu i programu z opcją Program standardowy.

  7. W obszarze Określ informacje o tej standardowej stronie programu określ następujące wartości:

    Parametr Wartość systemu Windows Wartość systemu Linux
    Nazwa/nazwisko Instalowanie usługi Microsoft Azure Mobility Service (Windows) Zainstaluj usługę Microsoft Azure Mobility Service (Linux).
    Wiersz polecenia Install.bat ./install_linux.sh
    Można uruchomić program Niezależnie od tego, czy użytkownik jest zalogowany Niezależnie od tego, czy użytkownik jest zalogowany
    Inne parametry Użyj ustawienia domyślnego Użyj ustawienia domyślnego

    Zrzut ekranu przedstawiający informacje, które można określić dla standardowego programu.

  8. W obszarze Określ wymagania dotyczące tego standardowego programu wykonaj następujące zadania:

    • W przypadku maszyn z systemem Windows wybierz pozycję Ten program może działać tylko na określonych platformach. Następnie wybierz obsługiwane systemy operacyjne Windows i wybierz pozycję Dalej.
    • W przypadku maszyn z systemem Linux wybierz pozycję Ten program może działać na dowolnej platformie. Następnie kliknij przycisk Dalej.
  9. Zakończ pracę kreatora.

Wdrażanie pakietu

  1. W konsoli programu Configuration Manager kliknij prawym przyciskiem myszy pakiet i wybierz pozycję Rozpowszechnij zawartość.

    Zrzut ekranu przedstawiający konsolę programu Configuration Manager

  2. Wybierz punkty dystrybucji, w których mają zostać skopiowane pakiety. Dowiedz się więcej.

  3. Wykonaj kroki kreatora. Następnie pakiet rozpoczyna replikację do określonych punktów dystrybucji.

  4. Po zakończeniu dystrybucji pakietów kliknij prawym przyciskiem myszy pakiet >Wdróż.

    Zrzut ekranu przedstawiający konsolę programu Configuration Manager z opcją menu Wdróż.

  5. Wybierz utworzoną wcześniej kolekcję urządzeń z systemem Windows lub Linux.

  6. Na stronie Określanie miejsca docelowego zawartości wybierz pozycję Punkty dystrybucji.

  7. W obszarze Określ ustawienia, aby kontrolować sposób wdrażania tego oprogramowania, ustaw wartość Cel na Wartość Wymagana.

    Zrzut ekranu przedstawiający kreatora wdrażania oprogramowania

  8. W obszarze Określ harmonogram dla tego wdrożenia skonfiguruj harmonogram. Dowiedz się więcej.

    • Usługa mobilności jest instalowana zgodnie z określonym harmonogramem.
    • Aby uniknąć niepotrzebnych ponownych uruchomień, zaplanuj instalację pakietu podczas miesięcznego okna obsługi lub okna aktualizacji oprogramowania.
  9. Na stronie Punkty dystrybucji skonfiguruj ustawienia i zakończ pracę kreatora.

  10. Monitorowanie postępu wdrażania w konsoli programu Configuration Manager. Przejdź do obszaru Monitorowanie>wdrożenia<>nazwy> pakietu.

Odinstalowywanie usługi mobilności

Pakiety programu Configuration Manager można utworzyć, aby odinstalować usługę mobilności. Na przykład następujący skrypt odinstalowuje usługę mobilności:

Time /t >> C:\logfile.log
REM ==================================================
REM ==== Check if Mob Svc is already installed =======
REM ==== If not installed no operation required ========
REM ==== Else run uninstall command =====================
REM ==== {275197FC-14FD-4560-A5EB-38217F80CBD1} is ====
REM ==== guid for Mob Svc Installer ====================
whoami >> C:\logfile.log
NET START | FIND "InMage Scout Application Service"
IF  %ERRORLEVEL% EQU 1 (GOTO :INSTALL) ELSE GOTO :UNINSTALL
:NOOPERATION
                echo "No Operation Required." >> c:\logfile.log
                GOTO :ENDSCRIPT
:UNINSTALL
                echo "Uninstall" >> C:\logfile.log
                MsiExec.exe /qn /x {275197FC-14FD-4560-A5EB-38217F80CBD1} /L+*V "C:\ProgramData\ASRSetupLogs\UnifiedAgentMSIUninstall.log"
:ENDSCRIPT

Następne kroki

Włącz replikację dla maszyn wirtualnych.