Mục Tiêu Buổi Học
- Hiểu rõ tại sao doanh nghiệp cần ảo hóa và ROI thực tế đạt được
- Nắm vững kiến trúc vSphere Stack: ESXi, vCenter, vMotion, HA, DRS
- Cài đặt thành công ESXi 8.0.3 từ ISO và cấu hình sau cài đặt qua DCUI
- Cấu hình ESXi qua Host Client: NTP, SSH, Syslog, Local Users
- Tạo Kickstart script để deploy ESXi tự động (scripted install)
- Dựng môi trường lab nested VMware cho toàn bộ khóa học
MODULE 1 — Nền Tảng Lý Thuyết Ảo Hóa & vSphere
1.1 Tại Sao Cần Ảo Hóa?
Vấn đề trước ảo hóa: 1 server = 1 ứng dụng → lãng phí tài nguyên (CPU/RAM sử dụng 5–15%). ROI khi ảo hóa: giảm 60–80% chi phí phần cứng, điện năng, không gian data center.
Kiến Trúc Ảo Hóa Type-1 (Bare-metal)
┌──────────────────────────────────────┐ │ Virtual Machines (VMs) │ │ VM1 VM2 VM3 VM4 │ ├──────────────────────────────────────┤ │ VMware ESXi Hypervisor │ ← Type-1 (Bare-metal) ├──────────────────────────────────────┤ │ Physical Hardware (x86) │ └──────────────────────────────────────┘
Các Thành Phần vSphere Stack
| Thành phần | Vai trò | Cài trên |
|---|---|---|
| ESXi | Hypervisor (Type-1), quản lý phần cứng | Physical server |
| vCenter Server | Quản lý tập trung nhiều ESXi hosts | VM (Appliance/VCSA) |
| vSphere Client | Web UI quản trị | Browser |
| vSphere HA | High Availability cho VMs | Cluster |
| vSphere DRS | Distributed Resource Scheduler | Cluster |
| vMotion | Live migration VM giữa hosts | Feature |
| Storage vMotion | Live migration disk VM | Feature |
| vSphere Lifecycle Manager | Patch/Update management | vCenter |
Các Loại Tài Nguyên Ảo Hóa
- vCPU → ánh xạ tới physical CPU cores
- vRAM → ánh xạ tới physical RAM
- vDisk (VMDK) → file trên datastore
- vNIC → kết nối tới virtual switch
LAB THỰC HÀNH — Module 1
Lab 1.1 — Chuẩn Bị Môi Trường Lab (Nested Virtualization)
Mục tiêu: Dựng lab nested VMware trên máy vật lý
Yêu cầu phần cứng tối thiểu (physical host): - CPU: Intel/AMD 8 cores, hỗ trợ VT-x/AMD-V + VT-d - RAM: 64 GB (khuyến nghị 128 GB) - Storage: SSD 500 GB+ - NIC: 2 port Gigabit Topology lab: Physical Host ├── ESXi-01 (VM nested) — 4 vCPU, 16 GB RAM ├── ESXi-02 (VM nested) — 4 vCPU, 16 GB RAM ├── ESXi-03 (VM nested) — 4 vCPU, 16 GB RAM └── VCSA (vCenter Appliance) — 4 vCPU, 19 GB RAM Cấu hình VMware Workstation/Fusion để nested: - Bật "Virtualize Intel VT-x/EPT or AMD-V/RVI" - Bật "Virtualize CPU performance counters"
Lab 1.2 — Kiểm Tra Tương Thích Phần Cứng
# Trên Linux host, kiểm tra CPU hỗ trợ virtualization grep -E 'vmx|svm' /proc/cpuinfo | head -5 # Kiểm tra BIOS settings cần bật: # - Intel VT-x (Virtualization Technology) # - Intel VT-d (I/O Virtualization) # - Execute Disable Bit (XD/NX)
ỨNG DỤNG DOANH NGHIỆP — Module 1
Các pattern triển khai ESXi thực tế tại doanh nghiệp — từ kiểm định phần cứng HCL, bare-metal deployment đến hardening và automation.
1. Hardware Requirements & HCL Validation
Bước bắt buộc đầu tiên trước khi mua phần cứng hoặc cài đặt ESXi — kiểm tra VMware Compatibility Guide.
Yêu cầu phần cứng tối thiểu cho ESXi 8.0.3 production
- CPU: x86-64 với hỗ trợ hardware virtualization (Intel VT-x hoặc AMD-V) — bắt buộc từ ESXi 8
- RAM: tối thiểu 8 GB — khuyến nghị production: 256 GB+ per host
- Boot disk: 32 GB+ SSD (USB/SD card không còn được hỗ trợ từ ESXi 7.0 U3)
- NIC: ít nhất 2 port (management + VM traffic) — khuyến nghị 4 port cho production
- HBA/Storage: kiểm tra driver support trên HCL trước khi order
### Quy trình kiểm tra HCL (VMware Compatibility Guide) # URL: https://compatibilityguide.broadcom.com/ # BƯỚC 1: Kiểm tra Server Model # → "System/Server" → Nhập hãng + model (Dell PowerEdge R750, HPE ProLiant DL380 Gen10) # → Xác nhận ESXi version được hỗ trợ # BƯỚC 2: Kiểm tra từng thành phần # → "I/O Device" → Kiểm tra NIC, HBA, RAID controller # → Lưu ý: driver version phải khớp # BƯỚC 3: Kiểm tra Storage Array (nếu dùng SAN/NAS) # → "Storage/SAN" → Nhập array model # → Ghi lại recommended multipath policy (Round Robin, Fixed) # BƯỚC 4: Lấy Vendor Addon ISO (nếu cần) # Dell: Dell EMC Custom Image for ESXi # HPE: HPE Custom SPP for VMware ESXi # Lenovo: Lenovo Custom Image # → Custom ISO có thêm OEM drivers không có trong VMware ISO gốc
| Vendor | Custom ISO | Lý do dùng OEM ISO | Download |
|---|---|---|---|
| Dell EMC | Dell EMC Custom ESXi | BOSS card, iDRAC integration, PERC driver | dell.com/support |
| HPE | HPE SPP Custom | Smart Array, iLO health driver, NIC firmware | hpe.com/servers/spp |
| Cisco UCS | Cisco Custom ESXi | VIC adapter driver, UCS Manager integration | cisco.com/go/ucs |
| VMware Generic | VMware Standard ISO | Dùng khi hardware đã xác nhận trên HCL | broadcom.com |
2. Bare-Metal Deployment Checklist
Danh sách kiểm tra đầy đủ trước khi deploy ESXi lên server vật lý — tránh phát hiện vấn đề sau khi đã rack server.
Trước khi cài đặt
Sau khi cài đặt
3. BIOS/UEFI Configuration cho ESXi
Các setting BIOS ảnh hưởng trực tiếp đến hiệu năng và tính ổn định của ESXi — thiếu bước này gây lỗi khó debug.
### BIOS Settings bắt buộc cho ESXi 8.0.3 ## VIRTUALIZATION Intel VT-x (Virtualization Technology) → ENABLE Intel VT-d (I/O Virtualization) → ENABLE [cần cho PCI passthrough] AMD-V / AMD-Vi → ENABLE [nếu là AMD CPU] Execute Disable Bit (XD/NX) → ENABLE ## POWER MANAGEMENT Power Profile: Performance / Max Performance → KHÔNG dùng "OS Controlled" C-States: C1E only hoặc Disabled → Giảm latency Turbo Boost → ENABLE Hyper-Threading → ENABLE [trừ security workloads] ## MEMORY NUMA Interleaving: Disabled → Để ESXi tự quản lý NUMA topology Memory Error Correction: ECC → Phải có ECC RAM cho production Memory Mirroring/Lockstep: Disabled → Tiết kiệm 50% RAM available ## STORAGE (RAID/iSCSI) HBA Mode: RAID hoặc HBA → Tùy design (RAID=VMFS, HBA=vSAN) Write Cache: Enable với BBU → Tăng performance, an toàn khi có BBU ## BOOT Boot Mode: UEFI (Secure Boot optional) → ESXi 7+ hỗ trợ UEFI Secure Boot Boot Order: USB/Virtual Media → Local Disk
NUMA Topology và tác động đến vSphere
Máy chủ 2 socket (dual-CPU) có 2 NUMA node. ESXi scheduler cố gắng giữ vCPU và vRAM của VM trong cùng NUMA node để tránh cross-NUMA memory access (latency cao hơn 30-50%). Dùng esxtop → nhấn m để xem NUMA stats. VM có nhiều vCPU hơn cores per socket sẽ bị wide-NUMA — nên tránh với database VMs.
4. Management Network Design
Tách biệt management traffic ra VLAN riêng — nguyên tắc bảo mật cơ bản, không thể bỏ qua trong production.
### TOPOLOGY — Management Network tách biệt
┌─────────────────────────────────────────────────────────┐
│ Data Center Network Design │
│ │
│ Physical Switch (Cisco/Aruba/Juniper) │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ VLAN 10 — Mgmt │ │ VLAN 20 — vMotion│ │
│ │ 10.100.10.0/24 │ │ 10.100.20.0/24 │ │
│ └──────────────────┘ └──────────────────┘ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ VLAN 30 — vSAN │ │ VLAN 100 — VM │ │
│ │ 10.100.30.0/24 │ │ 10.100.100.0/24 │ │
│ └──────────────────┘ └──────────────────┘ │
│ │
│ ESXi Host: │
│ vmk0 (mgmt) → VLAN 10 — vmnic0+vmnic1 (standby) │
│ vmk1 (vMotion) → VLAN 20 — vmnic2+vmnic3 (active) │
│ vmk2 (vSAN) → VLAN 30 — vmnic2+vmnic3 (active) │
│ VM Port Groups → VLAN 100+ — vmnic2+vmnic3 │
└─────────────────────────────────────────────────────────┘
### IP ADDRESSING PLAN (ví dụ doanh nghiệp):
VLAN 10 — ESXi Management:
esxi-hn-r01-01.hoatranlab.io.local → 10.100.10.11
esxi-hn-r01-02.hoatranlab.io.local → 10.100.10.12
esxi-hn-r01-03.hoatranlab.io.local → 10.100.10.13
vcsa-hn-prod.hoatranlab.io.local → 10.100.10.10
VLAN 20 — vMotion:
esxi-hn-r01-01 vmk1 → 10.100.20.11
esxi-hn-r01-02 vmk1 → 10.100.20.12
esxi-hn-r01-03 vmk1 → 10.100.20.13
5. ESXi Kickstart Automation — Deploy 50+ Hosts
Dùng kickstart kết hợp PXE/HTTP server để deploy hàng loạt ESXi host — giảm từ 2 giờ/host xuống còn 15 phút unattended.
### ks.cfg — Enterprise Kickstart Template
vmaccepteula
# Password SHA-512 (generate: openssl passwd -6 'VMware1!')
rootpw --iscrypted $6$rounds=4096$salt$hash...
# Cài vào disk đầu tiên, xóa partitions cũ
install --disk=/dev/sda --overwritevmfs --deletecosvmfs
# Network: static IP (hoặc dùng DHCP + set static qua %firstboot)
network --bootproto=static \
--ip=10.100.10.11 \
--netmask=255.255.255.0 \
--gateway=10.100.10.1 \
--hostname=esxi-hn-r01-01.hoatranlab.io.local \
--nameserver=10.100.10.53 \
--device=vmnic0 \
--vlanid=10
reboot
%firstboot --interpreter=busybox
# 1. Cấu hình NTP
esxcli system ntp set -s dc01.hoatranlab.io.local
esxcli system ntp set -s dc02.hoatranlab.io.local
esxcli system ntp set --enabled=true
/etc/init.d/ntpd start
# 2. Enable SSH tạm thời (tắt sau khi join vCenter)
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
# 3. Tắt ESXi Shell (security hardening)
esxcli system settings advanced set -o /UserVars/ESXiShellInteractiveTimeOut -i 3600
esxcli system settings advanced set -o /UserVars/ESXiShellTimeOut -i 3600
# 4. Cấu hình Syslog → SIEM
esxcli system syslog config set --loghost='tcp://siem.hoatranlab.io.local:514'
esxcli system syslog reload
# 5. Set Power Policy: High Performance
esxcli system power policy set --id=1
# 6. Disable IPv6 (nếu không dùng)
esxcli network ip set --ipv6-enabled=false
# 7. Firewall: cho phép chỉ những dịch vụ cần thiết
esxcli network firewall ruleset set --enabled=true --ruleset-id=syslog
esxcli network firewall ruleset set --enabled=true --ruleset-id=vSphereClient
echo "ESXi post-install complete: $(date)" > /tmp/ks-complete.log
6. Post-Install Security Hardening
Checklist hardening ESXi theo DISA STIG / CIS Benchmark — bắt buộc cho môi trường regulated (ngân hàng, chính phủ, y tế).
| Mục | Hành động | Lệnh / Vị trí | Mức độ |
|---|---|---|---|
| SSH timeout | Set timeout 300s | UserVars.ESXiShellInteractiveTimeOut | High |
| DCUI timeout | Set timeout 600s | UserVars.DcuiTimeOut | High |
| Account lockout | 5 lần thất bại, lock 15 phút | Security.AccountLockFailures | Med |
| Acceptance level | PartnerSupported hoặc VMwareCertified | esxcli software acceptance set | Med |
| Syslog | Forward logs → SIEM | esxcli system syslog config set | High |
| Firewall rules | Disable unused services | esxcli network firewall ruleset | High |
Best Practice — Host Profile cho chuẩn hóa hàng loạt
- Cấu hình 1 host reference với đầy đủ hardening → Extract Host Profile trong vCenter
- Apply Host Profile cho tất cả hosts mới → đảm bảo cấu hình đồng nhất 100%
- Compliance check hàng ngày → phát hiện configuration drift tự động
- Tích hợp với vSphere Lifecycle Manager để kết hợp patch + config update
- Lưu Host Profile version trong git hoặc CMDB để audit trail
MODULE 2 — Cài Đặt & Cấu Hình ESXi
2.1 Kiến Trúc ESXi
Các Phương Thức Cài Đặt ESXi
- Interactive (ISO bootable) — dùng cho lab và small deployment
- Scripted (kickstart) — dùng cho deployment hàng loạt
- PXE Boot — network boot từ deployment server
- vSphere Auto Deploy — zero-touch provisioning (enterprise scale)
VMkernel Network Adapters (vmknic)
| vmknic | Vai trò | Port Group |
|---|---|---|
| vmk0 | Management (Host Client) | Management Network |
| vmk1 | vMotion | vMotion Network |
| vmk2 | vSAN | vSAN Network |
| vmk3 | iSCSI / NFS | Storage Network |
LAB THỰC HÀNH — Module 2
Lab 2.1 — Cài Đặt ESXi 8.0.3 từ ISO
Bước 1: Download ESXi ISO từ VMware Customer Connect
File: VMware-VMvisor-Installer-8.0.3-24022515.x86_64.iso
Bước 2: Boot từ ISO (USB hoặc virtual media)
- Welcome screen → Enter
- Accept EULA → F11
- Chọn disk cài đặt → Enter
- Chọn keyboard layout: US Default
- Đặt root password (≥7 ký tự, có chữ hoa+số+ký tự đặc biệt)
- Confirm install → F11
- Reboot
Bước 3: Cấu hình sau cài đặt qua DCUI (F2 = System Customization)
Configure Management Network:
→ Network Adapters: chọn vmnic0
→ IPv4 Configuration: Static
IP: 10.100.100.11
Subnet: 255.255.255.0
Gateway: 10.100.100.1
→ DNS Configuration:
Primary: 10.100.100.1
Hostname: esxi-01.lab.local
→ Apply và reboot network (F12 để shutdown/restart)
Hoặc đặt FQDN qua SSH sau khi boot:
esxcli system hostname set --fqdn=esxi-01.lab.local
Bước 4: Truy cập Host Client
URL: https://10.100.100.11/ui
User: root / <password>
Lab 2.2 — Cấu Hình ESXi qua Host Client
1. Cấu hình NTP: Manage → System → Time & Date → Use Network Time Protocol (NTP) → NTP Servers: time.google.com, pool.ntp.org → Start NTP Service, set to "Start and stop with host" 2. Bật SSH (cho admin tasks): Manage → Services → TSM-SSH → Start ⚠️ Lưu ý: Tắt SSH sau khi dùng xong (security) 3. Upload License: Manage → Licensing → Assign License 4. Cấu hình Syslog: Manage → Advanced Settings → Syslog.global.logHost Giá trị: udp://syslog-server:514 5. Tạo Local User (non-root): Manage → Security & Users → Users → Add User Username: vsphere-admin Role: Administrator
### Enalbe Service NTP:
### Create User Local && Add Role
Lab 2.3 — Scripted Install với Kickstart
# Tạo file ks.cfg cho automated deployment
# Lưu vào USB hoặc HTTP server
vmaccepteula
rootpw --iscrypted $6$xxx... # SHA-512 encrypted password
install --disk=/dev/sda --overwritevmfs
network --bootproto=static --ip=10.100.100.12 \
--netmask=255.255.255.0 --gateway=10.100.100.1 \
--hostname=esxi-02.lab.local \
--nameserver=10.100.100.1
reboot
%firstboot --interpreter=busybox
# Enable SSH
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
# Set NTP
esxcli system ntp set -s time.google.com
esxcli system ntp set --enabled=true
ỨNG DỤNG DOANH NGHIỆP — Module 2
Các pattern vận hành ESXi thực tế tại doanh nghiệp — từ Auto Deploy, Host Profile đến monitoring và lifecycle management.
1. vSphere Auto Deploy — Zero-Touch Provisioning
Cho môi trường 20+ hosts — mỗi lần khởi động ESXi tự pull image từ Auto Deploy server, không cần boot disk local.
### TOPOLOGY — vSphere Auto Deploy
┌─────────────────────────────────────────────────────────┐
│ Server boot (PXE) Auto Deploy Server │
│ │
│ ESXi Host (no disk) ──PXE──► DHCP Server │
│ ↓ │
│ TFTP/PXE Boot │
│ ↓ │
│ Auto Deploy (vCenter plugin) │
│ ↓ ↓ │
│ ESXi Image Host Profile │
│ (depot) (configuration) │
└─────────────────────────────────────────────────────────┘
### CẤU HÌNH Auto Deploy (PowerCLI):
# 1. Tạo Image Profile từ depot
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
$img = Get-EsxImageProfile "ESXi-8.0U2-xxxx-standard"
# 2. Tạo Deploy Rule
$rule = New-DeployRule -Name "Rule-Production-Hosts" `
-Item $img, (Get-VMHostProfile "HP-Production-Profile") `
-Pattern "ipv4=10.100.10.0/24"
# 3. Kích hoạt rule
Add-DeployRule $rule
Test-DeployRuleSetCompliance
Khi nào dùng Auto Deploy vs Traditional install
| Tiêu chí | Traditional (kickstart) | Auto Deploy |
|---|---|---|
| Số lượng host | 1–20 hosts | 20+ hosts |
| Boot disk | Bắt buộc có local disk | Stateless (không cần disk) |
| Patch/Update | Từng host một | Đổi image profile → reboot là xong |
| Recovery | Rebuild từ kickstart (~15 phút) | Reboot là về trạng thái chuẩn |
2. Host Profile — Chuẩn Hóa Cấu Hình Hàng Loạt
Host Profile đảm bảo mọi ESXi host trong cluster có cấu hình giống hệt nhau — phát hiện drift tự động.
### Workflow tạo và áp Host Profile
BƯỚC 1: Cấu hình "reference host" hoàn chỉnh
- NTP, DNS, Syslog đầy đủ
- vmknic (vmk0-vmk3) với IP đúng
- Security settings (lockdown, firewall, hardening)
- Storage adapter settings
BƯỚC 2: Extract Host Profile
vCenter → Host → Actions → Host Profiles → Extract Host Profile
Name: HP-ESXi8-Production-v1.0
→ Finish
BƯỚC 3: Chỉnh sửa Profile (customization)
→ Sửa các trường cần khác nhau per host:
[User Input] → IP address, hostname (dùng Answer File)
BƯỚC 4: Apply Profile cho các hosts mới
Cluster → Host → Actions → Host Profiles → Attach/Apply → HP-ESXi8-Production-v1.0
→ Check Compliance trước
→ Apply (host sẽ vào Maintenance Mode, apply, exit)
BƯỚC 5: Scheduled Compliance Check
vCenter → Host Profiles → Edit → General → Schedule Compliance Check
→ Daily at 02:00 AM
→ Alert nếu Non-Compliant → email INFRA team
3. ESXi Health Monitoring với esxtop & Zabbix
Monitoring chủ động — phát hiện vấn đề trước khi ảnh hưởng đến workload.
| Metric | esxtop Key | Warning | Critical | Ý nghĩa |
|---|---|---|---|---|
| CPU Ready | %RDY | 5% | 10% | VM đang chờ CPU — overcommit |
| Memory Balloon | MCTLSZ | >0 MB | >100 MB | Host thiếu RAM — đang reclaim từ VM |
| Disk Latency | DAVG | 20 ms | 50 ms | Storage array quá tải |
| Network Drop | %DRPTX | >0.1% | >1% | NIC overload hoặc misconfiguration |
| CPU Co-Stop | %CSTP | 3% | 5% | SMP VM không sync được vCPUs |
4. IPAM Integration & CMDB Tracking
Tích hợp vSphere với hệ thống quản lý IP và CMDB đảm bảo không xung đột IP và có đầy đủ asset records.
### PowerCLI — Tự động ghi IP ESXi host vào Netbox (IPAM)
# Sau khi thêm host vào vCenter, script tự động:
# 1. Lấy IP management của host
# 2. POST lên Netbox API để tạo IP record
Connect-VIServer vcsa-hn-prod.hoatranlab.io.local
$hosts = Get-VMHost | Select Name, @{N="IP";E={($_ | Get-VMHostNetworkAdapter -VMKernel | Where{$_.ManagementTrafficEnabled}).IP}}
foreach ($h in $hosts) {
# POST lên Netbox API
$body = @{
address = "$($h.IP)/24"
dns_name = $h.Name
status = "active"
description = "ESXi Management - $(Get-Date -Format 'yyyy-MM-dd')"
} | ConvertTo-Json
Invoke-RestMethod -Uri "https://netbox.hoatranlab.io.local/api/ipam/ip-addresses/" `
-Method POST -Body $body `
-Headers @{Authorization="Token $env:NETBOX_TOKEN"; "Content-Type"="application/json"}
Write-Host "Registered: $($h.Name) → $($h.IP)"
}
5. ESXi Patch Lifecycle Management
Quy trình patch ESXi an toàn trong production — không downtime cho VMs với vMotion.
### Quy trình patch ESXi host trong cluster (Rolling Update)
BƯỚC 1: Kiểm tra patch available
vCenter → Menu → Lifecycle Manager → Check for Updates
BƯỚC 2: Remediate từng host một (Rolling)
for each ESXi host in cluster:
1. Bật Maintenance Mode (vMotion VMs sang host khác tự động)
Host → Actions → Maintenance Mode → Enter Maintenance Mode
2. Apply patches (Lifecycle Manager → Remediate)
3. Host tự reboot
4. Exit Maintenance Mode
5. Xác nhận VMs trở về OK
→ Lặp lại cho host tiếp theo
BƯỚC 3: Verify sau patch
esxcli system version get # Kiểm tra version
esxcli software vib list | grep patch # List VIBs đã install
Get-VMHost | Select Name, Version, Build | ft -AutoSize
### QUY TRÌNH PATCH CHUẨN:
Dev/Test cluster → 1 tuần
Staging cluster → 2 tuần
Production → Sau khi staging OK + Change Request approved
vSphere Lifecycle Manager (vLCM) vs Update Manager (VUM)
Từ vSphere 7.0+, vLCM thay thế VUM với concept "Desired State" — bạn định nghĩa image mong muốn (ESXi + drivers + firmware), vLCM tự động đảm bảo cluster đúng state đó. Firmware update cho Dell/HPE được tích hợp trực tiếp qua Hardware Support Manager.