共用方式為


使用 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:

根據預設,開始時間會定義於排程原則物件中。 使用下列範例,將開始時間變更為所需的開始時間。 所需的開始時間應使用國際標準時間 (UTC)。 下列範例假設每日備份所需的開始時間為上午 01:00 UTC。

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

重要

您只需以 30 分鐘的倍數提供開始時間。 在上述範例中,其只能是「01:00:00」或「02:30:00」。 開始時間不能是「01:15:00」。

下列範例會將排程原則和保留原則儲存在變數中。 然後,其會使用那些變數當作新原則 (NewAFSPolicy) 的參數。 NewAFSPolicy 會每日進行備份,並保留 30 天。

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol

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

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewAFSPolicy           AzureFiles            AzureStorage              10/24/2019 1:30:00 AM

啟用備份

定義備份原則之後,您可以使用原則來啟用 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 檔案共用快照集。 通常工作會在命令傳回此輸出時完成。

下一步