LAB 13 ~2 giờ Module 14 Disaster Recovery

Azure Site Recovery — Disaster Recovery

Triển khai Azure Site Recovery (ASR) để bảo vệ Azure VM cross-region: tạo Recovery Services Vault, cấu hình replication policy, thực hiện failover test, và hiểu rõ các chỉ số RPO/RTO trong thực tế.

🎯 Mục Tiêu Lab

Tạo Recovery Services Vault tại region DR (East Asia) để lưu replication data

Tạo VM nguồn tại Southeast Asia và bật replication cross-region

Cấu hình replication policy: RPO 1 ngày, app-consistent snapshot 6 giờ

Giám sát trạng thái replication qua ASR dashboard trong Vault

Thực hiện Test Failover để kiểm tra DR plan mà không gián đoạn production

Hiểu rõ RPO, RTO và cách ASR đáp ứng các chỉ số SLA doanh nghiệp

🏗️ Kịch Bản & Tài Nguyên

Công ty bạn có VM web server chạy tại Southeast Asia (Singapore). Yêu cầu: nếu Singapore datacenter xảy ra sự cố, hệ thống phải tự động failover sang East Asia (Hong Kong) với RPO ≤ 24 giờ và RTO ≤ 2 giờ. Azure Site Recovery là giải pháp đáp ứng yêu cầu này.

Region Primary (Source)
  • • Location: Southeast Asia (Singapore)
  • • VM: VMLab13 (Windows Server 2019)
  • • RG Source: rg-asr-source
  • • Ports: RDP 3389, HTTP 80
Region DR (Target)
  • • Location: East Asia (Hong Kong)
  • • Recovery Vault: vault-asr-lab13
  • • RG Vault: rg-asr-vault
  • • RG Target (auto): rg-asr-source-asr
Khái niệm RPO & RTO
RPO — Recovery Point Objective

Lượng dữ liệu tối đa có thể mất khi disaster xảy ra. RPO = 1 ngày nghĩa là hệ thống có thể mất tối đa 24 giờ dữ liệu gần nhất. ASR replication liên tục giúp RPO thực tế thường < 5 phút.

RTO — Recovery Time Objective

Thời gian tối đa để khôi phục hệ thống sau disaster. RTO = 2 giờ nghĩa là trong vòng 2 giờ sau sự cố, hệ thống phải hoạt động trở lại tại vùng DR. ASR automated failover thường đạt RTO < 30 phút.

📋 Chuẩn Bị

Yêu cầu:
  • Azure subscription với quyền Contributor
  • Azure CLI đã đăng nhập (az login)
  • VM nguồn tại Southeast Asia (tạo ở bước 1)
Lưu ý:
  • ASR tính phí per VM được bảo vệ (~$25/VM/tháng)
  • Replication lần đầu (initial sync) mất 30-60 phút
  • Vault và VM nguồn phải khác region
  • Disable replication trước khi xóa tài nguyên

🧪 Các Bước Thực Hiện

1

Tạo VM Nguồn & Recovery Services Vault

Cách 1 — Azure Portal
  1. 1.1Portal → Virtual machines → + Create → Azure virtual machine
  2. 1.2RG mới: rg-asr-source, VM name: VMLab13, Region: Southeast Asia
  3. 1.3Image: Windows Server 2019 Datacenter, Size: Standard_D2s_v3
  4. 1.4Admin: Myuser / Password phức tạp → Inbound ports: RDP (3389)HTTP (80) → Review + Create
  5. 1.5Tạo RG thứ 2: rg-asr-vault tại East Asia
  6. 1.6Portal → Recovery Services vaults → + Create → RG: rg-asr-vault, Name: vault-asr-lab13, Region: East Asia → Review + Create
Cách 2 — Azure CLI
Azure CLI— Tạo VM nguồn và Recovery Vault
# Tạo RG nguồn tại Southeast Asia
az group create --name rg-asr-source --location southeastasia

# Tạo VM Windows Server 2019
az vm create \
  --resource-group rg-asr-source \
  --name VMLab13 \
  --image Win2019Datacenter \
  --size Standard_D2s_v3 \
  --admin-username Myuser \
  --admin-password "P@ssw0rd2024!!" \
  --public-ip-sku Standard \
  --location southeastasia

# Mở port RDP và HTTP
az vm open-port \
  --resource-group rg-asr-source \
  --name VMLab13 \
  --port 3389 --priority 100
az vm open-port \
  --resource-group rg-asr-source \
  --name VMLab13 \
  --port 80 --priority 200

# Tạo RG cho Recovery Vault tại East Asia
az group create --name rg-asr-vault --location eastasia

# Tạo Recovery Services Vault
az backup vault create \
  --resource-group rg-asr-vault \
  --name vault-asr-lab13 \
  --location eastasia
2

Cấu Hình Replication Policy & Bật Replication

Replication policy xác định tần suất snapshot và thời gian giữ recovery points — đây là yếu tố trực tiếp ảnh hưởng RPO.

Cách 1 — Azure Portal
  1. 2.1Vào vault-asr-lab13 → Site Recovery → Enable replication
  2. 2.2Source region: Southeast Asia → Deployment model: Resource Manager → Next
  3. 2.3Chọn VM: VMLab13 → Next
  4. 2.4Target location: East Asia → Target resource group: (new) rg-asr-source-asr (tự tạo)
  5. 2.5Target VNet: (new) rg-asr-source-vnet-asr → Storage: giữ default
  6. 2.6Replication policy → Create new: Name: 1-day-retention-policy, Recovery point retention: 1 day, App-consistent snapshot: 6 Hours, Multi-VM consistency: No
  7. 2.7Review + Enable replication → Chờ initial replication ~30-60 phút
Kết quả (Output)— Replication Policy
Replication Policy: 1-day-retention-policy
-------------------------------------------
Recovery point retention:         24 hours (1 day)
App-consistent snapshot freq:     Every 6 hours
Multi-VM consistency:             Disabled
RPO threshold:                    24 hours
Replication type:                 Continuous (async)
3

Giám Sát Trạng Thái Replication

Cách 1 — Azure Portal
  1. 3.1Vault → Site RecoveryReplicated items → click vào VMLab13
  2. 3.2Theo dõi: Replication health (Healthy/Warning/Critical), Replication progress (% hoàn thành)
  3. 3.3Mục Recovery points: xem crash-consistent và app-consistent points
  4. 3.4Vault → Overview → xem Infrastructure view: Source → ASR → Target topology
  5. 3.5Chờ status chuyển sang "Protected" trước khi thực hiện Test Failover
Azure CLI— Kiểm tra trạng thái replication
# Xem replication items trong vault
az site-recovery replication-protected-item list \
  --resource-group rg-asr-vault \
  --vault-name vault-asr-lab13 \
  --fabric-name asr-fabric-southeastasia \
  --protection-container-name asr-container-southeastasia \
  --query "[].{Name:name, Health:properties.replicationHealth, State:properties.replicationState}" \
  --output table
4

Test Failover — Kiểm Tra DR Không Ảnh Hưởng Production

Test Failover tạo VM bản sao tại East Asia từ recovery point đã chọn. VM production tại Southeast Asia vẫn chạy bình thường — không có downtime, không ảnh hưởng replication.

Cách 1 — Azure Portal
  1. 4.1Vault → Replicated items → VMLab13 → Test failover
  2. 4.2Recovery point: Latest app-consistent (khuyến nghị cho app chạy bình thường)
  3. 4.3Azure virtual network: chọn VNet DR tại East Asia → OK
  4. 4.4Chờ ~10-15 phút → VM test xuất hiện trong rg-asr-source-asr với tên VMLab13-test
  5. 4.5Vào VM test → gán Public IP Standard → RDP kiểm tra OS hoạt động, kiểm tra services
  6. 4.6Sau khi verify xong → Vault → Replicated items → VMLab13 → Cleanup test failover → Notes: "Test passed" → OK
Azure CLI— Gán Public IP cho VM test failover
# Tạo Public IP Standard (SKU bắt buộc với VM mới)
az network public-ip create \
  --resource-group rg-asr-source-asr \
  --name pip-vmlab13-test \
  --sku Standard \
  --allocation-method Static \
  --location eastasia

# Gán vào NIC của VM test (thay tên NIC thực tế)
az network nic ip-config update \
  --resource-group rg-asr-source-asr \
  --nic-name <NIC_VM_TEST> \
  --name ipconfig1 \
  --public-ip-address pip-vmlab13-test

# Lấy Public IP
az network public-ip show \
  --resource-group rg-asr-source-asr \
  --name pip-vmlab13-test \
  --query ipAddress -o tsv
Checklist kiểm tra Test Failover:
  • VM tại East Asia khởi động thành công (status: Running)
  • RDP kết nối được, đăng nhập OS thành công
  • Web server (IIS/app) chạy bình thường
  • Dữ liệu application nhất quán (app-consistent point)
  • VM production tại SEA vẫn chạy, replication vẫn healthy
5

Production Failover (Khái Niệm & Quy Trình)

Khác với Test Failover, Production Failover (Planned/Unplanned) thực sự chuyển workload sang DR region. Lab này mô tả quy trình — không thực hiện thật để tiết kiệm chi phí.

Planned Failover

Dùng khi cần maintenance có lịch. VM nguồn tắt trước, replicate lần cuối, VM DR start. Downtime = thời gian shutdown + failover (~5-15 phút).

Unplanned Failover

Dùng khi disaster thật sự xảy ra. VM DR start từ recovery point gần nhất. Có thể mất dữ liệu chưa kịp replicate (tùy RPO config).

Azure CLI— Tham khảo: Production Failover
# CẢNH BÁO: Chỉ chạy khi thực sự cần DR failover
# Bước 1: Khởi tạo failover (thay tên fabric/container thực tế)
az site-recovery replication-protected-item failover-commit \
  --resource-group rg-asr-vault \
  --vault-name vault-asr-lab13 \
  --fabric-name asr-fabric-southeastasia \
  --protection-container-name asr-container-southeastasia \
  --replicated-protected-item-name VMLab13

# Sau failover: Commit để hoàn tất
# Vault → Replicated items → VMLab13 → Commit Failover

# Reprotect (bắt đầu replicate ngược lại từ DR → Primary)
# Vault → Replicated items → VMLab13 → Re-protect

🧹 Dọn Dẹp Tài Nguyên

Quan trọng: Phải Disable replication trước khi xóa vault và resource groups. Nếu xóa RG trước, vault sẽ báo lỗi orphaned items.
Azure CLI— Dọn dẹp theo thứ tự đúng
# Bước 1: Disable replication qua Portal trước
# Vault → Replicated items → VMLab13 → Disable Replication → OK
# (Chờ ~5 phút để hoàn tất)

# Bước 2: Xóa resource groups theo thứ tự
az group delete --name rg-asr-source --yes --no-wait
az group delete --name rg-asr-vault --yes --no-wait
az group delete --name rg-asr-source-asr --yes --no-wait

# Xác nhận tất cả đã xóa
az group list --output table | grep asr

📊 Kết Quả Đầu Ra Lab 13

Recovery Services Vault tạo thành công

vault-asr-lab13 tại East Asia với geo-redundant storage

Replication Policy cấu hình đúng

RPO 24h, app-consistent snapshot mỗi 6h

VMLab13 trạng thái Protected

Replication health: Healthy — recovery points available

Test Failover thành công

VM DR tại East Asia chạy đúng, RDP kết nối được

VM Production không bị ảnh hưởng

VMLab13 tại SEA vẫn running trong suốt Test Failover

Hiểu rõ RPO/RTO trong thực tế

RPO thực tế < 5 phút, RTO failover < 15 phút với ASR

❓ Câu Hỏi Ôn Tập

1. RPO và RTO khác nhau như thế nào? Tại sao doanh nghiệp cần xác định cả hai trước khi thiết kế DR?

Gợi ý: RPO = dữ liệu chấp nhận mất (time-based), RTO = thời gian khôi phục tối đa. Hai chỉ số này quyết định chi phí DR — RPO/RTO càng thấp, chi phí càng cao.

2. Tại sao Recovery Services Vault phải đặt ở region KHÁC với VM nguồn?

Gợi ý: Nếu cùng region, khi region đó bị sự cố thì cả VM lẫn Vault đều mất — mục đích DR không đạt được

3. Sự khác nhau giữa Crash-consistent và App-consistent recovery point là gì?

Gợi ý: Crash-consistent = snapshot tại một thời điểm (như rút điện). App-consistent = ứng dụng được thông báo để flush data, đảm bảo nhất quán DB/app.

4. Test Failover khác Production Failover ở điểm nào quan trọng nhất?

Gợi ý: Test không ảnh hưởng replication và không dừng VM production. Production failover thực sự chuyển workload và cần commit/reprotect sau đó.

5. Azure Site Recovery khác Azure Migrate ở điểm gì? Khi nào dùng ASR, khi nào dùng Azure Migrate?

Gợi ý: ASR = Disaster Recovery liên tục (bảo vệ production đang chạy). Azure Migrate = migration một lần từ on-premises lên cloud. ASR cũng từng dùng để migrate nhưng Azure Migrate là công cụ hiện hành cho migration.

Lab 12: Migrate Virtualized Servers Thư viện Labs Lab 14: Migrate Physical Servers
Zalo