快照集 Azure 彈性 SAN 磁碟區 (預覽)
本文內容
Azure 彈性 SAN 磁碟區快照集 (預覽) 是磁碟區的累加時間點備份。 您擷取的第一個快照集不會佔用任何空間,而且每個後續快照集只包含自上次快照集之後對彈性 SAN 磁碟區所做的變更。 這與受控磁碟快照集不同,其中您拍攝的第一個快照集將是受控磁碟的完整復本,而每個後續快照集只會包含自上次快照集之後對磁碟所做的變更。 磁碟區的快照集沒有任何個別的計費,但其位於您的彈性 SAN 中,並取用 SAN 的容量。 快照集無法用來變更現有磁碟區的狀態,只能用於部署新的磁碟區,或將資料匯出至受控磁碟快照集。
每一磁碟區最多可以擷取 200 個快照集,每 5 分鐘一次有 7 個快照集。 快照集會持續保存到磁碟區本身或快照集遭刪除為止。 刪除磁碟區之後,快照集將不會保留。 如果您需要在刪除磁碟區之後保存您的資料,請將磁碟區的快照集匯出至受控磁碟快照集 。
限制
如果磁碟區大於 4 TiB,則您無法將磁碟區的快照集匯出至磁碟快照集。
一般指導
當您想要快速還原磁碟區時,您應該使用彈性 SAN 磁碟區快照集,例如當您有開發/測試工作負載時。 從磁碟區快照集建立的磁碟區會立即可供使用,而解除凍結會在背景中發生。 強化備份時,不應該考慮磁碟區快照集。
如果您想要從彈性 SAN 磁碟區建立受控磁碟,或想要保留彈性 SAN 磁碟區的長期備份,您應該使用受控磁碟快照集。 當您需要彈性 SAN 磁碟區的永久性檢查點或版本控制時,受控磁碟快照集很有用,而且您不需要立即還原磁碟區備份。 受控磁碟快照集不適合需要快速還原的案例,需要時間從受控磁碟快照集建立彈性 SAN 磁碟區。
擷取穩定快照集
您可以隨時擷取快照集,但如果要在 VM 執行時擷取快照集,請注意以下事項:
當 VM 執行時,資料仍會串流至磁碟區。 因此,執行中 VM 的快照集可能會包含正在進行的部分操作。
如果有數個磁碟區連結至 VM,則不同磁碟區的快照集可能會在不同的時間發生。
在上述案例中,快照集並未協調。 這種缺乏協調的狀況對於等量磁碟區而言會造成問題,如果在備份期間發生變更,其中所包含的檔案可能會損毀。 因此,備份流程必須實作下列步驟:
凍結所有磁碟區。
排清所有擱置的寫入。
為每個磁碟區建立累加快照集。
某些 Windows 應用程式 (例如 SQL Server) 會透過磁碟區陰影服務來提供協調備份機制,據以建立應用程式一致備份。 在 Linux 上,您可以使用 fsfreeze 之類的工具來協調磁碟 (此工具會提供檔案一致備份,而不是應用程式一致的快照集)。
建立磁碟區快照集
您可以使用 Azure 入口網站、Azure PowerShell 模組或 Azure CLI 來建立磁碟區的快照集。
登入 Azure 入口網站 。
瀏覽至您的彈性 SAN,選取磁碟區快照集。
選取建立快照集,然後填寫欄位。
$vgname = ""
$volname = ""
$volname2 = ""
$snapshotname1 = ""
$snapshotname2 = ""
# Create snapshots
$vg = New-AzElasticSanVolumeGroup -ResourceGroupName $rgname -ElasticSanName $esname -Name $vgname
$vol = New-AzElasticSanVolume -ResourceGroupName $rgname -ElasticSanName $esname -VolumeGroupName $vgname -Name $volname -SizeGiB 1
$snapshot = New-AzElasticSanVolumeSnapshot -ResourceGroupName $rgname -ElasticSanName $esname -VolumeGroupName $vgname -Name $snapshotname1 -CreationDataSourceId $vol.Id
az elastic-san volume snapshot create -g "resourceGroupName" -e "san_name" -v "vg_name" -n "snapshot_name" --creation-data '{source-id:"volume_id"}'
從磁碟區快照集建立磁碟區
您可以使用彈性 SAN 磁碟區的快照集,透過 Azure 入口網站、Azure PowerShell 模組或 Azure CLI 來建立新的磁碟區。 快照集無法用於變更現有磁碟區的狀態。
瀏覽至您的彈性 SAN,然後選取 [磁碟區] 。
選取 [+ 建立磁碟區] ,並填寫詳細資料。
針對 [來源類型] 選取 [磁碟區快照集] 、填寫詳細資料,並指定您想要使用的快照集。
選取 建立 。
# create a volume with a snapshot id
New-AzElasticSanVolume -ElasticSanName $esname -ResourceGroupName $rgname -VolumeGroupName $vgname -Name $volname2 -CreationDataSourceId $snapshot.Id -SizeGiB 1
az elastic-san volume create -g "resourceGroupName" -e "san_name" -v "vg_name" -n "volume_name_2" --size-gib 2 --creation-data '{source-id:"snapshot_id",create-source:VolumeSnapshot}'
從受控磁碟快照集建立磁碟區
您可以使用受控磁碟的快照集,透過 Azure 入口網站、Azure PowerShell 模組或 Azure CLI 來建立新的彈性 SAN 磁碟區。
瀏覽至您的彈性 SAN,然後選取 [磁碟區] 。
選取 [+ 建立磁碟區] ,並填寫詳細資料。
針對 [來源類型] 選取 [磁碟快照集] 、填寫詳細資料,並指定您想要使用的快照集。
選取 建立 。
New-AzElasticSanVolume -ElasticSanName $esname -ResourceGroupName $rgname -VolumeGroupName $vgname -Name $volname2 -CreationDataSourceId $snapshot.Id -CreationDataCreateSource DiskSnapshot -SizeGiB 1
az elastic-san volume create -g "resourceGroupName" -e "san_name" -v "vg_name" -n "volume_name_2" --size-gib 2 --creation-data '{source-id:"snapshot_id",create-source:VolumeSnapshot}'
刪除磁碟區快照集
您可以使用 Azure 入口網站、Azure PowerShell 模組或 Azure CLI 來刪除個別的快照集。 目前,您一次只能刪除一個快照集。
瀏覽至您的彈性 SAN,然後選取 [磁碟區快照集] 。
選取磁碟區群組,然後選取您想要刪除的快照集。
選取刪除。
下列指令碼會刪除個別的快照集。 取代值,然後執行命令。
# remove a snapshot
Remove-AzElasticSanVolumeSnapshot -ResourceGroupName $rgname -ElasticSanName $esname -VolumeGroupName $vgname -Name $snapshotname1
下列命令會刪除個別的快照集。 取代值,然後執行命令。
az elastic-san volume snapshot delete -g "resourceGroupName" -e "san_name" -v "vg_name" -n "snapshot_name"
匯出磁碟區快照集
刪除磁碟區時,將會自動刪除彈性 SAN 磁碟區快照集。 若要讓快照集的數據在刪除之後保存,請將其匯出至受控磁碟快照集。 將磁碟區快照集匯出至受控磁碟快照集需要時間,其所花費的時間取決於快照集的大小。 您可以檢查受控磁碟快照集的 屬性,在完成之前檢查 CompletionPercentage
剩餘多少。
計費影響
彈性 SAN 快照集沒有任何相關聯的額外計費,只會取用彈性 SAN 的容量。 將彈性 SAN 快照集匯出至受控磁碟快照集之後,受控磁碟快照集就會開始產生帳單費用。
瀏覽至您的彈性 SAN,然後選取 [磁碟區快照集] 。
選取磁碟區群組,然後選取您想要匯出的快照集。
選取 [匯出] 並填寫詳細資料,然後選取 [匯出] 。
取代下列文稿中的變數,然後執行它:
$elasticSanName = <nameHere>
$volGroupName = <nameHere>
$region = <yourRegion>
$rgName = <yourResourceGroupName>
$elasticSanSnapshotName = <ElasticSanSnapshotName>
$newSnapName = <NameOfNewSnapshot>
$elasticSanVolumeSnapshotResourceId = (Get-AzElasticSanVolumeSnapshot -ElasticSanName $elasticSanName -ResourceGroupName $rgName -VolumeGroupName $volGroupName -name $elasticSanSnapshotName).Id
$snapshotconfig = New-AzSnapshotConfig -Location $region -AccountType Standard_LRS -CreateOption CopyFromSanSnapshot -ElasticSanResourceId $elasticSanVolumeSnapshotResourceId
New-AzSnapshot -ResourceGroupName $rgName -SnapshotName $newSnapName -Snapshot $snapshotconfig;
取代下列文稿中的變數,然後執行它:
region=<yourRegion>
rgName=<ResourceGroupName>
sanName=<yourElasticSANName>
vgName=<yourVolumeGroupName>
sanSnapName=<yourElasticSANSnapshotName>
diskSnapName=<nameForNewDiskSnapshot>
snapID=$(az elastic-san volume snapshot show -g $rgName -e $sanName -v $vgName -n $sanSnapName --query 'id' | tr -d \"~)
az snapshot create -g $rgName --name $diskSnapName --elastic-san-id $snapID --location $region