Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak vytvořit zálohy konzistentní vzhledem k aplikacím pro virtuální počítače s Linuxem nasazené v Azure pomocí Azure Backup. Zahrnuje konfiguraci skriptovacího rámce a řešení problémů.
Když Azure Backup pořídí snímek virtuálního počítače, konzistence aplikací zajistí, aby se aplikace po obnovení virtuálního počítače správně spustily. K tomu použijte architekturu předlimitního a postskriptového jazyka Linuxu, která podporuje virtuální počítače s Linuxem nasazené v Azure Resource Manageru. Tyto skripty ale nefungují pro virtuální počítače nasazené Service Manager nebo Windows.
Jak framework funguje?
Rozhraní poskytuje možnost spouštět vlastní předzálohovací a post-skripty při pořizování snímků virtuálních počítačů. Předzálohovací skripty se spouštějí těsně před pořízením snímku virtuálního počítače a následné skripty se spouštějí ihned po pořízení snímku virtuálního počítače. Skripty Prescript a Post-Script poskytují flexibilitu pro řízení aplikace a prostředí při pořizování snímků virtuálních počítačů.
Předzálohovací skripty vyvolávají nativní rozhraní API aplikace, která ztiší vstupně-výstupní operace a vyprázdní obsah v paměti na disk. Tyto akce zajišťují konzistenci snímku s aplikacemi. Po spuštění skriptů se používají nativní rozhraní API aplikací k rozmrazování IO, což aplikaci umožňuje obnovit normální operace po vytvoření snímku virtuálního počítače.
Konfigurace předtextového a postskriptového skriptu pro virtuální počítač Azure s Linuxem
Chcete-li nakonfigurovat předřazený a postskriptový skript, postupujte takto:
Přihlaste se jako uživatel kořenového adresáře k virtuálnímu počítači s Linuxem, který chcete zálohovat.
Z GitHubu si stáhněteVMSnapshotScriptPluginConfig.json a zkopírujte ho do složky /etc/azure pro všechny virtuální počítače, které chcete zálohovat. Pokud složka /etc/azure neexistuje, vytvořte ji.
Zkopírujte předřazený a postskript pro vaši aplikaci na všechny virtuální počítače, které plánujete zálohovat. Skripty můžete zkopírovat do libovolného umístění na virtuálním počítači. Nezapomeňte aktualizovat úplnou cestu k souborům skriptu v souboru VMSnapshotScriptPluginConfig.json .
Chcete-li použít následující soubory, ujistěte se, že máte odpovídající oprávnění:
VMSnapshotScriptPluginConfig.json: Oprávnění 600. Například pouze uživatel root by měl mít oprávnění ke čtení a zápisu k tomuto souboru a žádný uživatel by neměl mít oprávnění ke spuštění .
Soubor předzálohovacího skriptu: Oprávnění 700. Například pouze uživatel root by měl mít oprávnění ke čtení, zápisu a spouštění tohoto souboru. Očekává se, že soubor bude skript prostředí, ale teoreticky může tento skript interně vytvořit nebo odkazovat na jiné skripty, jako je skript Pythonu.
Dovětek Povolení 700. Například pouze uživatel root by měl mít oprávnění ke čtení, zápisu a spouštění tohoto souboru. Očekává se, že soubor bude skript prostředí, ale teoreticky může tento skript interně vytvořit nebo odkazovat na jiné skripty, jako je skript Pythonu.
Důležité
Rámec dává uživatelům řadu možností. Zabezpečte framework a zajistěte, aby ke kritickým souborům JSON a skriptů měl přístup pouze uživatel root . Pokud požadavky nejsou splněné, skript se nespustí, což vede k chybovému ukončení systému souborů a nekonzistentnímu zálohování.
Nakonfigurujte VMSnapshotScriptPluginConfig.json , jak je popsáno tady:
pluginName: Ponechte toto pole tak, jak je, nebo vaše skripty nemusí fungovat podle očekávání.
preScriptLocation: Zadejte úplnou cestu předzálohovacího skriptu na virtuálním počítači, který se bude zálohovat.
postScriptLocation: Zadejte úplnou cestu post-scriptu na virtuálním počítači, který se bude zálohovat.
preScriptParams: Zadejte volitelné parametry, které je třeba předat do předřazeného skriptu. Všechny parametry by měly být v uvozovkách. Pokud používáte více parametrů, oddělte parametry čárkou.
postScriptParams: Zadejte volitelné parametry, které je potřeba předat post-script. Všechny parametry by měly být v uvozovkách. Pokud používáte více parametrů, oddělte parametry čárkou.
preScriptNoOfRetries: Nastavujte, kolikrát se má předskript opakovat, pokud před ukončením dojde k chybě. Nula znamená, že pouze jeden pokus a pokud dojde k selhání, nebude se opakovat.
postScriptNoOfRetries: Nastavte počet opakování skriptu, pokud dojde k chybě před ukončením. Nula znamená, že pouze jeden pokus a pokud dojde k selhání, nebude se opakovat.
timeoutInSeconds: Určete jednotlivé časové limity pro předřazený a postskript (maximální hodnota může být 1800).
continueBackupOnFailure: Nastavte tuto hodnotu na true , pokud chcete, aby se služba Azure Backup vrátila k zálohování konzistentní se systémem souborů nebo konzistentním selháním, pokud selže předzálohovací skript nebo postskript. Pokud je toto nastaveno na false, zálohování se nezdaří, pokud dojde k selhání skriptu (pokud nemáte virtuální počítač s jedním diskem, což přejde na zálohování konzistentní při selhání bez ohledu na toto nastavení). Pokud je hodnota continueBackupOnFailure nastavena na false, pokud zálohování selže, operace zálohování se pokusí znovu na základě logiky opakování ve službě (pro zadaný počet pokusů).
fsFreezeEnabled: Určete, jestli se má při pořizování snímku virtuálního počítače volat linuxová fsfreeze, aby se zajistila konzistence systému souborů. Pokud vaše aplikace nemá závislost na zakázání fsfreeze, doporučujeme toto nastavení ponechat nastavené na hodnotu True .
ScriptsExecutionPollTimeSeconds: Nastavte čas, kdy má rozšíření spát mezi každým dotazem na spuštění skriptu. Pokud je například hodnota 2, rozšíření zkontroluje, jestli se provádění skriptu před/po dokončení každých 2 sekund dokončilo. Minimální a maximální hodnota, kterou může trvat, je 1 a 5. Hodnota by měla být výhradně celé číslo.
Architektura skriptů je teď nakonfigurovaná. Pokud už je zálohování virtuálního počítače nakonfigurované, vyvolá další zálohování skripty a aktivuje zálohování konzistentní vzhledem k aplikacím. Pokud zálohování virtuálního počítače není nakonfigurované, nakonfigurujte ho pomocí zálohování virtuálních počítačů Azure do trezorů služby Recovery Services.
Řešení chyb zálohování konzistentního vzhledem k aplikacím virtuálních počítačů Azure s Linuxem
Ujistěte se, že jste při psaní předřazeného a postskriptového skriptu přidali vhodné protokolování a zkontrolujte protokoly skriptů, abyste opravili případné problémy se skripty. Pokud máte se spouštěním skriptů stále problémy, další informace naleznete v následující tabulce.
Chyba | Zpráva o chybě | Doporučená akce |
---|---|---|
Pre-ScriptExecutionFailed | Předskript vrátil chybu, takže zálohování nemusí být konzistentní s aplikací. | Podívejte se do protokolů selhání skriptu a problém vyřešte. |
Post-ScriptExecutionFailed | Post-script vrátil chybu, která může mít vliv na stav aplikace. | Podívejte se do protokolů selhání skriptu, abyste problém vyřešili, a zkontrolujte stav aplikace. |
Pre-ScriptNotFound | Předzálohovací skript nebyl nalezen v umístění, které je uvedeno v konfiguračním souboru VMSnapshotScriptPluginConfig.json . | Ujistěte se, že se na cestě zadané v konfiguračním souboru nachází předtext, aby bylo zajištěno zálohování konzistentní vzhledem k aplikacím. |
Post-ScriptNotFound | Post-skript nebyl nalezen v umístění určeném v konfiguračním souboru VMSnapshotScriptPluginConfig.json . | Ujistěte se, že je post-script přítomen na cestě zadané v konfiguračním souboru, aby bylo zajištěno zálohování konzistentní vzhledem k aplikacím. |
NesprávnýSoubor PluginHost | Soubor Pluginhost , který je dodáván s rozšířením VmSnapshotLinux, je poškozený, takže nelze spustit předzálohovací a post-skript a záloha nebude konzistentní s aplikací. |
Odinstalujte rozšíření VmSnapshotLinux a bude automaticky znovu nainstalováno s další zálohou, aby se problém vyřešil. |
NesprávnýJSONConfigFile | Soubor VMSnapshotScriptPluginConfig.json je nesprávný, takže nelze spustit předzálohovací a post-skript a zálohování nebude konzistentní s aplikací. | Stáhněte si kopii z GitHubu a znovu ji nakonfigurujte. |
InsufficientPermissionforPre-Script | Při spouštění skriptů by měl být vlastníkem souboru uživatel root a soubor by měl mít oprávnění 700 (to znamená, že oprávnění ke čtení, zápisu a spouštění by měl mít pouze vlastník). | Ujistěte se, že uživatel root je vlastníkem souboru skriptu a že pouze vlastník má oprávnění ke čtení, zápisu a spouštění . |
InsufficientPermissionforPost-Script | Při spouštění skriptů by měl být vlastníkem souboru uživatel root a soubor by měl mít oprávnění 700 (to znamená, že oprávnění ke čtení, zápisu a spouštění by měl mít pouze vlastník). | Ujistěte se, že uživatel root je vlastníkem souboru skriptu a že pouze vlastník má oprávnění ke čtení, zápisu a spouštění . |
Pre-ScriptTimeout | Vypršel časový limit provádění předzálohovacího předzálohovacího skriptu konzistentního vzhledem k aplikaci. | Zkontrolujte skript a zvyšte časový limit v souboru VMSnapshotScriptPluginConfig.json , který se nachází v / etc/azure. |
Post-ScriptTimeout | Vypršel časový limit provádění zálohovacích skriptů konzistentních pro aplikace. | Zkontrolujte skript a zvyšte časový limit v souboru VMSnapshotScriptPluginConfig.json , který se nachází v / etc/azure. |
Další kroky
Konfigurace zálohování virtuálních počítačů do trezoru služby Recovery Services