共用方式為


使用 PowerShell 備份 Azure 檔案共用

本文說明如何使用 Azure PowerShell 透過 Azure 備份復原服務保存庫,來備份 Azure 檔案儲存體檔案共用。

本篇文章說明如何︰

  • 設定 PowerShell 並註冊復原服務提供者。
  • 建立復原服務保存庫。
  • 設定 Azure 檔案共用備份。
  • 執行備份作業。

在您開始使用 Intune 之前

  • 深入了解復原服務保存庫。

  • 請檢閱 Azure 程式庫中的 Az.RecoveryServices Cmdlet 參考

  • 檢閱復原服務的下列 PowerShell 物件階層。

    復原服務物件階層

設定 PowerShell

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

注意

Azure PowerShell 目前不支援以每小時排程的備份原則。 請透過 Azure 入口網站來使用這項功能。 深入了解

設定 PowerShell,如下所示:

  1. 下載最新版的 Azure PowerShell

    注意

    備份 Azure 檔案共用所需的最低 PowerShell 版本為 Az.RecoveryServices 2.6.0 版。 使用最新版本,或至少使用最低支援版本 可協助您避免現有的指令碼發生問題。 使用下列 PowerShell 命令來安裝最低支援版本:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. 使用此命令,尋找 Azure 備份的 PowerShell Cmdlet:

    Get-Command *azrecoveryservices*
    
  3. 檢閱 Azure備份、Azure Site Recovery 與復原服務保存庫的別名與 Cmdlet。 以下是您可能會看到的範例。 其不是 Cmdlet 的完整清單。

    復原服務 Cmdlet 清單

  4. 使用 Connect-AzAccount 登入您的 Azure 帳戶。

  5. 在顯示的網頁中,系統會提示您輸入帳戶認證。

    或者,您可以使用 -Credential,以參數形式將您的帳戶認證加入 Connect-AzAccount Cmdlet。

    如果您是代表租用戶工作的 CSP 合作夥伴,請將客戶指定為租用戶。 請使用其租用戶識別碼或租用戶主網域名稱。 例如 Connect-AzAccount -Tenant "fabrikam.com"

  6. 由於一個帳戶可以有多項訂閱,因此請將要使用的訂閱與帳戶建立關聯:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. 如果您是第一次使用 Azure 備份,請使用 Register-AzResourceProvider Cmdlet,透過訂閱項目來註冊 Azure 復原服務提供者:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. 確認提供者已成功註冊:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. 在命令輸出中,確認 RegistrationState 會變更為 Registered。 如果沒有,請再次執行 Register-AzResourceProvider Cmdlet。

建立復原服務保存庫

復原服務保存庫是一項 Resource Manager 資源,因此您必須將其放在資源群組內。 您可以使用現有的資源群組,或使用 New-AzResourceGroup Cmdlet 建立資源群組。 建立資源群組時,請指定資源群組的名稱與位置。

依照下列步驟建立復原服務保存庫:

  1. 如果您目前沒有資源群組,請使用 New-AzResourceGroup Cmdlet 來建立新的資源群組。 在此範例中,我們會在美國西部區域建立資源群組:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. 使用 New-AzRecoveryServicesVault Cmdlet 來建立保存庫。 為保存庫指定位置,其應與資源群組使用的位置相同。

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

在訂用帳戶中檢視保存庫

若要檢視訂用帳戶中的所有保存庫,請使用 Get-AzRecoveryServicesVault

Get-AzRecoveryServicesVault

輸出大致如下。 請注意,輸出會提供相關聯的資源群組和位置。

Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

設定保存庫內容

將保存庫物件儲存在變數中,並設定保存庫內容。

許多 Azure 備份 Cmdlet 都需要復原服務保存庫物件作為輸入,因此,將保存庫物件儲存在變數中很方便。

保存庫內容是保存庫中受保護的資料類型。 使用 Set-AzRecoveryServicesVaultContext 來加以設定。 設定內容之後,即可將其套用至所有後續的 Cmdlet。

下列範例會設定 testvault 的保存庫內容:

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

擷取保存庫識別碼

我們計畫根據 Azure PowerShell 指導方針來取代保存庫內容設定。 您可以改為儲存或擷取保存庫識別碼,並將其傳遞至相關命令。 如果您尚未設定保存庫內容,或您想要指定要針對特定保存庫執行的命令,請將保存庫識別碼 -vaultID 傳遞給所有相關的命令,如下所示:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

設定備份原則

備份原則會指定備份的排程,以及備份復原點應保留多久時間。

備份原則至少與一個保留原則相關聯。 保護原則會定義復原點在被刪除之前要保留多久。 您可以設定每日、每週、每月或每年保留的備份。 透過多個備份原則,您也可以設定每小時備份的保留期。

重要

下列 Cmdlet 用於備份原則:

  • 使用 Get-AzRecoveryServicesBackupRetentionPolicyObject檢視默認備份原則保留。
  • 使用 Get-AzRecoveryServicesBackupSchedulePolicyObject來檢視默認備份原則排程。
  • 使用 New-AzRecoveryServicesBackupProtectionPolicy建立新的備份原則。 提供排程和保留原則物件做為輸入。

若要建立一天設定多個備份的備份原則,請遵循下列步驟:

  1. 使用下列 Cmdlet 擷取排程原則物件:

    $schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    $schPol
    
    

    輸出如下:

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. 視需要設定排程的不同參數。

    $schpol.ScheduleInterval=4
    $schpol.ScheduleWindowDuration=12
    
    

    先前的設定協助您在上午 8 點至晚上 8 點 (上午 8 點 + 12 小時) 的時間範圍內排程 4 次備份。 您也可以透過下列 Cmdlet 設定上述的時區:

    $timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"}
    $schPol.ScheduleRunTimeZone=$timeZone.Id
    

    若要使用每日排程建立原則,請執行下列 Cmdlet:

    $UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
    $UtcTime = $UtcTime.ToUniversalTime()
    $schpol.ScheduleRunTimes[0] = $UtcTime
    
  3. 使用下列 Cmdlet 擷取保留原則物件:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. 視需要設定保留期間值。

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. 使用 New-AzRecoveryServicesBackupProtectionPolicy 建立新的備份原則。

    您可以傳遞先前設定為輸入的排程和保留原則物件。

    New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
    

    輸出會顯示原則設定:

    Name           WorkloadType   BackupManagementType ScheduleFrequency  BackupTime    WindowStartTime     Interval   WindowDuration TimeZone
                                                                         (UTC)                                         (Hours)      
    ----          ------------    -------------------- -----------------  ------------  ---------------       -------- -------------- --------
    FilesPolicy
    testing        AzureFiles      AzureStorage         Hourly                          12/22/2021 8:00:00 AM     4        12         Russia Time Zone 11
    
    

啟用備份

定義備份原則之後,您可以使用原則來啟用 Azure 檔案共用的保護。

擷取備份原則

首先,使用 Get-AzRecoveryServicesBackupProtectionPolicy 擷取相關的原則物件。 使用此 Cmdlet 來檢視與工作負載類型相關聯的原則,或取得特定原則。

擷取工作負載類型的原則

下列範例會擷取工作負載類型 AzureFiles 的原則:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

輸出結果看起來與下列相似:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

注意

PowerShell 中 BackupTime 欄位的時區是 UTC。 當備份時間顯示在 Azure 入口網站中時,系統會根據您的當地時區調整時間。

擷取特定原則

下列原則會擷取名為 dailyafs 的備份原則:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

啟用保護並套用原則

使用 Enable-AzRecoveryServicesBackupProtection 啟用保護。 當原則與保存庫建立關聯之後,就會根據原則排程來觸發備份。

下列範例會使用原則 dailyafs,針對儲存體帳戶 testStorageAcct 中的 Azure 檔案共用 testAzureFS 啟用保護:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

此命令會等到設定保護作業完成,並提供類似下列範例的輸出:

WorkloadName       Operation            Status                 StartTime                                                                                                         EndTime                   JobID
------------             ---------            ------               ---------                                  -------                   -----
testAzureFS       ConfigureBackup      Completed            11/12/2018 2:15:26 PM     11/12/2018 2:16:11 PM     ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6

如需有關如何取得儲存體帳戶檔案共用清單的詳細資訊,請參閱這篇文章

重要通知:備份項目識別

本節概述 Azure 檔案共用備份中的重要變更,以準備正式發行。

啟用 Azure 檔案共用的備份時,使用者會為客戶提供檔案共用名稱作為實體名稱,並建立備份項目。 備份項目的名稱是 Azure 備份服務建立的唯一識別碼。 識別碼通常是使用者容易記住的自訂名稱。 但是,若要處理虛刪除的情節,即可刪除檔案共用,而且可以使用相同名稱建立另一個檔案共用,而 Azure 檔案共用的唯一身分識別則會成為識別碼。

若要了解每個項目的唯一識別碼,請使用 backupManagementTypeWorkloadType 的相關篩選執行 Get-AzRecoveryServicesBackupItem 命令,以取得所有相關項目。 然後觀察傳回的 PowerShell 物件/回應中的名稱欄位。

建議您列出項目,然後在回應中的 [名稱] 欄位擷取其唯一名稱。 使用此值,以 Name 參數篩選項目。 否則,請使用 FriendlyName 參數以其識別碼擷取該項目。

重要

請確定 PowerShell 已升級為 Azure 檔案共用備份的最低支援版本 (Az.RecoveryServices 2.6.0)。 使用此版本時,FriendlyName 篩選條件可供 Get-AzRecoveryServicesBackupItem 命令使用。

將 Azure 檔案共用的名稱傳遞給 FriendlyName 參數。 如果您將檔案共用的名稱傳遞給 Name 參數,這個版本會擲回警告,以將名稱傳遞給 FriendlyName 參數。

若未安裝最低支援版本,可能會導致現有指令碼失敗。 使用下列命令來安裝 PowerShell 最低支援版本:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

觸發隨選備份

使用 Backup-AzRecoveryServicesBackupItem 以執行受保護之 Azure 檔案共用的隨選備份:

  1. 使用 Get-AzRecoveryServicesBackupContainer,從保存備份資料之保存庫中的容器擷取儲存體帳戶。
  2. 若要開始備份作業,請使用 Get-AzRecoveryServicesBackupItem 取得 Azure 檔案共用的相關資訊。
  3. 使用 Backup-AzRecoveryServicesBackupItem 來執行隨選備份。

如下所示執行隨選備份:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

此命令會傳回具識別碼可供追蹤的作業,如下列範例所示:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS       Backup               Completed            11/12/2018 2:42:07 PM     11/12/2018 2:42:11 PM     8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6

取得備份時,會使用 Azure 檔案共用快照集。 通常工作會在命令傳回此輸出時完成。

下一步