MODULE 27 Backup 10–15% đề thi

Virtual Machine Backups

Bảo vệ toàn diện Azure VM — snapshots, Recovery Services backup, restore, System Center DPM, Azure Backup Server, soft delete và Azure Site Recovery cho disaster recovery ở mức region.

Lý Thuyết Cốt Lõi

1. Data Protection Options cho Azure VM

Azure cung cấp nhiều lớp bảo vệ dữ liệu VM khác nhau. Mỗi option có mục đích riêng — không phải một giải pháp thay thế toàn bộ cho nhau.

Option Mục đích RPO RTO
VM Snapshot Điểm khôi phục tức thì trước khi thay đổi lớn Tức thì Phút
Azure Backup Backup định kỳ, retention dài hạn, crash-consistent 24h (daily) Giờ
Azure Site Recovery DR liên tục sang region khác, chuyển đổi khi thảm họa 15–30 phút Phút–Giờ
Availability Zones HA trong cùng region, không phải backup N/A Giây
Crash-consistent vs App-consistent
  • Crash-consistent: chụp trạng thái đĩa tại thời điểm đó, như khi mất điện đột ngột. Phù hợp OS disk, workload không giao dịch.
  • App-consistent (VSS): flush buffer, quiesce I/O trước khi snapshot. Đảm bảo database/transaction nhất quán. Cần VSS writer hỗ trợ (Windows) hoặc pre/post script (Linux).
  • • Azure Backup VM dùng app-consistent trên Windows và file-system-consistent trên Linux.
Enhanced vs Standard Policy
  • Standard policy: backup 1 lần/ngày, instant restore snapshot 1–5 ngày
  • Enhanced policy: backup nhiều lần/ngày (mỗi 4/6/8/12 giờ), instant restore snapshot tối đa 30 ngày, hỗ trợ Trusted Launch VM và Ultra/Premium SSD v2
  • • Enhanced policy yêu cầu vault phải enable Trusted Launch hoặc chạy VM thế hệ mới

2. VM Snapshots & Disk Snapshots

Snapshot là bản sao read-only của managed disk tại một thời điểm. Khác với Azure Backup, snapshot lưu trong subscription của bạn (không trong vault) và tính phí theo dung lượng.

Full

Bản sao đầy đủ của toàn bộ disk. Tốn dung lượng nhất nhưng độc lập, có thể chuyển sang subscription khác.

Incremental

Chỉ lưu các block thay đổi so với snapshot trước. Tiết kiệm ~70–90% dung lượng. Khuyến nghị dùng loại này.

Restore Point

Collection snapshot của tất cả disk VM (OS + data) tại cùng 1 thời điểm. Dùng để restore toàn bộ VM.

Khi nào dùng snapshot thay vì Backup: Snapshot lý tưởng cho short-term (trước khi patch OS, test config mới). Không thích hợp cho long-term retention vì tốn chi phí storage và không có lifecycle management tự động. Backup là giải pháp dài hạn.

3. Backup & Restore Azure VM

Azure Backup VM sử dụng VM extension (VMSnapshot trên Windows, VMSnapshotLinux trên Linux) được tự động cài khi bật backup lần đầu. Không cần agent thủ công.

Quy trình Backup VM
  1. Azure Backup service trigger theo schedule
  2. Extension VMSnapshot gửi lệnh quiesce I/O (VSS)
  3. Snapshot các disk (OS + data) đồng thời
  4. Snapshot lưu tạm tại resource group (instant restore tier)
  5. Data transfer từ snapshot lên Recovery Services vault
  6. Backup job hoàn thành, recovery point được tạo
Tùy chọn Restore VM
  • Create new VM: tạo VM mới từ recovery point, không ảnh hưởng VM gốc. Phù hợp kiểm tra tính toàn vẹn backup.
  • Restore disks: tạo managed disk từ recovery point, gắn vào VM khác hoặc dùng để tạo VM mới bằng template.
  • Replace existing disk: thay thế disk của VM hiện tại bằng disk từ recovery point. VM phải stop.
  • File Recovery: mount recovery point như ổ đĩa trên máy tính, chỉ lấy file cụ thể mà không restore toàn bộ VM.
Cross-Region Restore (CRR): Khi vault dùng GRS và bật Cross-Region Restore, có thể restore VM sang secondary region ngay cả khi primary region còn hoạt động — dùng cho DR drill, kiểm tra backup compliance. Recovery point sẽ có sẵn ở secondary region trong vòng 12 giờ sau backup.

4. DPM, MABS, Soft Delete & Azure Site Recovery

System Center DPM vs Azure Backup Server (MABS)
Tiêu chí DPM MABS
LicenseSystem Center licenseMiễn phí (Azure sub)
SQL requirementSQL Server riêngSQL Express tích hợp
Tape supportKhông
Secondary DPMKhông
Cloud offloadAzure BackupAzure Backup

Cả DPM và MABS đều dùng Azure Backup như secondary storage (cloud offload). Lựa chọn DPM khi đã có System Center, MABS khi muốn giải pháp đơn giản hơn.

So sánh MARS vs MABS vs DPM
  • MARS Agent: cài trực tiếp trên máy, backup file/folder/System State, KHÔNG backup toàn bộ VM, không cần server trung gian. Phù hợp Windows Server nhỏ lẻ.
  • MABS (Azure Backup Server): server trung gian, backup VM, SQL, SharePoint, Exchange on-prem. Cần server Windows Server chạy MABS software.
  • DPM: giống MABS nhưng tích hợp System Center, có thêm chức năng tape và secondary DPM server.
Soft Delete

Soft delete bảo vệ backup data khỏi xóa vô tình hoặc do ransomware:

  • • Khi backup bị xóa, data không bị xóa ngay mà vào trạng thái "soft deleted" và giữ thêm 14 ngày
  • • Trong 14 ngày: không tính phí compute, vẫn tính phí storage
  • • Có thể "Undelete" để khôi phục backup item về trạng thái bình thường
  • • Soft delete mặc định bật trên mọi Recovery Services vault mới
  • • Có thể tắt nhưng không khuyến nghị
  • • Enhanced soft delete (Always-on): không thể tắt, bảo vệ tuyệt đối
Azure Site Recovery (ASR)

ASR là dịch vụ Disaster Recovery (không phải backup) — nhân bản VM liên tục sang region thứ 2:

  • RPO: 15–30 phút (replication liên tục)
  • RTO: vài phút (pre-warmed VM ở secondary)
  • Failover: chuyển hướng traffic sang secondary region khi primary down
  • Failback: chuyển về primary sau khi khắc phục sự cố
  • Test failover: chạy DR drill mà không ảnh hưởng production
  • • Dùng Recovery Services vault — cùng vault có thể dùng cho cả Backup và ASR
  • • Mobility Service agent tự động cài trên VM được bảo vệ

Bài Tập Thực Hành (Lab)

Lab 27-A: Tạo VM + Vault Lab 27-B: Backup VM Lab 27-C: Restore VM & File Lab 27-D: Soft Delete & Disk Snapshot
1

Tạo Resource Group, Recovery Services Vault và VM test

Azure CLI— Chạy được trên PowerShell, CMD, Bash hoặc Azure Cloud Shell
# Tạo Resource Group
az group create \
  --name rg-az104-m27 \
  --location southeastasia \
  --tags Module=27 Course=AZ-104 Environment=Lab

# Tạo Recovery Services vault
az backup vault create \
  --name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --location southeastasia

# Dùng LRS cho lab (tiết kiệm chi phí)
az backup vault backup-properties set \
  --name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-storage-redundancy LocallyRedundant

# Xác nhận soft delete đang bật (mặc định)
az backup vault backup-properties show \
  --name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --query "properties.softDeleteFeatureState"

# Tạo VM Ubuntu nhỏ để lab backup (Standard_B1s tiết kiệm)
az vm create \
  --name vm-az104-m27 \
  --resource-group rg-az104-m27 \
  --location southeastasia \
  --image Ubuntu2204 \
  --size Standard_B1s \
  --admin-username azureadmin \
  --generate-ssh-keys \
  --tags Module=27 Course=AZ-104

echo "VM created. Waiting for VM to be running..."
az vm wait --name vm-az104-m27 --resource-group rg-az104-m27 --created
Verify Portal: Portal → Virtual machines → vm-az104-m27 trạng thái Running. Portal → Recovery Services vaults → rsv-az104-m27 tồn tại, Properties → Backup Configuration = Locally-redundant, Soft delete = Enabled.
2

Bật Azure Backup cho VM và chạy on-demand backup

Azure CLI— Chạy được trên PowerShell, CMD, Bash hoặc Azure Cloud Shell
# Lấy VM resource ID
VM_ID=$(az vm show \
  --name vm-az104-m27 \
  --resource-group rg-az104-m27 \
  --query id -o tsv)
echo "VM ID: $VM_ID"

# Bật Azure Backup cho VM với DefaultPolicy
az backup protection enable-for-vm \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --vm vm-az104-m27 \
  --policy-name DefaultPolicy

# Kiểm tra backup item đã đăng ký
az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --output table

# Lấy container name (tên VM được encode trong container)
CONTAINER=$(az backup container list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)
echo "Container: $CONTAINER"

# Lấy item name
ITEM=$(az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)
echo "Item: $ITEM"

# Chạy on-demand backup (retain 30 ngày)
az backup protection backup-now \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --backup-management-type AzureIaasVM \
  --retain-until $(date -d "+30 days" +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -v +30d +%Y-%m-%dT%H:%M:%SZ)

# Theo dõi backup job (có thể mất 20-40 phút)
echo "Backup job started. Monitoring..."
az backup job list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --output table
Verify Portal: Portal → rsv-az104-m27 → Backup items → Azure Virtual Machine → xác nhận vm-az104-m27 xuất hiện với Last backup status = In Progress hoặc Completed. Vào Backup jobs → xác nhận job type = Backup, Status = In Progress.
3

Tạo Disk Snapshot thủ công và restore VM từ recovery point

Azure CLI— Chạy được trên PowerShell, CMD, Bash hoặc Azure Cloud Shell
# --- PHẦN A: Disk Snapshot thủ công ---

# Lấy OS disk ID của VM
OS_DISK_ID=$(az vm show \
  --name vm-az104-m27 \
  --resource-group rg-az104-m27 \
  --query "storageProfile.osDisk.managedDisk.id" -o tsv)
echo "OS Disk ID: $OS_DISK_ID"

# Tạo incremental snapshot của OS disk
az snapshot create \
  --name snap-vm-az104-m27-osdisk \
  --resource-group rg-az104-m27 \
  --source $OS_DISK_ID \
  --incremental true \
  --sku Standard_ZRS \
  --tags Module=27 Purpose=PreMaintenance

# Xác nhận snapshot tạo thành công
az snapshot show \
  --name snap-vm-az104-m27-osdisk \
  --resource-group rg-az104-m27 \
  --query "{name:name, diskSizeGB:diskSizeGb, provisioningState:provisioningState}" \
  --output table

# --- PHẦN B: Restore VM từ Azure Backup (sau khi backup hoàn thành) ---

CONTAINER=$(az backup container list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)

ITEM=$(az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)

# Liệt kê recovery points
az backup recoverypoint list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --backup-management-type AzureIaasVM \
  --output table

# Lấy recovery point mới nhất
RP_NAME=$(az backup recoverypoint list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)
echo "Recovery Point: $RP_NAME"

# Lấy Subscription ID
SUB_ID=$(az account show --query id -o tsv)

# Restore disks (tạo managed disk từ recovery point, không tạo VM ngay)
az backup restore restore-disks \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --rp-name $RP_NAME \
  --storage-account "$(az storage account list --resource-group rg-az104-m27 --query '[0].name' -o tsv 2>/dev/null || echo 'staz104m27restore')" \
  --target-resource-group rg-az104-m27

# Xem restore job
az backup job list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --output table
Verify Portal: Portal → Disks → tìm snapshot snap-vm-az104-m27-osdisk → xác nhận Incremental = Yes. Portal → rsv-az104-m27 → Backup jobs → xác nhận Restore job xuất hiện với status In Progress hoặc Completed.
4

Kiểm tra Soft Delete và cấu hình nâng cao vault

Azure CLI— Chạy được trên PowerShell, CMD, Bash hoặc Azure Cloud Shell
CONTAINER=$(az backup container list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)

ITEM=$(az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv)

# Xem trạng thái soft delete của vault
az backup vault backup-properties show \
  --name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --query "{softDeleteState:properties.softDeleteFeatureState, storageType:properties.storageModelType}"

# Thử xóa backup protection (với soft delete bật, data không bị xóa ngay)
az backup protection disable \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --backup-management-type AzureIaasVM \
  --delete-backup-data false \
  --yes

# Kiểm tra backup item vẫn còn (trạng thái ProtectionStopped)
az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --output table

# Bật lại bảo vệ (resume protection)
az backup protection resume \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --item-name $ITEM \
  --policy-name DefaultPolicy

# Xác nhận bảo vệ đang hoạt động trở lại
az backup item show \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --container-name $CONTAINER \
  --name $ITEM \
  --backup-management-type AzureIaasVM \
  --query "properties.currentProtectionState"
Verify Portal: Portal → rsv-az104-m27 → Backup items → Azure Virtual Machine → vm-az104-m27 → xác nhận Protection Status = Protection resumed (hoặc Protection started). Thử xóa backup item từ Portal → xác nhận item vào trạng thái "Soft deleted" thay vì bị xóa hoàn toàn.
5

Cleanup — Dọn dẹp tài nguyên

Azure CLI— Chạy được trên PowerShell, CMD, Bash hoặc Azure Cloud Shell
CONTAINER=$(az backup container list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv 2>/dev/null)

ITEM=$(az backup item list \
  --vault-name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --backup-management-type AzureIaasVM \
  --query "[0].name" -o tsv 2>/dev/null)

# Bước 1: Tắt bảo vệ và xóa backup data
if [ -n "$CONTAINER" ] && [ -n "$ITEM" ]; then
  az backup protection disable \
    --vault-name rsv-az104-m27 \
    --resource-group rg-az104-m27 \
    --container-name $CONTAINER \
    --item-name $ITEM \
    --backup-management-type AzureIaasVM \
    --delete-backup-data true \
    --yes
  echo "Backup protection disabled and data deleted."
fi

# Bước 2: Tắt soft delete (cần thiết để xóa vault ngay)
az backup vault backup-properties set \
  --name rsv-az104-m27 \
  --resource-group rg-az104-m27 \
  --soft-delete-feature-state Disable

# Chờ soft delete items hết hạn hoặc undelete trước khi xóa vault
# (Trong lab: chờ khoảng 1 phút sau khi tắt soft delete)

# Bước 3: Xóa snapshot
az snapshot delete \
  --name snap-vm-az104-m27-osdisk \
  --resource-group rg-az104-m27

# Bước 4: Xóa toàn bộ Resource Group
az group delete --name rg-az104-m27 --yes --no-wait

echo "Cleanup initiated. RG rg-az104-m27 đang được xóa..."
echo "Lưu ý: vault chỉ tự xóa khi không còn backup item nào."
Lưu ý cleanup vault: Recovery Services vault có soft delete và không thể xóa khi còn backup item. Phải (1) disable bảo vệ + xóa backup data, (2) tắt soft delete, (3) đợi soft-deleted items hết hạn hoặc undelete chúng, sau đó vault mới được xóa cùng RG.

Kết Quả Đầu Ra

Phân biệt data protection options

So sánh được Snapshot vs Azure Backup vs ASR, biết khi nào dùng option nào dựa trên RPO/RTO yêu cầu

Tạo VM disk snapshot

Tạo incremental snapshot của managed disk, hiểu sự khác biệt full vs incremental, quản lý vòng đời snapshot

Backup VM với Azure Backup

Bật backup cho Azure VM, chạy on-demand backup, xác nhận recovery point và theo dõi backup job

Restore VM từ recovery point

Chọn đúng restore mode (Create new VM / Restore disks / Replace disk / File Recovery) theo từng kịch bản

Hiểu và cấu hình Soft Delete

Giải thích cơ chế soft delete 14 ngày, undelete backup item, phân biệt soft delete thường vs always-on

Mô tả kiến trúc ASR, DPM và MABS

Giải thích Azure Site Recovery cho DR, phân biệt MARS vs MABS vs DPM và khi nào chọn từng giải pháp

Ứng Dụng Thực Tế

Tình huống 1: Ngân hàng — Bảo vệ VM core banking với RPO thấp

Ngân hàng TMCP tại Hà Nội chạy core banking trên 8 Azure VM (Windows Server 2022, SQL Server). Yêu cầu RPO < 1 giờ, RTO < 4 giờ, dữ liệu giao dịch không được mất.

Giải pháp

Enhanced backup policy: backup mỗi 4 giờ, instant restore snapshot giữ 7 ngày. GRS vault. Azure Site Recovery nhân bản sang Japan East (DR region). Snapshot trước mỗi maintenance window.

Triển khai

Soft delete always-on chống ransomware xóa backup. App-consistent backup với VSS SQL writer đảm bảo database transaction integrity. Cross-Region Restore enable. Monthly DR drill test failover sang Japan East.

Lợi ích

RPO thực tế = 4 giờ (vượt yêu cầu). Khi thảm họa xảy ra: ASR failover trong 30 phút, RTO = 30 phút (dưới mục tiêu 4 giờ). Ransomware không thể xóa backup nhờ always-on soft delete.

Tình huống 2: Thương mại điện tử — VM backup + snapshot trước deployment

Sàn TMĐT tại TP.HCM có 20 VM chạy web app (PHP/MySQL). Team dev release code mỗi tuần, đôi khi release làm hỏng production cần rollback nhanh.

Giải pháp

Azure Backup daily cho toàn bộ 20 VM, retention 30 ngày (daily) + 12 tháng (monthly). CI/CD pipeline tự động tạo VM disk snapshot trước mỗi deployment thông qua az snapshot create trong Azure DevOps.

Triển khai

Snapshot incremental tự động xóa sau 3 ngày (Azure Policy lifecycle). Khi rollback cần: restore từ snapshot trong <10 phút. Khi mất data dài hạn: restore từ Azure Backup. Backup Center giám sát 20 VM từ 1 giao diện.

Lợi ích

Rollback production deployment trong <10 phút. Chi phí snapshot thấp nhờ incremental. Dev team tự tin release thường xuyên hơn (từ 1 lần/tuần lên 3 lần/tuần). Không cần downtime để backup.

Tình huống 3: Công ty logistics — Hybrid DPM + Azure Backup

Công ty logistics tại TP.HCM có 50 máy chủ on-premises (Hyper-V, Windows Server) và 15 Azure VM. Đang dùng System Center, muốn tích hợp cloud backup.

Giải pháp

System Center DPM backup on-prem servers + Hyper-V VMs, offload sang Azure Backup (Recovery Services vault). 15 Azure VM backup trực tiếp qua Azure Backup. 1 vault GRS cho toàn bộ workload.

Triển khai

DPM backup on-prem vào disk local (nhanh) + cloud offload Azure 1 lần/ngày. Azure VM backup qua Azure Backup native. Backup Center hiển thị tất cả 65 workload (on-prem + cloud) từ 1 dashboard. Soft delete bật toàn bộ.

Lợi ích

Tận dụng System Center license sẵn có. On-prem restore nhanh từ DPM disk, cloud là safety net. Loại bỏ tape backup hoàn toàn. Tiết kiệm 60% chi phí lưu trữ so với giải pháp NAS offsite cũ.

Zalo