Kiến trúc tổng thể doanh nghiệp
Nền tảng là cụm Hyper-V HA (Bài 02) + lưu trữ chia sẻ (Bài 03). Bên trên là các tầng dịch vụ tách biệt bằng VLAN: tầng Edge/DMZ phơi ra Internet, tầng App & Data chỉ nội bộ, và mạng Management/Storage riêng.
(FortiGate / pfSense)"] FW --> DMZ subgraph CLUSTER["⚙️ Cụm Hyper-V HA (H-NODE01 + H-NODE02 + ...)"] subgraph DMZ["🔶 DMZ · VLAN 40 (public)"] RP["RPROXY01
NGINX reverse proxy"] WEBP["WEB-PUB
website công ty"] end subgraph APP["🟦 App · VLAN 20 (internal)"] APPS["APP01 / WEB01
Win .NET · Linux"] RDS["RDS01
Remote Desktop"] end subgraph DATA["🟪 Data · VLAN 20 (internal)"] DC["H-DC/H-DC02
AD·DNS·DHCP"] SQLDB["SQL01 · PG01
CSDL"] FSV["FS01
File/DFS"] end end RP --> APPS APPS --> SQLDB APPS --> DC MGMT["🖥️ WAC · SCVMM · Backup · Monitoring
VLAN 10 Management"] -. quản lý .-> CLUSTER style DMZ fill:#7c2d12,color:#fff style APP fill:#1e3a8a,color:#fff style DATA fill:#581c87,color:#fff style MGMT fill:#0e7490,color:#fff
Thiết kế mạng & phân vùng VLAN
Tách lưu lượng bằng VLAN để cô lập tầng — DMZ không nói chuyện trực tiếp với Data, public không chạm host. Sơ đồ IP mẫu doanh nghiệp:
| VLAN | Subnet (mẫu) | Mục đích | Phơi Internet? |
|---|---|---|---|
| 10 · Management | 10.100.10.0/24 | Host, WAC, SCVMM, iDRAC/iLO, backup | Không |
| 20 · Server-Internal | 10.100.20.0/24 | AD/DNS, SQL, App, File server | Không |
| 30 · Client | 10.100.30.0/24 | Máy trạm người dùng | Không |
| 40 · DMZ | 10.100.40.0/24 | Reverse proxy, web public, mail GW | Qua firewall |
| 50 · Storage (iSCSI) | 10.100.50.0/24 | Lưu lượng SAN/S2D | Không |
| 60 · Live Migration | 10.100.60.0/24 | Di chuyển VM giữa node | Không |
Cách GUI: Hyper-V Manager → VM Settings → Network Adapter → tick "Enable virtual LAN identification" → nhập VLAN ID (20 cho server, 40 cho DMZ).
LAB demo dùng 1 dải 10.100.100.0/24 cho gọn; production nên tách VLAN như bảng trên. Switch vật lý phải cấu hình trunk các VLAN xuống cổng host.
Danh mục máy ảo (Windows + Linux)
| VM | OS | Vai trò | VLAN | Public? |
|---|---|---|---|---|
| H-DC / H-DC02 | Windows Server | AD DS · DNS · DHCP (2 bản dự phòng) | 20 | Không |
| FS01 | Windows Server | File Server · DFS · quyền NTFS | 20 | Không |
| SQL01 | Windows Server | SQL Server (CSDL nội bộ) | 20 | Không |
| PG01 | Linux (Ubuntu) | PostgreSQL (CSDL app) | 20 | Không |
| APP01 | Win / Linux | App server (.NET / Node / Java) | 20 | Không |
| RDS01 | Windows Server | Remote Desktop / VDI nhân viên | 20 | Không |
| DOCKER01 | Linux | Docker host (microservices) | 20 | Không |
| RPROXY01 | Linux (NGINX) | Reverse proxy / TLS / WAF | 40 DMZ | Có (443) |
| WEB-PUB | Linux / Win | Website công ty (sau proxy) | 40 DMZ | Gián tiếp |
| MAILGW | Linux | Mail relay / SMTP gateway | 40 DMZ | Có (25/465) |
| MON01 | Linux | Zabbix / Grafana / Prometheus | 10 | Không |
| BACKUP01 | Windows | Veeam / Windows Server Backup | 10 | Không |
Tất cả VM trên đều là HA (nằm trên CSV của cụm) — 1 host chết, chúng tự failover. H-DC/H-DC02 đặt anti-affinity để luôn ở 2 node khác nhau (xem Bài 06).
Sizing phần cứng (vừa & lớn)
| Hạng mục | Doanh nghiệp vừa (~50–150 user) | Doanh nghiệp lớn (300–1000+ user) |
|---|---|---|
| Số host | 2–3 node | 4–8+ node (có thể Cluster Sets) |
| CPU / host | 2× 16–24 core | 2× 32–64 core |
| RAM / host | 256–512 GB | 512 GB – 1 TB+ |
| Lưu trữ | S2D/SAN 10–20 TB (SSD) | SAN/S2D NVMe 50–100 TB+ tiered |
| Mạng | 10 GbE (tách VLAN) | 25/100 GbE + RDMA (SET) |
| Quản lý | WAC (miễn phí) | WAC + SCVMM + Azure Arc |
| DR | Hyper-V Replica sang site 2 | Storage Replica + site DR + ASR |
Chạy máy ảo Linux trên Hyper-V
- Dùng Gen2 cho distro đời mới (Ubuntu, RHEL/Rocky, Debian, SUSE) — UEFI, boot nhanh.
- Secure Boot: phải đổi template sang Microsoft UEFI Certificate Authority (không phải template Windows) thì Linux mới boot.
- Integration Services (LIS) đã tích hợp sẵn trong kernel Linux hiện đại — không cần cài thêm.
- Cân nhắc tắt Dynamic Memory cho DB Linux (một số workload không hỗ trợ tốt) — đặt RAM tĩnh.
Cách GUI: Hyper-V Manager → New → Virtual Machine → Generation 2 → VHDX trên C:\ClusterStorage\Volume1 → chọn vSwitch. QUAN TRỌNG: VM Settings → Security → Secure Boot → Template: "Microsoft UEFI Certificate Authority" (nếu không Linux không boot). Gắn ISO ở SCSI Controller → DVD.
Phơi dịch vụ ra Internet an toàn
Nguyên tắc vàng: không bao giờ phơi VM nội bộ hay host trực tiếp. Mọi truy cập public đi qua chuỗi: Firewall → Reverse Proxy (DMZ) → dịch vụ nội bộ.
- Firewall port-forward/NAT 443 → chỉ tới IP reverse proxy trong DMZ.
- Reverse proxy (NGINX/IIS ARR) kết thúc TLS + bật WAF + rate-limit, rồi proxy nội bộ.
- Firewall chặn DMZ khởi tạo kết nối vào VLAN Data (chỉ cho cổng cần thiết).
- Chứng chỉ TLS (Let's Encrypt / CA nội bộ), HSTS, chỉ TLS 1.2+.
Firewall vành đai có thể chạy ngay trên cụm — xem Bài 08 · Phụ lục: FortiGate-VM trên Hyper-V (VIP NAT 443, UTM, FGCP HA).
Runbook triển khai end-to-end
| Giai đoạn | Việc | Tham chiếu |
|---|---|---|
| 1. Nền tảng | Cài WS trên host, BIOS ảo hoá, role Hyper-V | Bài 01 |
| 2. Mạng & VLAN | vSwitch SET, trunk VLAN, tách Mgmt/Storage/LM | #network |
| 3. Cụm + Storage | Failover Cluster, CSV (S2D/SAN), witness | Bài 02 · 03 |
| 4. Lõi dịch vụ | H-DC/H-DC02 (AD/DNS/DHCP), File, CSDL | #vm-inventory |
| 5. Workload | App, RDS, Docker, VM Linux | #linux |
| 6. DMZ & Public | Reverse proxy, firewall NAT, TLS | #public |
| 7. Bảo mật | Hardening host/VM, RBAC, vTPM, BitLocker | Bài 04 |
| 8. Backup & DR | Replica, 3-2-1, Storage Replica site 2 | Bài 05 |
| 9. Giám sát | Monitoring, alert, CAU patching | Bài 05 |
| 10. Go-live | Test HA, DR drill, bàn giao | #golive |
🧪 LAB Capstone — Đưa 1 web app Linux ra Internet
Mục tiêu: trên cụm, dựng WEB01 (Ubuntu, nội bộ VLAN20) chạy NGINX, và RPROXY01 (DMZ VLAN40) reverse proxy; firewall NAT 443 → người ngoài truy cập được, host & WEB01 không lộ.
Tạo 2 VM Linux HA trên CSV + gán VLAN
Cách GUI: Hyper-V Manager → New VM (Gen2) cho WEB01 & RPROXY01 trên CSV → Security → Secure Boot template "Microsoft UEFI Certificate Authority" → Network Adapter → VLAN ID 20 (WEB01) / 40 (RPROXY01). Failover Cluster Manager → Roles → Configure Role → Virtual Machine để bật HA.
Trong WEB01 (Ubuntu): cài web nội bộ
Trong RPROXY01 (DMZ): reverse proxy + TLS
Firewall: NAT 443 → chỉ tới RPROXY01
Trên FortiGate/pfSense: tạo Virtual IP / port-forward WAN:443 → 10.100.40.10:443; chặn DMZ→VLAN20 trừ cổng 80 tới WEB01.
Kiểm chứng: từ ngoài Internet mở https://app.congty.com → thấy trang "Capstone OK" (phục vụ bởi WEB01 qua RPROXY01). Tắt 1 host → web vẫn chạy (HA). Host & WEB01 không có IP public.
Checklist Go-live doanh nghiệp
Hạ tầng & HA
- Validate cluster PASS · witness OK
- Test failover: rút điện 1 host, VM tự lên
- Live Migration 0 downtime cho mọi VM
- CAU patching chạy thử 1 vòng
Bảo mật & DR
- Hardening host/VM, RBAC, không Domain Admin
- Backup 3-2-1 + test restore thật
- Replica/Storage Replica sang site 2 · DR drill
- Public chỉ qua DMZ + WAF + TLS
Vận hành
- Monitoring + alert (host, VM, dịch vụ)
- DC/CSDL có 2 bản · anti-affinity
- Tài liệu IP, VLAN, sơ đồ, runbook bàn giao
Hoàn thành
Bạn đã có 1 hệ thống ảo hoá doanh nghiệp HA, bảo mật, có DR & giám sát, chạy đủ Windows + Linux, dịch vụ public & internal — sẵn sàng production. 🎉