天天看點

阿裡雲上如何建立應用一緻性快照

阿裡雲快照服務結合雲助手,提供應用一緻性快照功能。當您使用應用一緻性快照進行復原時,可避免資料庫等應用啟動時進行日志復原,確定應用處于一緻性的啟動狀态。

前提條件

  • ECS執行個體的作業系統在以下範圍中:
    • Windows:Windows Server 2019、Windows Server 2016和Windows Server 2012 R2。
    • Linux:CentOS 7.6及以上版本、Ubuntu 18.04及以上版本和Alibaba Cloud Linux 2.1903 LTS 64位。
  • ECS執行個體中雲盤必須是ESSD類型雲盤,且檔案系統為EXT3、EXT4、XFS或NTFS。同時,不支援網絡檔案系統和共享檔案系統。
  • ECS執行個體已安裝雲助手用戶端。具體操作,請參見 安裝雲助手用戶端

    說明 2017年12月01日之後使用公共鏡像建立的ECS執行個體,已預設預裝雲助手用戶端。

背景資訊

預設情況下,您建立的快照為崩潰一緻性快照。如果您在建立快照時開啟應用一緻性快照功能,系統将根據實際情況為您建立應用一緻性快照或者檔案系統一緻性快照。

類型 說明 實作方式
應用一緻性快照

應用一緻性快照在快照建立時刻備份記憶體資料及正在進行中的資料庫事務,保證應用系統資料和資料庫事務的一緻性。通過應用一緻性快照,沒有資料的損壞及丢失,避免資料庫啟動時日志復原,確定應用處于一緻性的啟動狀态。

應用一緻性快照以标簽

APPConsistent:True

辨別。
根據作業系統類型,實作方式如下:
  • Windows:通過卷影複制服務VSS(Volume Shadow Copy Service)實作。
  • Linux:通過執行自定義Shell腳本(需要您根據應用自行編寫腳本)實作。應用一緻性的效果,由您自己編寫的腳本負責保證。
檔案系統一緻性快照

如果開啟應用一緻性功能,但不滿足相關條件,系統将會為您建立檔案系統一緻性快照。

檔案系統一緻性確定在快照建立時刻同步檔案系統記憶體和磁盤資訊,當機檔案系統寫操作,使得檔案系統處于一緻性的狀态。通過檔案系統一緻性快照,可以避免作業系統在重新開機後進行chkdsk或fsck等磁盤檢查修複操作。

檔案系統一緻性快照以标簽

FsConsistent:True

  • Windows:如果無Windows作業系統上特定應用的VSS Writer參與時,預設建立的為檔案系統一緻性。
  • Linux:如果無對應的應用腳本,預設建立的為檔案系統一緻性。

操作流程

  1. 步驟一:為ECS執行個體配置RAM角色 開啟應用一緻性快照前,必須先為ECS執行個體配置相關的RAM角色。
  2. 步驟二:根據ECS執行個體的作業系統,開啟應用一緻性快照功能。
  1. 步驟三:檢查快照建立結果 建立完成後,您可以在雲助手頁面檢視是否建立成功;在快照頁面檢視快照具體資訊。

  1. 使用阿裡雲賬号登入 RAM控制台
  2. 建立應用一緻性快照相關的RAM角色。具體操作,請參見 建立可信實體為阿裡雲服務的RAM角色 。示例為建立一個AppSnapshotRoleName的RAM角色。
阿裡雲上如何建立應用一緻性快照
  1. 建立應用一緻性快照相關權限政策。具體操作,請參見 建立自定義政策
阿裡雲上如何建立應用一緻性快照

建立一個AppSnapshotPolicy權限政策,具有查詢快照相關資訊、建立快照、設定标簽和查詢雲盤資訊等相關權限。您可以直接使用以下政策内容。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeSnapshot*",
                "ecs:CreateSnapshot*",
                "ecs:TagResources",
                "ecs:DescribeDisks"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {}
        }
    ]
}      

4.為RAM角色(AppSnapshotRoleName)設定自定義權限(AppSnapshotPolicy)。具體操作,請參見

為RAM角色授權
阿裡雲上如何建立應用一緻性快照

5.為目标執行個體設定RAM角色(AppSnapshotRoleName)。具體操作,請參見

授予執行個體RAM角色
阿裡雲上如何建立應用一緻性快照

在Windows執行個體中,主要是通過Windows作業系統的卷影複制服務實作應用一緻性。本節介紹如何為Windows執行個體開啟應用一緻性快照。

  1. 進入ECS執行個體清單頁面。
    1. 登入 ECS管理控制台
    2. 在左側導航欄,選擇執行個體與鏡像 > 執行個體。
    3. 在頂部菜單欄處,選擇目标ECS執行個體所在地域。
  1. 找到目标執行個體,在操作列中選擇更多 > 雲盤和鏡像 > 建立執行個體快照。
  2. 在建立執行個體快照對話框中,設定執行個體快照參數并啟用快照極速可用功能。
  1. 在建立執行個體快照對話框中,設定應用一緻性快照。
阿裡雲上如何建立應用一緻性快照
    • 如果同時選中啟用應用一緻性快照和是否預設包含Writer,建立應用一緻性快照。
    • 如果隻選中啟用應用一緻性快照,建立檔案系統一緻性快照。
  1. 說明 選中啟用應用一緻性快照後,ECS執行個體将自動安裝雲助手插件。
  2. 單擊确定。建立後會傳回雲助手指令ID和指令執行ID,您可以根據指令執行ID檢視建立結果。
阿裡雲上如何建立應用一緻性快照

在Linux執行個體中,需要您根據ECS執行個體上的應用程式定制Shell腳本(應用當機腳本和應用解凍腳本)實作應用一緻性。本節介紹如何為Linux執行個體開啟應用一緻性快照。

  1. 根據ECS執行個體上的應用,準備對應的應用當機腳本和應用解凍腳本,并上傳到ECS執行個體。您可以通過FTP或雲助手将應用當機腳本和應用解凍腳本上傳到ECS執行個體。
    • 應用當機腳本:權限設定為僅root使用者具有讀、寫和執行權限,儲存路徑為/tmp/prescript.sh。
    • 應用解凍腳本:權限設定為僅root使用者具有讀、寫和執行權限,儲存路徑為/tmp/postscript.sh。
  1. 注意 如果腳本設定錯誤(例如權限、儲存路徑或檔案名設定錯誤等),最終建立的快照為檔案系統一緻性快照。
阿裡雲上如何建立應用一緻性快照
    • 如果選中啟用應用一緻性快照和啟用檔案系統IO當機及解凍,并正确設定腳本,則建立應用一緻性快照。
    • 如果選中啟用應用一緻性快照和啟用檔案系統IO當機及解凍,但未設定腳本或未正确設定腳本,則建立檔案系統一緻性快照。
阿裡雲上如何建立應用一緻性快照

建立應用一緻性快照後,您可以在雲助手頁面檢視是否建立成功,并在快照頁面檢視執行個體快照和雲盤快照資訊。

  1. 在雲助手頁面,檢視應用一緻性快照是否成功建立。
    1. 選擇運維與監控 > 發送指令/檔案(雲助手)。
    2. 單擊指令執行結果頁簽。
    3. 單擊目标指令執行ID,檢視執行結果。
阿裡雲上如何建立應用一緻性快照

如上圖所示,ExitCode傳回值為

,表示雲助手上建立應用一緻性快照執行成功,此時回顯資訊中顯示執行個體快照ID。

如果ExitCode傳回值不為

,請根據ExitCode錯誤碼資訊排查相關問題。更多資訊,請參見

錯誤碼資訊
  1. 在快照頁面檢視執行個體快照和雲盤快照資訊。
    1. 選擇存儲與快照 > 快照。
    2. 單擊執行個體快照頁簽,檢視已建立的執行個體快照。
    3. 單擊雲盤快照頁簽,根據快照的标簽資訊,檢查建立的快照是應用一緻性快照還是檔案系統一緻性快照。
      • 應用一緻性快照(顯示

        APPConsistent:True

        标簽)
阿裡雲上如何建立應用一緻性快照
      • 檔案系統一緻性快照(顯示

        FsConsistent: True

阿裡雲上如何建立應用一緻性快照