Megosztás a következőn keresztül:


Alkalmazáskonzisztens biztonsági mentés konfigurálása Azure Linux rendszerű virtuális gépekhez az Azure Backup használatával

Ez a cikk azt ismerteti, hogyan hozhat létre alkalmazáskonzisztens biztonsági mentéseket az Azure-ban üzembe helyezett Linux rendszerű virtuális gépekhez (VM-ek) az Azure Backup használatával. Ismerteti a szkript-keretrendszer konfigurálását és a hibaelhárítást.

Amikor az Azure Backup pillanatképet készít egy virtuális gépről, az alkalmazáskonzisztencia biztosítja, hogy az alkalmazások megfelelően indulnak el a virtuális gép visszaállítása után. Ennek a viselkedésnek a eléréséhez használja a Linux előíró- és postscript-keretrendszert, amely támogatja az Azure Resource Managerrel üzembe helyezett Linux rendszerű virtuális gépeket. Ezek a szkriptek nem működnek a System Center Service Managerrel vagy a Windowssal üzembe helyezett virtuális gépeken.

Hogyan működik a keretrendszer?

A keretrendszer lehetővé teszi egyéni előszkriptek és utószkriptek futtatását a virtuális gép pillanatképek készítése során. Az előírók a virtuális gép pillanatképének elkészítése előtt futnak. A postscriptek közvetlenül a virtuális gép pillanatképének elkészítése után futnak. Az előszkriptek és az utószkriptek rugalmasságot biztosítanak az alkalmazás és a környezet vezérléséhez, miközben virtuális gép pillanatképeket készít.

Az előírók natív alkalmazás API-kat hívnak meg, amelyek elcsendesítik az I/OS-t, és kiürítik a memóriában lévő tartalmat a lemezre. Ezek a műveletek biztosítják, hogy a pillanatkép alkalmazáskonzisztens legyen. A postscript alkalmazások natív alkalmazás API-kat használnak az I/O műveletek visszaállítására, amely lehetővé teszi az alkalmazás számára a normál műveletek folytatását a virtuális gép snapshotja után.

Előszkript és posztszkript konfigurálása Azure Linux alapú virtuális gépekhez

A prescript és a postscript konfigurálásához kövesse az alábbi lépéseket:

  1. Jelentkezzen be gyökérfelhasználóként arra a Linux rendszerű virtuális gépre, amelyről biztonsági másolatot szeretne készíteni.

  2. A GitHubról töltse le VMSnapshotScriptPluginConfig.json , és másolja az /etc/azure mappába az összes olyan virtuális géphez, amelyről biztonsági másolatot szeretne készíteni. Ha a /etc/azure mappa nem létezik, hozza létre.

  3. Másolja az alkalmazáshoz tartozó előfeldolgozási scriptet és utófeldolgozási scriptet az összes olyan virtuális gépen, amelyről biztonsági másolatot szeretne készíteni. A szkripteket a virtuális gép bármely pontjára másolhatja. Ügyeljen arra, hogy frissítse a VMSnapshotScriptPluginConfig.json fájlban lévő szkriptfájlok teljes elérési útját.

  4. A következő fájlok használatához győződjön meg arról, hogy rendelkezik a megfelelő engedélyekkel:

    • VMSnapshotScriptPluginConfig.json: Az engedély 600. Például csak a gyökérfelhasználónak kell olvasási és írási engedélyekkel rendelkeznie ehhez a fájlhoz, és egyetlen felhasználó sem rendelkezhet végrehajtási engedélyekkel.
    • Előírófájl: Az engedély 700. Például csak a gyökérfelhasználónak kell olvasási, írási és végrehajtási engedélyekkel rendelkeznie ehhez a fájlhoz. A fájl várhatóan rendszerhéjszkript lesz, de elméletileg ez a szkript belsőleg is létrehozhat vagy hivatkozhat más szkriptekre, például Python-szkriptekre.
    • Postscript: Az engedély 700. Például csak a gyökérfelhasználónak kell olvasási, írási és végrehajtási engedélyekkel rendelkeznie ehhez a fájlhoz. A fájl várhatóan rendszerhéjszkript lesz, de elméletileg ez a szkript belsőleg is létrehozhat vagy hivatkozhat más szkriptekre, például Python-szkriptekre.

    Fontos

    A keretrendszer számos hatáskörrel ruházza fel a felhasználókat. Biztonságossá teheti a keretrendszert, és biztosíthatja, hogy csak a gyökérfelhasználó férhessen hozzá kritikus JSON- és szkriptfájlokhoz.

    Ha a követelmények nem teljesülnek, a szkript nem futtatható, ami a fájlrendszer összeomlását és inkonzisztens biztonsági mentést eredményez.

  5. Konfigurálja a VMSnapshotScriptPluginConfig.json az alábbiak szerint:

    • pluginName: Hagyja változatlanul a mezőt, különben előfordulhat, hogy a szkriptek nem a várt módon működnek.
    • preScriptLocation: Adja meg a biztonsági mentéshez tartozó script teljes elérési útját a virtuális gépen.
    • postScriptLocation: Adja meg a postscript fájl teljes elérési útját a biztonsági mentéshez a virtuális gépen.
    • preScriptParams: Adja meg azokat a választható paramétereket, amelyeket át kell adni az előírónak. Minden paraméternek idézőjelekben kell lennie. Ha több paramétert használ, vesszővel válassza el a paramétereket.
    • postScriptParams: Adja meg azokat a választható paramétereket, amelyeket át kell adni a postscriptnek. Minden paraméternek idézőjelekben kell lennie. Ha több paramétert használ, vesszővel válassza el a paramétereket.
    • preScriptNoOfRetries: Adja meg az előíró újrapróbálkozásának számát, ha hiba történik a befejezés előtt. A nulla azt jelenti, hogy csak egy próbálkozás van, és hiba esetén nem kell újrapróbálkoznia.
    • postScriptNoOfRetries: Adja meg, hogy hány alkalommal kell újrapróbálkozást elvégezni a postscripttel, ha hiba történik a befejezés előtt. A nulla azt jelenti, hogy csak egy próbálkozás van, és hiba esetén nem kell újrapróbálkoznia.
    • timeoutInSeconds: Adja meg a prescript és a postscript egyéni időtúllépéseit (a maximális érték 1800).
    • continueBackupOnFailure: Állítsa ezt az értéket igaz értékre, ha azt szeretné, hogy az Azure Backup visszaessen egy fájlrendszerkonzisztens/összeomlás-konzisztens biztonsági mentésre, ha az előíró vagy a postscript sikertelen. Ha ezt az értéket hamis értékre állítja, a biztonsági mentés sikertelen lesz, ha szkripthiba történik. (Kivételt képeznek azok az egylemezes virtuális gépek, amelyek a beállítástól függetlenül összeomláskonzisztens biztonsági mentésre kerülnek vissza.) Ha az continueBackupOnFailure érték false (hamis) értékre van állítva, ha a biztonsági mentés sikertelen, a rendszer a biztonsági mentési műveletet újra megkísérli egy újrapróbálkozási logika alapján a szolgáltatásban (a megadott számú kísérlet esetében).
    • fsFreezeEnabled: Adja meg, hogy a linuxos fsfreeze rendszer meghívható-e a virtuális gép pillanatképének készítése közben a fájlrendszer konzisztenciájának biztosítása érdekében. Javasoljuk, hogy ezt a beállítást igaz értékre állítsa, kivéve, ha az alkalmazás nem függ a letiltástól fsfreeze.
    • ScriptsExecutionPollTimeSeconds: Adja meg, hogy a bővítménynek mennyi ideig kell aludnia az egyes lekérdezések között a szkript végrehajtásához. Ha például az érték 2, a bővítmény ellenőrzi, hogy az előíró vagy a postscript végrehajtása 2 másodpercenként befejeződött-e. A minimális és maximális érték 1 , illetve 5 lehet. Az értéknek szigorúan egész számnak kell lennie.
  6. A szkript-keretrendszer most már konfigurálva van. Ha a virtuális gép biztonsági mentése már konfigurálva van, a következő biztonsági mentés meghívja a szkripteket, és alkalmazáskonzisztens biztonsági mentést indít el. Ha a virtuális gép biztonsági mentése nincs konfigurálva, konfigurálja az Azure-beli virtuális gépek helyreállítási tárakba való biztonsági mentésének lépéseit követve.

Az Azure Linux rendszerű virtuális gépek alkalmazás-konzisztens biztonsági mentési hibáinak elhárítása

Az előszkript és a postscript írásakor győződjön meg arról, hogy megfelelő naplózást ad hozzá. Tekintse át a szkriptnaplókat a szkriptekkel kapcsolatos problémák megoldásához. Ha továbbra is problémái vannak a szkriptek futtatásával, tekintse meg az alábbi táblázatot.

Hiba Hibaüzenet Javasolt művelet
Pre-ScriptExecutionFailed Az előíró hibát adott vissza, ezért előfordulhat, hogy a biztonsági mentés nem lesz alkalmazáskonzisztens. A probléma megoldásához tekintse meg a szkript hibanaplóit.
Post-ScriptExecutionFailed A postscript olyan hibát adott vissza, amely hatással lehet az alkalmazás állapotára. Tekintse meg a szkript hibanaplóit a probléma megoldásához, és ellenőrizze az alkalmazás állapotát.
Pre-ScriptNotFound Az előleíró nem található a VMSnapshotScriptPluginConfig.json konfigurációs fájlban megadott helyen. Az alkalmazáskonzisztens biztonsági mentés biztosításához győződjön meg arról, hogy az előíró megtalálható a konfigurációs fájlban megadott elérési úton.
Post-ScriptNotFound A postscript nem található a VMSnapshotScriptPluginConfig.json konfigurációs fájlban megadott helyen. Győződjön meg arról, hogy a postscript megtalálható a konfigurációs fájlban megadott elérési úton az alkalmazáskonzisztens biztonsági mentés biztosításához.
IncorrectPluginhostFile A Pluginhost fájl, amely a VmSnapshotLinux kiterjesztéssel rendelkezik, sérült, így az előtét és a postscript nem futtatható, és a biztonsági mentés nem alkalmazás szempontjából konzisztens. Távolítsa el a bővítményt VmSnapshotLinux . Automatikusan újratelepíti a következő biztonsági másolattal a probléma megoldásához.
IncorrectJSONConfigFile A VMSnapshotScriptPluginConfig.json fájl helytelen, ezért a prescript és a postscript nem futtatható, és a biztonsági mentés nem alkalmazáskonzisztens. Töltse le a másolatot a GitHubról , és konfigurálja újra.
InsufficientPermissionforPre-Script Szkriptek futtatása esetén a gyökérfelhasználónak kell lennie a fájl tulajdonosának. A fájlnak 700 engedéllyel kell rendelkeznie. (Vagyis csak a tulajdonosnak kell olvasási, írási és végrehajtási engedélyekkel rendelkeznie.) Győződjön meg arról, hogy a gyökérfelhasználó a szkriptfájl tulajdonosa, és hogy csak a tulajdonos rendelkezik olvasási, írási és végrehajtási engedélyekkel.
InsufficientPermissionforPost-Script Szkriptek futtatása esetén a gyökérfelhasználónak kell lennie a fájl tulajdonosának. A fájlnak 700 engedéllyel kell rendelkeznie. (Vagyis csak a tulajdonosnak kell olvasási, írási és végrehajtási engedélyekkel rendelkeznie.) Győződjön meg arról, hogy a gyökérfelhasználó a szkriptfájl tulajdonosa, és hogy csak a tulajdonos rendelkezik olvasási, írási és végrehajtási engedélyekkel.
Pre-ScriptTimeout Az alkalmazáskonzisztens biztonsági mentés előírójának végrehajtása időtúllépést eredményezett. Ellenőrizze a szkriptet, és növelje az időtúllépést az /etc/azure helyen található VMSnapshotScriptPluginConfig.json fájlban.
Post-ScriptTimeout Az alkalmazáskonzisztens biztonsági mentés postscriptjének végrehajtása időtúllépést eredményezett. Ellenőrizze a szkriptet, és növelje az időtúllépést az /etc/azure helyen található VMSnapshotScriptPluginConfig.json fájlban.