Avamar 容量管理:如何使用「modify-snapups」工具,大量刪除或使備份到期

摘要: 如何使用「modify-snapups」工具,大量刪除或使備份到期。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

本文將記錄如何在 Avamar 系統上使用修改快照工具來協助解決下列一些挑戰。
  • 系統管理員想要大量刪除備份,以解決或防止高容量情況。
  • 系統已滿,雖然已減少保留原則,但此動作只會影響新的備份。您也必須變更現有備份的到期日期。
  • 現有備份設定了錯誤的到期日期。
  • 業務需求變更,組織部門必須儲存比原先所規劃更多或更少的備份數量。

    原因

    modify-snapups.sh」公用程式是預設存在的指令檔,位於 /usr/local/avamar/bin 下的 Avamar Utility Node 上。

    解决方案

    此公用程式取代「expire-snapups」和「delete-snapups」指令檔,這些是較早的工具形式。這兩個較舊的腳本皆已過期,而且命令現在會直接呼叫 modify-snapups (如果執行的話) (請參閱備註中的專案 #1)。

    到期和刪除模式:    
    執行 modify-snapups 以使模式到期或刪除模式。
     
    modify-snapups --help
    modify-snapups - 修改快照
    版本:7.1.0-370 (1.11)
    Usage: modify-snapups [--mode={delete|expire}] [--help] [options ]
    This program does nothing when invoked as modify-snapups.
    Instead, invoke this program as delete-snapups or expire-snapups,
    or else with --mode={delete|expire} before any other options.

    傳遞至每個模式的旗標幾乎完全相同,並可透過在命令附加 --help 以檢視。(請參閱附注中的專案 #2)

    指令檔會執行什麼動作?  
    自行執行 modify-snapups 是安全的,因為它不會對 Avamar 伺服器進行任何變更。

    使用正確的引數執行時,公用程式會產生包含命令清單的腳本。執行指令檔時會執行序列命令清單,以變更每個備份的到期日期或刪除。

    命令是根據傳遞至修改快照的旗標產生。  

    使用者可決定備份中是否要納入:      
    • 在特定日期範圍內 (--after / --before)
    • 在特定網域下 (--domain)
    • 針對特定用戶端
    • 是否要包含適用於 AVI、EM、MC 的內部 Avamar 資料庫備份
    • 是否要在複寫目標上納入備份



    命令範例範例 1:檢查「mydomain」下的所有備份,並建立指令檔,使在 2015 年 3 月 1 日前建立的指令檔到期。
     
    modify-snapups --mode=expire --domain=/mydomain --before=2015-03-01 > expire-backups-output-script.txt

    此指令檔會產生 mccli 備份編輯命令的清單,以「修改」適當的備份 (在此情況下為使其到期)。也會列出不符合條件的項目,但首碼會為井字 (#) 和說明 CONSERVE:   
     
    # MODIFY    Snapup date: 2015-02-17 08:04:30 GMT Lab#: 418     Replicated: N/A
    echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=418 --created=2015-02-17 --expiration=2015-05-18"
    mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=418 --created=2015-02-17 --expiration=2015-05-18
    # CONSERVE Snapup date: 2015-04-17 08:05:18 IST Lab#: 457     Replicated: N/A
    # echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=457 --created=2015-04-17 --expiration=2015-07-16"
    # mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=457 --created=2015-04-17 --expiration=2015-07-16
    # CONSERVE Snapup date: 2015-04-16 08:03:46 IST Lab#: 456     Replicated: N/A
    # echo running: "mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=456 --created=2015-04-16 --expiration=2015-07-15"
    # mccli backup edit --domain=/mydomain --name=myclient.avamar.com --labelNum=456 --created=2015-04-16 --expiration=2015-07-15

    範例 2:刪除在 mydomain 下建立超過一個月的所有備份。
     
    modify-snapups --mode=delete --domain=/mydomain --before='1 month ago' > output-script.txt

    請使用 1 號範例中的正確日期,但舉例來說,此處使用的是「友善」的 Linux 日期標記法 (1 個月前)。

    腳本包含如下所示的輸出 (因空間原因截斷)。在標題中,指令檔會準確說明其執行的作業和生效的參數。此指令檔於 2015 年 4 月 17 日執行。
    # ======================================================================
    # CLIENT: /mydomain/server
    #     Operation: DELETE selected snapups
    #     After: "June 1 1999 00:00:00" (928191600) Tue Jun  1 00:00:00 IST 1999
    #     Before: "1 month ago" (1426614045) Tue Mar 17 17:40:45 GMT 2015
    # ======================================================================
    # *** NO SNAPUPS FOUND ***
    # ======================================================================
    # CLIENT: /mydomain/myclient.avamar.com
    #     Operation: DELETE selected snapups
    #     After: "June 1 1999 00:00:00" (928191600) Tue Jun  1 00:00:00 IST 1999
    #     Before: "1 month ago" (1426614045) Tue Mar 17 17:40:45 GMT 2015
    # ======================================================================
    # CONSERVE Snapup date: 2015-03-18 08:03:31 GMT Lab#: 437     Replicated: N/A
    # echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=437 --created=2015-03-18 --force=true"
    # mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=437 --created=2015-03-18 --force=true
    # MODIFY    Snapup date: 2015-03-16 08:03:57 GMT Lab#: 435     Replicated: N/A
    echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=435 --created=2015-03-16 --force=true"
    mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=435 --created=2015-03-16 --force=true
    # MODIFY    Snapup date: 2015-03-13 08:01:30 GMT Lab#: 434     Replicated: N/A
    echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=434 --created=2015-03-13 --force=true"
    mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=434 --created=2015-03-13 --force=true
    # MODIFY    Snapup date: 2015-03-12 08:09:20 GMT Lab#: 433     Replicated: N/A
    echo running: "mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=433 --created=2015-03-12 --force=true"
    mccli backup delete --domain=/mydomain --name=myclient.avamar.com --labelNum=433 --created=2015-03-12 --force=true

    列出「MODIFY」的備份會使用「mccli backup delete」命令變更。這些備份的「created」日期皆早於 1 個月 (2015 年 3 月 17 日)。

    範例 3:延長現有備份的到期時間。
    下列命令會針對 /clients 網域下的用戶端在 2018 年 5 月 1 日 15 日之間建立的備份,並建立在執行時取代這些備份到期時間的指令檔,使其在備份建立後 100 天到期。
     
    modify-snapups --domain=/clients/ --mode=expire --after='2018-05-01' --before='2018-05-15'  --days=100 > expire-backups-output-script.txt

    .
    8.
    #======================================================================
    # CLIENT: /clients/server.asl.lab.emc.com
    #     Operation: EXPIRE selected snapups
    #     After: "2018-05-01" (1525158000) Tue May  1 00:00:00 PDT 2018
    #     Before: "2018-05-15 " (1526367600) Tue May 15 00:00:00 PDT 2018
    # ======================================================================
    # MODIFY    Snapup date: 2018-05-07 22:00:52 PDT   Lab#: 498     Replicated: N/A
    echo running: "mccli backup edit --domain=/clients --name=server --labelNum=498 --created=2018-05-07 --expiration=2018-08-15"
    mccli backup edit --domain=/clients --name=server --labelNum=498 --created=2018-05-07 --expiration=2018-08-15
    # MODIFY    Snapup date: 2018-05-06 22:00:46 PDT   Lab#: 497     Replicated: N/A
    echo running: "mccli backup edit --domain=/clients --name=server --labelNum=497 --created=2018-05-06 --expiration=2018-08-14"
    mccli backup edit --domain=/clients --name=server --labelNum=497 --created=2018-05-06 --expiration=2018-08-14
    8#CONSERVE  Snapup date: 2018-06-25 22:00:41 PDT   Lab#: 501     Replicated: N/A
    # echo running: "mccli backup edit --domain=/clients --name=server --labelNum=501 --created=2018-06-25 --expiration=2018-10-03"
    # mccli backup edit --domain=/clients --name=server --labelNum=501 --created=2018-06-25 --expiration=2018-10-03
    # CONSERVE  Snapup date: 2018-04-30 22:00:57 PDT   Lab#: 491     Replicated: N/A
    # echo running: "mccli backup edit --domain=/clients --name=server --labelNum=491 --created=2018-04-30 --expiration=2018-08-08"
    # mccli backup edit --domain=/clients --name=server --labelNum=491 --created=2018-04-30 --expiration=2018-08-08


    執行指令檔以修改或刪除備份

    強烈建議在執行此程序前先設定檢查點。

    建立指令檔後,請仔細檢查內容。當您滿意要執行的動作後,請將指令檔設定為可執行檔。

    例如,建立要刪除 /mydomain 下所有超過 6 個月備份的指令檔。

    將指令檔設定為可執行檔,並檢查許可權:    
     
    admin@utility:~/modsnap/>: chmod +x delete-backups-mydomain-before-6monthsago.txt
    admin@utility:~/modsnap/>:  ls -l
    -rwx------ 1 admin admin 15016 Apr 17 18:55 delete-backups-mydomain-before-6monthsago.txt

    執行指令檔。將輸出重新導向至另一個檔案,以記錄所做的變更。
     
    admin@utility:~/modsnap/>: ./delete-backups-mydomain-before-6monthsago.txt
    running: mccli backup delete --domain=/mydomain --name=myclient.customer.com --labelNum=323 --created=2014-09-25 --force=true
    0,22553,Backup deleted.
    Attribute  Value
    ---------- --------------------------------------
    path       /mydomain/myclient.customer.com
    retention  N
    labelnum   323
    createtime 2014-09-25 18:07:04 IST
    plugin     3001

    如果指令檔已執行完成,並執行第二次,您會看到:    
    1,22552,Backup does not exist

    如果執行指令檔需要較長的時間,且必須暫停,則可以執行第二次。為避免重新檢查先前已刪除的備份,請手動編輯指令檔,刪除已處理過的命令。或者您可以重新產生指令檔。

    產生和執行指令檔可能需要大量的時間。將工作分割成較短的時間或個別網域,有助於「分批完成」。

    其他信息

    項目 1
    ls -ls /usr/local/avamar/bin/ | grep modify-snapups
         0 lrwxrwxrwx 1 root  root         14 Nov 28 19:42 delete-snapups -> modify-snapups
         0 lrwxrwxrwx 1 root  root         14 Nov 28 19:42 expire-snapups -> modify-snapups
        24 -rwxr-xr-x 1 root  root      24185 Sep  8 23:46 modify-snapups

    「snapup」一詞是過時的 Avamar 術語,可作為備份。它是快照和備文字的混合式。

    專案 #2
    有關如何使用刪除和到期模式的完整說明文件可透過附加 --help 至命令取得。
     
    modify-snapups --mode=expire --help
    modify-snapups --mode=delete --help

    項目 #3
    請留意以下文章。 請參閱此影片:  
     

    受影响的产品

    Avamar

    产品

    Avamar, Avamar Client, Avamar Server
    文章属性
    文章编号: 000058216
    文章类型: Solution
    上次修改时间: 19 11月 2024
    版本:  9
    从其他戴尔用户那里查找问题的答案
    支持服务
    检查您的设备是否在支持服务涵盖的范围内。