Mục tiêu buổi học
- Hiểu kiến trúc vSAN HCI: Disk Groups, Cache/Capacity Tiers, Fault Domains
- Cấu hình và verify vSAN Cluster từ đầu
- Thiết kế Storage Policies phù hợp với FTT và RAID method
- Triển khai vCenter HA (Active/Passive/Witness)
- Cấu hình VCSA File-Based Backup tự động và quy trình DR drill
Lý Thuyết
vSAN Architecture — HCI (Hyper-Converged Infrastructure)
vSAN 8.0 — Hai kiến trúc lưu trữ:
OSA (Original Storage Architecture) — truyền thống:
Hybrid: SSD cache + HDD capacity → Disk Groups
All-Flash: NVMe/SSD cache + SSD capacity → Disk Groups
Mỗi host: ≥1 cache disk + ≥1 capacity disk per Disk Group
ESA (Express Storage Architecture) — MỚI trong vSAN 8.0:
Yêu cầu: NVMe SSD only (không dùng HDD)
Không có Disk Groups — single-tier architecture
Hiệu năng cao hơn OSA, đơn giản hóa cấu hình
Mỗi host: tối thiểu 1 NVMe disk
vSAN Cluster — Distributed Storage (OSA):
ESXi Host 1 ESXi Host 2 ESXi Host 3
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Disk Group 1│ │ Disk Group 1│ │ Disk Group 1│
│ ┌─────────┐ │ │ ┌─────────┐ │ │ ┌─────────┐ │
│ │NVMe/SSD │ │ │ │NVMe/SSD │ │ │ │NVMe/SSD │ │
│ │(Cache) │ │ │ │(Cache) │ │ │ │(Cache) │ │
│ │SAS ×4 │ │ │ │SAS ×4 │ │ │ │SAS ×4 │ │
│ │(Capacity│ │ │ │(Capacity│ │ │ │(Capacity│ │
│ └─────────┘ │ │ └─────────┘ │ │ └─────────┘ │
└─────────────┘ └─────────────┘ └─────────────┘
↕────────── 10/25 Gbps vSAN Network ──────────↕
→ vSAN Datastore (vsanDatastore)
Shared, distributed, software-defined
vSAN Storage Policies — FTT & RAID
| Policy | FTT | Method | Min Hosts | Overhead | Use Case |
|---|---|---|---|---|---|
| RAID-1 Mirror | 1 | Mirroring | 3 | 2x | Standard production |
| RAID-1 Mirror | 2 | Mirroring | 5 | 3x | High availability |
| RAID-5 Erasure | 1 | Erasure Coding | 4 | 1.33x | Storage efficient |
| RAID-6 Erasure | 2 | Erasure Coding | 6 | 1.5x | Efficient + HA |
vSAN Fault Domains — Rack-level Tolerance
Fault Domain = nhóm hosts cùng chia sẻ common failure point (cùng rack, cùng PDU) Fault Domain A Fault Domain B Fault Domain C ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ ESXi-01 │ │ ESXi-03 │ │ ESXi-05 │ │ ESXi-02 │ │ ESXi-04 │ │ ESXi-06 │ │ (Rack 1) │ │ (Rack 2) │ │ (Rack 3) │ └──────────────┘ └──────────────┘ └──────────────┘ FTT=1: Survive mất toàn bộ 1 rack (Fault Domain A fail → B + C đủ) → Yêu cầu: ≥ 3 Fault Domains Witness Host: nếu chỉ có 2 Fault Domains → Witness host ở vị trí thứ 3 (tiebreaker) → Không chứa data, chỉ chứa metadata
vCenter High Availability (vCenter HA)
vCenter HA ≠ vSphere HA
vSphere HA: protect VMs khi ESXi host fail
vCenter HA: protect chính VCSA appliance
Topology:
Active VCSA ←──HA Network──→ Passive VCSA
↕ ↕
└──────────→ Witness ←─────────┘
(tiebreaker)
Sync: Active → Passive mỗi 30 giây (config + DB)
Failover scenario:
Active VCSA fails
↓ Witness detects (quorum)
↓ Passive promoted to Active (~5 phút)
↓ DNS không đổi (VIP address)
↓ All hosts reconnect tự động
RPO: ~30 giây (last sync)
RTO: ~5 phút
Requirements:
- 3 VMs: Active + Passive + Witness
- Dedicated HA Network (low latency <10ms)
- Passive: full copy của Active
VCSA Backup Methods — So sánh
| Method | Bao gồm | RTO | Destination | Khuyến nghị |
|---|---|---|---|---|
| File-Based (VAMI) | Config, Inventory, Events | 2-4 giờ | FTP/SCP/NFS/SMB | Luôn cần thiết |
| Image-Based (Veeam) | Full VCSA VM disk | 30-60 phút | Backup repo | Bổ sung thêm |
| vCenter HA | Runtime state only | ~5 phút | N/A | Không thay thế backup |
Lab Thực Hành
Lab 13.1 — Cấu hình vSAN Cluster
Yêu cầu tối thiểu:
- 3 ESXi hosts
- OSA: Mỗi host ≥1 cache disk (SSD/NVMe) + ≥1 capacity disk
- ESA: Mỗi host ≥1 NVMe SSD (single-tier, không cần cache riêng)
- 10 Gbps dedicated vSAN network
- vSAN license
Bước 1: Chuẩn bị VMkernel vSAN trên mỗi host
Host → Configure → VMkernel Adapters → Add
Port Group: DPG-vSAN (VLAN 20)
IP: 192.168.20.11 (host1), .12, .13
Services: ✓ vSAN
Bước 2: Bật vSAN trên Cluster
Cluster → Configure → vSAN → Services → Turn ON vSAN
vSAN Type: □ Single Site Cluster (lab)
Claim Disks → Claim Unused Disks for vSAN
Mỗi host:
Cache tier: NVMe/SSD (1 disk per disk group)
Capacity tier: SAS/SATA HDDs (1-7 per disk group)
Bước 3: Verify
vSAN Datastore xuất hiện: "vsanDatastore"
Cluster → Monitor → vSAN → Health → Run Tests
Tất cả kết quả green ✓
Bước 4: Tạo vSAN Storage Policy
VM Storage Policies → Create
Name: vSAN-RAID5-FTT1
Rules → vSAN:
Failures to Tolerate: 1
RAID/Erasure Coding: RAID-5/6 Erasure Coding
Checksums: Enabled
Force Provisioning: No
Lab 13.2 — vSAN Health Check và Monitoring
Cluster → Monitor → vSAN → Health Critical checks: ✓ vSAN disk balance (rebalance nếu >10% imbalance) ✓ Network Health (latency <1ms, packet loss 0%) ✓ HCL Health (disks on VMware HCL) ✓ vSAN object health (No degraded objects) ✓ Advanced vSAN Configuration (MTU, multicast) --- Rebalance vSAN (khi hosts mất cân bằng) --- vSAN → Rebalance → Proactive Rebalance --- vSAN Performance Service --- Cluster → Configure → vSAN → Services → Performance Service: ON Cluster → Monitor → vSAN → Performance View: IOPS, Latency, Throughput per VM/Disk Group --- Kiểm tra objects health --- Cluster → Monitor → vSAN → Virtual Objects Status: Healthy / Degraded / Absent Nếu Degraded → Repair Objects ngay
Lab 13.3 — Cấu hình vCenter HA
vSphere Client → vCenter → Configure → vCenter HA → Set Up Bước 1: Chọn phương thức → Basic (vCenter tự tạo Passive + Witness clone) Bước 2: Cấu hình HA Network Network: DPG-vCenter-HA (dedicated VLAN 40) Active node IP: 192.168.40.10 Passive node IP: 192.168.40.11 Witness node IP: 192.168.40.12 Bước 3: Finish vCenter tự động clone VCSA → Passive + Witness Quá trình: ~30 phút Bước 4: Verify Configure → vCenter HA → State: Healthy Active: vcsa-01.lab.local (primary) Passive: sync 100% ✓ Witness: connected ✓ Bước 5: Test failover (planned) vCenter HA → Initiate Failover (planned) Theo dõi: Passive → Active trong ~5 phút Xác nhận: vSphere Client vẫn accessible Xác nhận: tất cả hosts và VMs visible
Lab 13.4 — VCSA File-Based Backup (VAMI)
Truy cập VAMI: https://vcsa-01.lab.local:5480 Đăng nhập: root / password Backup → Configure Backup Location: Protocol: SCP Server: 10.100.100.50 (backup server) Port: 22 User: backup-svc Password: **** Directory: /backups/vcsa Schedule: ✓ Enable scheduled backup Frequency: Daily Time: 02:00 AM Retention: 7 (giữ 7 bản backup gần nhất) Data to backup: ✓ Configuration (bắt buộc) ✓ Inventory (recommended) □ Events and Tasks (tùy chọn — tốn nhiều space) → Save → Run Backup Now (kiểm tra ngay) Verify: SSH vào backup server: ls -lh /backups/vcsa/ # File: sn-vcsa-01_20260418_020000_xxxxx/ # Chứa: config.json, metadata, inventory files --- Restore procedure (khi cần) --- Mount VCSA ISO → Installer → Restore Source backup: SCP://10.100.100.50/backups/vcsa/sn-vcsa-01_... Target ESXi: 10.100.100.11 → Stage 1: Deploy new VCSA (30 phút) → Stage 2: Restore config + inventory (60-120 phút)
ỨNG DỤNG DOANH NGHIỆP — MODULE 13
vSAN configuration & operations trong môi trường doanh nghiệp — từ thiết kế cluster, SPBM policy, fault domains đến deduplication ROI và stretched cluster cho active-active DC.
1. vSAN Cluster Design — Hybrid vs All-Flash & Sizing
Lựa chọn All-Flash hay Hybrid phụ thuộc workload và ngân sách — All-Flash là xu hướng chính cho production từ 2022.
| Tiêu chí | Hybrid vSAN | All-Flash vSAN | All-NVMe vSAN |
|---|---|---|---|
| Cache tier | SSD (read+write cache) | SSD/NVMe (write cache only) | NVMe (write cache only) |
| Capacity tier | SAS/SATA HDD | SSD/SAS SSD | NVMe SSD |
| Latency | 2-5 ms | < 1 ms | < 0.5 ms |
| Workload | ROBO, VDI, file server | DB, ERP, vCenter | Core banking, real-time analytics |
| Dedup/Compress | Chỉ Compression | Dedup + Compression | Dedup + Compression + Erasure |
| Chi phí TB hữu dụng | Thấp nhất | Trung bình | Cao nhất |
### vSAN Sizing Ví dụ Thực Tế — 100 VMs Production Inputs: - 100 VMs, avg 200 GB vDisk, 800 IOPS/VM - FTT=1 (RAID-5 Erasure Coding) → overhead 1.33× - All-Flash cluster, Dedup+Compress ratio ~2.5:1 Capacity calculation: Raw needed: 100 VMs × 200 GB = 20 TB After FTT RAID-5: 20 TB × 1.33 = 26.6 TB raw After dedup: 26.6 TB / 2.5 = 10.7 TB actual raw needed Hardware config (4 nodes × 2 disk groups): Cache: 2× Intel P4510 400GB NVMe per disk group Capacity: 4× Samsung 3.84TB SAS SSD per disk group Per node: 2 DG × 4 × 3.84TB = 30.72 TB raw Cluster: 4 nodes × 30.72 TB = 122.88 TB raw Usable after RAID-5 FTT=1: ~82 TB ✓ (target 10.7 TB actual) Performance: 4 nodes × (2 DG × ~100K IOPS NVMe cache) = ~800K IOPS Target: 100 VMs × 800 IOPS = 80K IOPS → OK
2. Storage Policy Based Management (SPBM) cho vSAN
SPBM là cơ chế tự động đảm bảo mọi VM được lưu trữ đúng theo SLA yêu cầu — không cần admin can thiệp thủ công mỗi khi tạo VM.
### PowerCLI — Tạo vSAN Storage Policies
Connect-VIServer vcsa-01.lab.local
# Policy 1: Gold — FTT=1 RAID-1 Mirror (tốt nhất cho recovery time)
New-SpbmStoragePolicy -Name "vSAN-Gold-RAID1-FTT1" -Description "Production critical, RAID-1" `
-RuleSet @(New-SpbmRuleSet -AllOfRules @(
New-SpbmRule -Capability (Get-SpbmCapability "VSAN.hostFailuresToTolerate") -Value 1,
New-SpbmRule -Capability (Get-SpbmCapability "VSAN.replicationFactor") -Value 2,
New-SpbmRule -Capability (Get-SpbmCapability "VSAN.forceProvisioning") -Value $false
))
# Policy 2: Silver — FTT=1 RAID-5 Erasure Coding (tiết kiệm space hơn)
New-SpbmStoragePolicy -Name "vSAN-Silver-RAID5-FTT1" -Description "Production standard, RAID-5" `
-RuleSet @(New-SpbmRuleSet -AllOfRules @(
New-SpbmRule -Capability (Get-SpbmCapability "VSAN.hostFailuresToTolerate") -Value 1,
New-SpbmRule -Capability (Get-SpbmCapability "VSAN.erasureCodingRedundancy") -Value $true
))
# Policy 3: Dev — FTT=0 (không redundancy, tiết kiệm cho dev)
New-SpbmStoragePolicy -Name "vSAN-Dev-FTT0" -Description "Dev only, no redundancy"
# Gán policy cho VM
Set-SpbmEntityConfiguration -StoragePolicy (Get-SpbmStoragePolicy "vSAN-Gold-RAID1-FTT1") `
-Entity (Get-HardDisk -VM "WINDB-ERP-PRD-01")
SPBM — Lưu ý quan trọng
- Mỗi VM disk (vmdk) có thể gán policy riêng — OS disk Gold, data disk Silver
- vSAN sẽ "non-compliant" khi cluster không đủ nodes để đáp ứng FTT policy
- Monitor compliance: vSphere Client → vSAN → Virtual Objects → chỉ số non-compliant
- FTT=1 cần tối thiểu 3 hosts; FTT=2 cần 5 hosts; FTT=3 cần 7 hosts
3. Disk Group Configuration & Fault Domains
Fault Domains ánh xạ failures domain vật lý (rack, power circuit) vào vSAN — đảm bảo dữ liệu replicas nằm ở các rack khác nhau.
### vSAN Fault Domain Topology — 2-Rack Design
RACK A (Fault Domain 1) RACK B (Fault Domain 2)
┌────────────────────────┐ ┌────────────────────────┐
│ esxi-r01-01 [DG1,DG2]│ │ esxi-r02-01 [DG1,DG2]│
│ esxi-r01-02 [DG1,DG2]│ │ esxi-r02-02 [DG1,DG2]│
└────────────────────────┘ └────────────────────────┘
Power Circuit A Power Circuit B
FTT=1 RAID-1: Component A trên Rack A, Component B trên Rack B
→ Toàn bộ Rack A die → dữ liệu vẫn OK từ Rack B ✓
### Cấu hình Fault Domains via PowerCLI
$cluster = Get-Cluster "CL-HN-Prod-01"
$vsan = $cluster | Get-VsanClusterConfiguration
# Tạo Fault Domain cho 2 racks
$fd1 = New-VsanFaultDomain -Cluster $cluster -Name "Rack-A"
$fd2 = New-VsanFaultDomain -Cluster $cluster -Name "Rack-B"
# Assign hosts vào fault domains
Set-VsanFaultDomain -FaultDomain $fd1 -VMHost @("esxi-hn-r01-01","esxi-hn-r01-02")
Set-VsanFaultDomain -FaultDomain $fd2 -VMHost @("esxi-hn-r02-01","esxi-hn-r02-02")
### Disk Group Best Practices
# All-Flash: 1 NVMe cache disk + 4-7 SSD capacity disks per disk group
# Max 5 disk groups per host
# Cache disk failure → toàn disk group unavailable → quan trọng dùng SSD chất lượng cao
# Monitor: vSphere Client → vSAN → Disk Management → Disk Group Health
4. vSAN Health Service — Proactive Monitoring
vSAN Health Service tự động kiểm tra hàng trăm health checks — chạy định kỳ và phát hiện vấn đề trước khi gây outage.
| Health Category | Checks quan trọng | Khi RED — xử lý |
|---|---|---|
| Cluster | vSAN enabled, Unicast agent, FTT compliance | Kiểm tra host disconnect, network partition |
| Network | MTU 9000 check, vmknic config, latency | Verify jumbo frame end-to-end |
| Physical disk | Disk health, wear level, SMART data | Replace disk trước khi fail hoàn toàn |
| Data | Object health, non-compliant objects | Repair objects, kiểm tra FTT policy |
| Performance | Rebalance, congestion, latency spike | Check disk group IOPS, cache hit ratio |
### esxcli — vSAN Health CLI Commands
SSH vào ESXi host hoặc dùng PowerCLI:
# Kiểm tra vSAN cluster status
esxcli vsan cluster get
# Xem disk health
esxcli vsan storage list
# Kiểm tra vSAN objects non-compliant
python /usr/lib/vmware/vsan/bin/vsan-health-status.py
### PowerCLI — vSAN Health Report
Get-VsanView -VsanObjectType VsanVcClusterHealthSystem |
ForEach-Object { $_.VsanQueryVcClusterHealthSummary($cluster.ExtensionData.MoRef,
$null, $null, $true, $null, $null, "defaultView") } |
Select-Object -ExpandProperty Groups |
ForEach-Object { "$($_.GroupName): $($_.GroupHealth)" }
5. Deduplication & Compression ROI — Tính Toán Thực Tế
Dedup+Compression chỉ có trên All-Flash vSAN — tiết kiệm không gian đáng kể cho workloads có dữ liệu trùng lặp cao như VDI và clone VMs.
| Workload Type | Dedup Ratio | Compression Ratio | Total Savings | Note |
|---|---|---|---|---|
| VDI (Windows 10 clone) | 3-5:1 | 1.5-2:1 | 5-10:1 | Rất hiệu quả — OS nhiều block giống nhau |
| VM Templates/Clones | 2-4:1 | 1.3-1.8:1 | 3-7:1 | Nhiều VMs từ 1 template |
| Database (SQL/Oracle) | 1.1-1.3:1 | 1.2-1.5:1 | 1.3-2:1 | DB data đã được compress, ít dedup |
| Multimedia / Video | 1.0:1 | 1.0:1 | 1.0:1 | Không hiệu quả — data đã compress |
ROI Calculation — 100 VDI Desktops
Raw vDisk: 100 VMs × 80 GB = 8 TB
FTT=1 RAID-5 overhead: 8 TB × 1.33 = 10.64 TB
After Dedup (4:1): 10.64 TB / 4 = 2.66 TB
After Compress (1.8:1): 2.66 TB / 1.8 = 1.48 TB actual disk used
Savings: 10.64 TB → 1.48 TB = 86% space reduction = 7.2:1 overall ratio
6. Stretched Cluster — Active-Active Multi-DC Design
vSAN Stretched Cluster cho phép 1 cluster trải dài 2 data center — VMs chạy active ở cả 2 site với RPO=0 (synchronous replication).
### vSAN Stretched Cluster Topology
PREFERRED SITE (DC Hà Nội) SECONDARY SITE (DC HCM)
┌────────────────────────┐ ┌────────────────────────┐
│ esxi-hn-01 [vSAN] │ │ esxi-hcm-01 [vSAN] │
│ esxi-hn-02 [vSAN] │◄── sync ►│ esxi-hcm-02 [vSAN] │
│ esxi-hn-03 [vSAN] │ latency │ esxi-hcm-03 [vSAN] │
└────────────────────────┘ <5ms └────────────────────────┘
▲ ▲
│ WITNESS HOST │
└──────── esxi-witness (cloud) ──────┘
(tiebreaker cho split-brain)
Requirements:
- Network latency site-to-site: <5 ms RTT (bắt buộc)
- Bandwidth: minimum 10 Gbps giữa 2 sites
- Witness host: 3rd location, VM nhỏ, chỉ metadata
- vSAN Advanced hoặc Enterprise license
- FTT policy: "Preferred/Secondary" cho PFTT=1
### Cấu hình Stretched Cluster
# 1. Deploy Witness Appliance (OVA) tại 3rd site/cloud
# 2. vSphere Client → Cluster → Configure → vSAN → Fault Domains
# → "Stretched Cluster" → Define Preferred/Secondary site + Witness
# 3. Đặt VM Affinity rules: VMs critical → Preferred site
# 4. DRS anti-affinity: tránh tất cả VMs chạy chỉ ở 1 site
Checklist Stretched Cluster Setup
Checklist Operational vSAN