Proxmox VE คืออะไร? สอนติดตั้ง Virtualization แบบ Open Source ทดแทน VMware 2026

บทนำ: ทำไม Proxmox VE ถึงเป็นที่พูดถึงมากที่สุดในวงการ IT ปี 2026?

การเปลี่ยนแปลงครั้งใหญ่เกิดขึ้นในวงการ Virtualization เมื่อ Broadcom เข้าซื้อกิจการ VMware ในปลายปี 2023 และเปลี่ยนรูปแบบ licensing จาก perpetual license เป็น subscription-only ทำให้ต้นทุนการใช้งาน VMware เพิ่มขึ้น 200-1,200% สำหรับลูกค้าจำนวนมาก ส่งผลให้องค์กรทั่วโลกเริ่มมองหาทางเลือกอื่น และ Proxmox VE คือชื่อที่ถูกพูดถึงมากที่สุดในฐานะ open-source hypervisor ที่มีความสามารถเทียบเท่า VMware ESXi

Proxmox VE (Virtual Environment) เป็น open-source virtualization platform ที่พัฒนาโดย Proxmox Server Solutions GmbH จากประเทศออสเตรีย มีพื้นฐานจาก Debian Linux และรวม KVM hypervisor สำหรับ Virtual Machines กับ LXC สำหรับ Linux Containers ไว้ในแพลตฟอร์มเดียวกัน พร้อม web-based management interface ที่ใช้งานง่าย — ทั้งหมดนี้ ฟรี ไม่มีค่า license

บทความนี้จะเป็นคู่มือ comprehensive ครอบคลุมทุกด้านของ Proxmox VE — ตั้งแต่ installation, การสร้าง VM และ container, storage configuration, networking, clustering, high availability, backup, security ไปจนถึงการ migrate จาก VMware มาใช้ Proxmox สำหรับ production environment

ส่วนที่ 1: Proxmox VE คืออะไร? ทำความเข้าใจ Open-Source Virtualization

1.1 Virtualization คืออะไร? ทบทวนพื้นฐาน

Virtualization คือเทคโนโลยีที่ช่วยให้สามารถรัน operating system หลายตัวบน hardware ตัวเดียวพร้อมกัน โดยแบ่งทรัพยากร CPU, RAM, Storage และ Network ให้แต่ละ virtual machine (VM) ใช้งานแยกจากกัน ประหยัดต้นทุน hardware และบริหารจัดการได้ง่ายกว่าการใช้ physical server แยกทุกเครื่อง

ประเภทของ Hypervisor:

Type 1 — Bare-Metal Hypervisor (ติดตั้งบน hardware โดยตรง):
├── VMware ESXi — เจ้าตลาดมายาวนาน, enterprise-grade
├── Proxmox VE — open-source, KVM-based, ฟรี
├── Microsoft Hyper-V Server — free edition (discontinued)
├── XCP-ng — fork จาก Citrix XenServer, open-source
├── oVirt — Red Hat based, KVM management platform
└── Nutanix AHV — มาพร้อม Nutanix HCI platform

Type 2 — Hosted Hypervisor (ติดตั้งบน OS อีกที):
├── VMware Workstation Pro — สำหรับ desktop/lab
├── Oracle VirtualBox — open-source, cross-platform
├── Parallels Desktop — สำหรับ macOS
└── QEMU — open-source, command-line based

Proxmox VE = Type 1 Bare-Metal Hypervisor
├── ติดตั้งลงบน server โดยตรง
├── ใช้ KVM (Kernel-based Virtual Machine) เป็น hypervisor
├── ใช้ LXC (Linux Containers) สำหรับ containers
└── มี web GUI สำหรับจัดการทุกอย่าง

1.2 Proxmox VE Architecture

Proxmox VE ถูกออกแบบให้เป็น all-in-one platform ที่รวม virtualization, container, storage และ networking ไว้ในที่เดียว:

Proxmox VE Architecture Stack:

┌─────────────────────────────────────────────┐
│              Web GUI (Port 8006)             │
│         HTML5 Console, API, CLI             │
├─────────────────────────────────────────────┤
│            Proxmox VE Manager               │
│   Cluster, HA, Backup, Firewall, Storage    │
├──────────────────────┬──────────────────────┤
│    KVM / QEMU        │    LXC Containers    │
│  (Virtual Machines)  │  (Linux Containers)  │
├──────────────────────┴──────────────────────┤
│            Linux Kernel (Debian-based)      │
│        + KVM module + bridge networking     │
├─────────────────────────────────────────────┤
│         Storage Layer                       │
│  Local, ZFS, LVM, Ceph, NFS, iSCSI, GlusterFS │
├─────────────────────────────────────────────┤
│              Physical Hardware              │
│     CPU (VT-x/AMD-V), RAM, Disk, NIC       │
└─────────────────────────────────────────────┘

Components หลัก:
├── pve-manager — web interface และ API
├── pve-kernel — Linux kernel ที่ปรับแต่งแล้ว
├── qemu-server — จัดการ KVM virtual machines
├── pve-container — จัดการ LXC containers
├── pve-storage — storage plugins (ZFS, Ceph, NFS, etc.)
├── pve-cluster — cluster management (Corosync + pmxcfs)
├── pve-ha-manager — High Availability manager
├── pve-firewall — distributed firewall
└── proxmox-backup-client — integration กับ PBS

1.3 ทำไมต้อง Proxmox VE? ข้อดีหลักๆ

Proxmox VE ได้รับความนิยมเพิ่มขึ้นอย่างมากเพราะหลายเหตุผล:

ข้อดีของ Proxmox VE:

1. ฟรี — Open Source (AGPLv3):
   ├── ไม่มีค่า license สำหรับ hypervisor
   ├── ไม่จำกัดจำนวน CPU, RAM, VM, node
   ├── Feature ครบทุกอย่างใน free version
   ├── Optional subscription สำหรับ enterprise support
   └── ประหยัดเทียบกับ VMware: หลักแสน - หลักล้านบาท/ปี

2. All-in-One Platform:
   ├── KVM VMs + LXC Containers ในที่เดียว
   ├── Built-in storage: ZFS, Ceph, LVM, NFS, iSCSI
   ├── Built-in firewall, backup, HA
   ├── ไม่ต้องซื้อ add-on เพิ่ม
   └── Web GUI + CLI + REST API

3. Enterprise Features:
   ├── High Availability Cluster
   ├── Live Migration (ย้าย VM ไม่ต้อง downtime)
   ├── Ceph distributed storage (built-in)
   ├── Software-Defined Networking (SDN)
   ├── Role-based access control (RBAC)
   ├── LDAP/AD authentication
   └── REST API สำหรับ automation

4. Community & Ecosystem:
   ├── Community ใหญ่และ active มาก
   ├── Forum, wiki, documentation ครบ
   ├── Proxmox Backup Server (PBS) — dedicated backup
   ├── Proxmox Mail Gateway — email security
   └── Regular updates ทุก 3-6 เดือน

5. Modern Technology:
   ├── KVM — proven, Linux mainline hypervisor
   ├── ZFS — enterprise-grade filesystem
   ├── Ceph — distributed storage เหมือน vSAN
   ├── QEMU — mature VM emulator
   └── Debian Linux — stable base OS

ส่วนที่ 2: Proxmox VE vs VMware ESXi — เปรียบเทียบจุดต่อจุด

2.1 ตารางเปรียบเทียบ Feature-by-Feature

มาดูว่า Proxmox VE เทียบกับ VMware ESXi/vSphere ได้อย่างไรในแต่ละด้าน:

Proxmox VE vs VMware vSphere — Feature Comparison (2026):

Feature                  │ Proxmox VE 8.x          │ VMware vSphere 8.x
─────────────────────────┼─────────────────────────┼──────────────────────────
License Cost             │ ฟรี (open-source)        │ Subscription (แพงมาก)
Hypervisor               │ KVM + QEMU              │ ESXi (proprietary)
Containers               │ LXC (built-in)          │ ไม่มี native
Management UI            │ Web GUI (port 8006)     │ vCenter (ต้องจ่ายเพิ่ม)
Central Management       │ Built-in cluster        │ vCenter Server
API                      │ REST API (free)         │ vSphere API (ต้อง vCenter)
Max VMs per host         │ ไม่จำกัด               │ 1,024
Max RAM per host         │ ไม่จำกัด               │ 24 TB
Live Migration           │ ✓ (free)               │ ✓ (ต้อง vMotion license)
High Availability        │ ✓ (free)               │ ✓ (ต้อง HA license)
Distributed Storage      │ Ceph (built-in, free)   │ vSAN (license แยก)
Backup                   │ PBS + vzdump (free)     │ VADP + 3rd party ($$$)
Firewall                 │ Built-in                │ NSX (license แยก)
Software-Defined Network │ SDN (built-in)          │ NSX (license แยก $$$$)
GPU Passthrough          │ ✓                      │ ✓ (NVIDIA vGPU $$)
Cloud-Init               │ ✓ (built-in)           │ ✓
Template/Clone           │ ✓                      │ ✓
Snapshot                 │ ✓                      │ ✓
OS Support (guest)       │ Linux, Windows, BSD     │ Linux, Windows, BSD
Base OS                  │ Debian Linux            │ ESXi (custom Linux)
CLI Management           │ ✓ (qm, pct, pvecm)    │ esxcli, PowerCLI
Community                │ ใหญ่มาก, active        │ ใหญ่, แต่ลดลง
Enterprise Support       │ Optional subscription    │ Included (บังคับจ่าย)

ต้นทุน 3 ปี (10 hosts, Enterprise):
├── Proxmox VE: ~$0 (ถ้าไม่ซื้อ support)
│   └── หรือ ~€17,400 ถ้าซื้อ Premium support
├── VMware vSphere: ~$150,000 - $500,000+
│   └── ขึ้นอยู่กับ bundle และ per-core pricing
└── ส่วนต่าง: Proxmox ถูกกว่า 90-100%

2.2 เหตุผลที่องค์กรพิจารณาย้ายจาก VMware มา Proxmox

การเปลี่ยนแปลง licensing ของ VMware หลังจาก Broadcom เข้าซื้อกิจการ ทำให้หลายองค์กรต้องคิดใหม่:

เหตุผลที่องค์กรพิจารณาย้ายจาก VMware:

1. ต้นทุน License เพิ่มขึ้นอย่างมาก:
   ├── Broadcom ยกเลิก perpetual license
   ├── บังคับใช้ subscription-only model
   ├── ยกเลิก vSphere Essentials (สำหรับ SMB)
   ├── บังคับซื้อเป็น bundle (VMware Cloud Foundation)
   ├── ราคาเพิ่ม 200-1,200% สำหรับลูกค้าจำนวนมาก
   └── ลูกค้า SMB ได้รับผลกระทบมากที่สุด

2. Uncertainty และ Vendor Lock-in:
   ├── ไม่รู้ว่า Broadcom จะเปลี่ยนอะไรอีก
   ├── ยกเลิก partner program จำนวนมาก
   ├── ลดจำนวน support staff
   ├── ลูกค้ารู้สึกไม่มั่นคง
   └── ไม่อยากพึ่งพา vendor เพียงรายเดียว

3. Open Source = ความยืดหยุ่น:
   ├── ไม่มี vendor lock-in
   ├── ปรับแต่งได้ตามต้องการ
   ├── Community support ฟรี
   ├── ย้าย workload ไปที่อื่นได้ง่าย (KVM standard)
   └── ตรวจสอบ source code ได้ (security audit)

4. Feature ที่ต้องจ่ายเพิ่มใน VMware แต่ฟรีใน Proxmox:
   ├── vCenter Server → Proxmox web GUI (ฟรี)
   ├── vMotion → Live Migration (ฟรี)
   ├── vSAN → Ceph (ฟรี)
   ├── NSX → SDN + Firewall (ฟรี)
   ├── VADP Backup → vzdump + PBS (ฟรี)
   └── DRS → HA Manager (ฟรี)

ส่วนที่ 3: System Requirements และการเตรียมตัว

3.1 Hardware Requirements

ก่อนติดตั้ง Proxmox VE ต้องเตรียม hardware ที่รองรับ virtualization:

Proxmox VE Hardware Requirements:

Minimum Requirements:
├── CPU: 64-bit processor with VT-x/AMD-V support
├── RAM: 2 GB (แต่ไม่เพียงพอสำหรับ production)
├── Storage: 32 GB (สำหรับ OS)
├── Network: 1 Gbps NIC
└── USB/CD-ROM สำหรับ boot installer

Recommended for Production:
├── CPU: Modern Intel Xeon / AMD EPYC
│   ├── VT-x / AMD-V enabled in BIOS
│   ├── VT-d / AMD-Vi (สำหรับ PCI passthrough)
│   ├── AES-NI (สำหรับ encryption)
│   └── หลาย cores = รัน VM ได้มากขึ้น
│
├── RAM: 64-512 GB ECC RAM
│   ├── ECC RAM จำเป็นสำหรับ production + ZFS
│   ├── แต่ละ VM ต้องการ RAM ของตัวเอง
│   ├── ZFS ต้องการ RAM เพิ่ม (~1 GB per TB storage)
│   └── คำนวณ: (จำนวน VM × RAM ต่อ VM) + 8 GB สำหรับ host
│
├── Storage:
│   ├── Boot drive: 2× SSD 256 GB (ZFS mirror)
│   ├── VM storage: SSD/NVMe array
│   │   ├── 4× NVMe 1 TB (ZFS RAID-Z1 = 3 TB usable)
│   │   └── หรือ 6× SSD 2 TB (ZFS RAID-Z2 = 8 TB usable)
│   ├── Bulk storage: HDD สำหรับ backup/archive
│   └── Ceph OSD: แยก disk สำหรับ Ceph cluster
│
├── Network:
│   ├── 2× 10 Gbps (management + VM traffic)
│   ├── 2× 25/100 Gbps (Ceph storage network)
│   ├── 1× 1 Gbps (IPMI/iDRAC/iLO management)
│   └── LACP bonding สำหรับ redundancy
│
└── Server แนะนำ:
    ├── Dell PowerEdge R750xs / R760
    ├── HPE ProLiant DL380 Gen11
    ├── Supermicro SYS-621P-TR
    ├── Lenovo ThinkSystem SR650 V3
    └── หรือ custom build (ถ้าเป็น lab/SMB)

3.2 เตรียม BIOS Settings

ก่อนติดตั้ง Proxmox ต้อง configure BIOS ให้ถูกต้อง:

BIOS Settings ที่ต้องเปิด:

1. Virtualization Technology:
   ├── Intel VT-x: Enabled
   ├── Intel VT-d: Enabled (สำหรับ PCI passthrough)
   ├── AMD-V (SVM): Enabled
   ├── AMD-Vi (IOMMU): Enabled
   └── ถ้าไม่เปิด = ไม่สามารถสร้าง VM ได้

2. Power Management:
   ├── C-States: Enabled (ประหยัดพลังงาน)
   ├── Turbo Boost: Enabled (performance)
   └── Power Profile: Performance หรือ Balanced

3. Boot:
   ├── UEFI Boot: Enabled (recommended)
   ├── Secure Boot: Disabled (Proxmox ยังไม่ support)
   └── Boot order: USB first สำหรับ installer

4. Storage:
   ├── SATA Mode: AHCI (ไม่ใช่ IDE หรือ RAID)
   │   └── ยกเว้นใช้ hardware RAID controller
   └── NVMe: Enabled

5. Network:
   ├── PXE Boot: Disabled (ยกเว้นต้องการ PXE install)
   └── Wake on LAN: Enabled (optional)

ส่วนที่ 4: การติดตั้ง Proxmox VE — Step-by-Step

4.1 Download และเตรียม USB Installer

ขั้นตอนการเตรียม USB สำหรับติดตั้ง Proxmox VE:

Step 1: Download Proxmox VE ISO

1. ไปที่: https://www.proxmox.com/en/downloads
2. เลือก "Proxmox VE 8.x ISO Installer"
3. Download ไฟล์ .iso (~1.2 GB)
4. ตรวจ SHA256 checksum ให้ตรงกับที่เว็บแสดง

Step 2: สร้าง Bootable USB

Windows:
├── ใช้ Rufus (https://rufus.ie/)
├── เลือก USB drive (อย่างน้อย 2 GB)
├── เลือก ISO file
├── Partition scheme: GPT
├── Target system: UEFI
├── File system: FAT32
└── กด Start

Linux:
├── dd if=proxmox-ve_8.x.iso of=/dev/sdX bs=1M status=progress
└── แทน sdX ด้วย device ของ USB drive

macOS:
├── ใช้ balenaEtcher
└── หรือ dd เหมือน Linux

4.2 ขั้นตอนการติดตั้ง Proxmox VE

เสียบ USB เข้า server แล้ว boot จาก USB:

Proxmox VE Installation Steps:

Step 1: Boot from USB
├── เลือก "Install Proxmox VE (Graphical)"
└── รอ installer load

Step 2: EULA
├── อ่าน End User License Agreement
└── กด "I agree"

Step 3: Target Harddisk
├── เลือก disk สำหรับติดตั้ง OS
├── กด "Options" เพื่อเลือก filesystem:
│   ├── ext4 — default, เรียบง่าย
│   ├── xfs — performance ดี
│   ├── ZFS (RAID1) — แนะนำ! mirror 2 disks
│   ├── ZFS (RAID-Z1) — เหมือน RAID 5
│   ├── ZFS (RAID-Z2) — เหมือน RAID 6
│   ├── ZFS (RAID-Z3) — 3 parity
│   └── ZFS (mirror/stripe) — flexible
│
├── ถ้าเลือก ZFS:
│   ├── เลือก disks สำหรับ ZFS pool
│   ├── ashift: 12 (สำหรับ SSD/NVMe)
│   ├── compress: lz4 (on) — ประหยัดเนื้อที่
│   ├── checksum: on
│   └── copies: 1 (default)
│
└── กด "Next"

Step 4: Location and Time Zone
├── Country: Thailand
├── Time zone: Asia/Bangkok
├── Keyboard layout: U.S. English
└── กด "Next"

Step 5: Administration Password
├── Password: ตั้ง password สำหรับ root
├── Confirm: ยืนยัน password
├── Email: ใส่ email สำหรับ alert notifications
└── กด "Next"

Step 6: Network Configuration
├── Management Interface: เลือก NIC สำหรับ management
├── Hostname: pve01.yourdomain.local
├── IP Address: กำหนด static IP (เช่น 192.168.1.10/24)
├── Gateway: 192.168.1.1
├── DNS Server: 8.8.8.8 หรือ DNS server ขององค์กร
└── กด "Next"

Step 7: Summary
├── ตรวจสอบข้อมูลทั้งหมด
├── กด "Install"
├── รอ 5-15 นาที
└── เมื่อเสร็จ → เอา USB ออก → Reboot

Step 8: Access Web GUI
├── เปิด browser: https://192.168.1.10:8006
├── Login: root
├── Password: ที่ตั้งไว้ใน Step 5
├── Realm: Linux PAM standard authentication
└── ข้าม "No valid subscription" popup (กด OK)

4.3 Post-Installation Configuration

หลังติดตั้งเสร็จ มีหลายสิ่งที่ควรทำก่อนใช้งาน production:

Post-Installation Steps:

1. อัปเดต Repository (ถ้าไม่มี subscription):
   # แก้ไข repository ให้ใช้ no-subscription
   nano /etc/apt/sources.list.d/pve-no-subscription.list
   # เพิ่ม:
   deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

   # ปิด enterprise repository (ต้อง subscription)
   nano /etc/apt/sources.list.d/pve-enterprise.list
   # comment out:
   # deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise

   # อัปเดต
   apt update && apt full-upgrade -y
   reboot

2. ปิด Subscription Notice (optional):
   # Web GUI จะแสดง popup ทุกครั้งที่ login
   # สามารถใช้ script ปิดได้ (unofficial)
   # หรือกด OK ทุกครั้ง

3. ตั้ง NTP (Time Sync):
   timedatectl set-timezone Asia/Bangkok
   systemctl enable --now chrony
   # หรือ
   apt install chrony -y
   chronyc tracking

4. ตรวจสอบ IOMMU (สำหรับ PCI Passthrough):
   dmesg | grep -e DMAR -e IOMMU
   # ถ้าเห็น "IOMMU enabled" = พร้อมใช้งาน
   # ถ้าไม่เห็น:
   nano /etc/default/grub
   # เพิ่มใน GRUB_CMDLINE_LINUX_DEFAULT:
   # Intel: intel_iommu=on
   # AMD: amd_iommu=on
   update-grub && reboot

5. ติดตั้ง Useful Packages:
   apt install -y htop iotop iftop vim tmux
   apt install -y libguestfs-tools  # สำหรับ VM disk tools

ส่วนที่ 5: Web GUI Overview — หน้าตาและการใช้งาน

5.1 ส่วนประกอบของ Proxmox Web GUI

Proxmox VE มี web GUI ที่ใช้งานง่ายและครบถ้วน เข้าถึงผ่าน https://IP:8006:

Proxmox Web GUI Layout:

┌──────────────────────────────────────────────────────────┐
│  [Header Bar]                                            │
│  Datacenter ▸ Node ▸ VM    │ Search │ User │ Docs │ Logout │
├──────────┬───────────────────────────────────────────────┤
│ Left     │  Main Content Area                            │
│ Panel    │                                               │
│          │  ┌─ Summary ─────────────────────────────┐   │
│ ├ Datacenter │  CPU Usage: ████░░░░ 45%             │   │
│ │ ├ pve01    │  RAM Usage: ██████░░ 72%             │   │
│ │ │ ├ VM100  │  Storage:   ████░░░░ 52%             │   │
│ │ │ ├ VM101  │  Uptime: 45 days                     │   │
│ │ │ ├ CT200  │                                       │   │
│ │ │ └ CT201  │  ┌─ Running VMs ──────────────┐      │   │
│ │ ├ pve02    │  │ VM100: Ubuntu 22.04  [Run] │      │   │
│ │ │ ├ VM102  │  │ VM101: Windows 2022  [Run] │      │   │
│ │ │ └ CT202  │  │ CT200: Nginx LXC     [Run] │      │   │
│ │ └ pve03    │  └────────────────────────────┘      │   │
│ │                                                    │   │
│ ├ Storage    │  [Tabs: Summary | Notes | Shell |     │   │
│ └ Pools      │   Network | DNS | Time | Syslog]      │   │
│              │                                        │   │
└──────────┴───────────────────────────────────────────────┘

เมนูหลัก (เมื่อเลือก Datacenter):
├── Search — ค้นหา VM, Container, Node
├── Summary — ภาพรวม cluster
├── Cluster — จัดการ cluster
├── Options — ตั้งค่า datacenter
├── Storage — จัดการ storage
├── Backup — ตั้งเวลา backup
├── Replication — storage replication
├── Permissions — Users, Groups, Roles, API Tokens
├── HA — High Availability
├── ACME — SSL certificate management
├── Firewall — cluster-wide firewall rules
├── Metric Server — Graphite/InfluxDB integration
└── Notifications — alert configuration

เมนู (เมื่อเลือก Node):
├── Summary — CPU, RAM, Storage, Network usage
├── Notes — หมายเหตุ
├── Shell — terminal ในเว็บ (noVNC)
├── System — Network, DNS, Time, Syslog, Updates
├── Disks — จัดการ physical disks, ZFS, LVM
├── Ceph — Ceph storage management
├── Firewall — node-level firewall
└── Task History — ประวัติงาน

เมนู (เมื่อเลือก VM/Container):
├── Summary — resource usage
├── Console — เข้า console ผ่าน browser
├── Hardware — CPU, RAM, Disk, NIC, USB, PCI
├── Cloud-Init — cloud-init configuration
├── Options — boot order, QEMU agent, etc.
├── Task History — ประวัติงาน
├── Monitor — QEMU monitor
├── Backup — backup/restore
├── Replication — storage replication
├── Snapshots — create/manage snapshots
├── Firewall — VM-level firewall
└── Permissions — VM-level permissions

ส่วนที่ 6: การสร้าง Virtual Machine (KVM)

6.1 สร้าง VM แบบ Step-by-Step

การสร้าง VM ใน Proxmox ทำผ่าน web GUI ง่ายมาก:

สร้าง VM ใน Proxmox VE:

Step 1: Upload ISO Image
├── ไปที่ Node → local (storage) → ISO Images
├── กด "Upload" → เลือก .iso file
├── หรือ "Download from URL" → วาง URL ของ ISO
└── รอ upload เสร็จ

Step 2: Create VM (กดปุ่ม "Create VM" มุมขวาบน)

Tab: General
├── Node: เลือก node ที่จะรัน VM
├── VM ID: 100 (auto-increment)
├── Name: ubuntu-web01
└── Resource Pool: (optional)

Tab: OS
├── ISO image: เลือก ISO ที่ upload ไว้
├── Type: Linux (หรือ Microsoft Windows)
├── Version: 6.x - 2.6 Kernel (สำหรับ Linux)
└── ถ้า Windows: เลือก version ที่ตรง + ติ๊ก "Add VirtIO drivers"

Tab: System
├── Machine: q35 (recommended) หรือ i440fx (legacy)
├── BIOS: OVMF (UEFI) — recommended
│   └── หรือ SeaBIOS (Legacy BIOS)
├── SCSI Controller: VirtIO SCSI single (recommended)
├── Qemu Agent: ✓ Enabled
├── TPM: เพิ่มถ้าต้องการ (Windows 11 ต้องใช้)
└── EFI Storage: local-lvm

Tab: Disks
├── Bus/Device: VirtIO Block หรือ SCSI
├── Storage: local-lvm (หรือ storage ที่ต้องการ)
├── Disk size: 32 GB (หรือตามความต้องการ)
├── Format: Raw (performance ดีกว่า) หรือ QCOW2 (flexible)
├── Cache: Default (no cache) สำหรับ ZFS
│   └── writeback สำหรับ local LVM
├── Discard: ✓ (ถ้าใช้ SSD — enable TRIM)
├── IO thread: ✓ Enable
└── SSD emulation: ✓ (ถ้า storage เป็น SSD)

Tab: CPU
├── Sockets: 1
├── Cores: 2-4 (ตามความต้องการ)
├── Type: host (performance ดีที่สุด)
│   └── หรือ x86-64-v2-AES (สำหรับ live migration)
├── NUMA: Enable (ถ้า server มีหลาย CPU socket)
└── CPU Units: 1024 (default, relative weight)

Tab: Memory
├── Memory: 4096 MB (4 GB)
├── Minimum memory: 2048 MB (ถ้าใช้ ballooning)
├── Ballooning Device: ✓ Enable
│   └── ช่วยให้ VM คืน RAM ที่ไม่ใช้ให้ host
└── Shares: 1000 (default)

Tab: Network
├── Bridge: vmbr0 (default bridge)
├── Model: VirtIO (paravirtualized) — recommended
│   └── หรือ E1000, RTL8139 (สำหรับ compatibility)
├── VLAN Tag: (optional, ถ้าใช้ VLAN)
├── Firewall: ✓ Enable
├── MAC address: auto-generate
└── Rate limit: (optional, MB/s)

Tab: Confirm
├── ตรวจสอบ settings ทั้งหมด
├── ✓ Start after created (optional)
└── กด "Finish"

6.2 การติดตั้ง Guest Agent และ VirtIO Drivers

สำหรับ performance ที่ดีที่สุด ควรติดตั้ง QEMU Guest Agent และ VirtIO drivers:

QEMU Guest Agent:

Linux Guest:
├── apt install qemu-guest-agent  # Debian/Ubuntu
├── yum install qemu-guest-agent  # CentOS/RHEL
├── systemctl enable --now qemu-guest-agent
└── ใน Proxmox: VM Options → QEMU Guest Agent → Enabled

Windows Guest:
├── Download virtio-win ISO จาก:
│   https://fedorapeople.org/groups/virt/virtio-win/
├── Mount ISO ใน VM
├── ติดตั้ง virtio drivers:
│   ├── NetKVM — VirtIO network driver
│   ├── vioscsi — VirtIO SCSI driver
│   ├── viostor — VirtIO block driver
│   ├── Balloon — memory ballooning
│   └── qemu-ga — QEMU Guest Agent
├── Run virtio-win-gt-x64.msi สำหรับติดตั้งทั้งหมด
└── Reboot VM

ประโยชน์ของ Guest Agent:
├── Proxmox เห็น IP address ของ VM
├── สามารถ freeze filesystem ก่อน backup (consistent)
├── สามารถ shutdown VM อย่างถูกต้อง (graceful)
├── แสดง OS info ใน Summary
└── ดู resource usage ได้ละเอียดขึ้น

ส่วนที่ 7: LXC Containers — Lightweight Virtualization

7.1 LXC Container คืออะไร?

LXC (Linux Containers) เป็นอีกทางเลือกหนึ่งสำหรับ virtualization ใน Proxmox ที่ ใช้ทรัพยากรน้อยกว่า VM มาก เพราะ container แชร์ kernel กับ host แทนที่จะรัน OS ทั้งตัวแยก:

VM vs LXC Container เปรียบเทียบ:

                        │ KVM Virtual Machine │ LXC Container
────────────────────────┼─────────────────────┼──────────────────
Kernel                  │ มี kernel ของตัวเอง │ แชร์ kernel กับ host
Boot time               │ 30-60 วินาที       │ 1-3 วินาที
RAM usage (minimum)     │ 512 MB - 1 GB      │ 32 - 128 MB
Disk usage (minimum)    │ 5-20 GB            │ 500 MB - 2 GB
Performance overhead    │ 5-10%              │ ~1% (near-native)
OS support              │ Any OS             │ Linux only
Isolation               │ Full (hardware-level)│ Partial (namespace)
Use case                │ Windows, full OS    │ Linux services
Security                │ สูง (separate kernel)│ ดี (แต่ต่ำกว่า VM)
Live Migration          │ ✓                  │ ✓ (online restart)
Snapshot                │ ✓                  │ ✓

แนะนำให้ใช้ LXC Container สำหรับ:
├── Web server (Nginx, Apache)
├── Database (MySQL, PostgreSQL)
├── DNS server (Pi-hole, Bind)
├── Reverse proxy (Nginx Proxy Manager, Traefik)
├── Monitoring (Prometheus, Grafana)
├── File server (Samba, NFS)
├── CI/CD (Jenkins, GitLab Runner)
└── Development environments

แนะนำให้ใช้ VM สำหรับ:
├── Windows Server / Desktop
├── Applications ที่ต้องการ kernel ของตัวเอง
├── Docker / Kubernetes (nested virtualization)
├── Applications ที่ต้อง security isolation สูง
├── Software ที่ต้องใช้ kernel modules เฉพาะ
└── Testing ต่าง OS/kernel versions

7.2 สร้าง LXC Container

สร้าง LXC Container ใน Proxmox:

Step 1: Download Container Template
├── Node → local → CT Templates
├── กด "Templates" → เลือก template ที่ต้องการ:
│   ├── ubuntu-22.04-standard
│   ├── debian-12-standard
│   ├── centos-9-stream-default
│   ├── alpine-3.19-default (เบามาก ~3 MB)
│   └── turnkey-* (pre-configured apps)
└── กด "Download"

Step 2: Create CT (กด "Create CT" มุมขวาบน)

Tab: General
├── CT ID: 200
├── Hostname: nginx-proxy
├── Unprivileged container: ✓ (recommended, more secure)
│   └── Privileged: ถ้าต้องการ access host devices
├── Password: ตั้ง root password
└── SSH public key: (optional, recommended)

Tab: Template
├── Storage: local
└── Template: เลือก template ที่ download ไว้

Tab: Root Disk
├── Storage: local-lvm
├── Disk size: 8 GB
└── ACLs: Default

Tab: CPU
├── Cores: 2
└── CPU Units: 1024

Tab: Memory
├── Memory: 1024 MB (1 GB)
└── Swap: 512 MB

Tab: Network
├── Name: eth0
├── Bridge: vmbr0
├── IPv4: DHCP หรือ Static
│   └── Static: 192.168.1.20/24, GW: 192.168.1.1
├── IPv6: (optional)
├── VLAN Tag: (optional)
└── Rate limit: (optional)

Tab: DNS
├── DNS domain: yourdomain.local
└── DNS servers: 8.8.8.8

Tab: Confirm
├── ✓ Start after created
└── กด "Finish"

Container สร้างเสร็จภายใน 5-10 วินาที!

ส่วนที่ 8: Storage Configuration — หัวใจของ Virtualization

8.1 Storage Types ที่ Proxmox รองรับ

Proxmox รองรับ storage หลากหลายรูปแบบ เลือกใช้ได้ตามความต้องการ:

Proxmox VE Storage Types:

Local Storage (อยู่บน server แต่ละตัว):
├── Directory (dir):
│   ├── ใช้ filesystem ปกติ (ext4, xfs)
│   ├── เก็บ ISO, backups, disk images
│   └── ง่ายที่สุด, เหมาะสำหรับ single-node
│
├── LVM (Logical Volume Manager):
│   ├── Block-level storage
│   ├── Performance ดี
│   ├── Thin provisioning ได้
│   └── เป็น default storage หลังติดตั้ง (local-lvm)
│
├── LVM-thin:
│   ├── Thin provisioned LVM
│   ├── ประหยัดเนื้อที่ (allocate เท่าที่ใช้จริง)
│   ├── รองรับ snapshot
│   └── Proxmox default สำหรับ VM disks
│
├── ZFS:
│   ├── Enterprise-grade filesystem + volume manager
│   ├── Features: compression, dedup, snapshot, checksum
│   ├── RAID levels: mirror, RAID-Z1, Z2, Z3
│   ├── ARC cache ใช้ RAM (performance สูงมาก)
│   ├── ต้องการ ECC RAM (recommended)
│   └── แนะนำมากสำหรับ production

Network Storage (แชร์ข้าม nodes):
├── NFS (Network File System):
│   ├── ง่ายที่สุดสำหรับ shared storage
│   ├── ใช้ NAS (Synology, QNAP, TrueNAS)
│   ├── รองรับ live migration
│   ├── Performance ปานกลาง
│   └── เหมาะสำหรับ ISO, backups, templates
│
├── iSCSI:
│   ├── Block-level over network (TCP/IP)
│   ├── Performance ดีกว่า NFS
│   ├── ใช้กับ SAN storage
│   ├── Multipath สำหรับ redundancy
│   └── ต้องการ dedicated network (10+ Gbps)
│
├── CIFS/SMB:
│   ├── Windows file sharing protocol
│   ├── ใช้กับ Windows file server
│   ├── Performance ต่ำกว่า NFS
│   └── เหมาะสำหรับ backup, ISO
│
├── Ceph (RBD):
│   ├── Distributed storage (built-in!)
│   ├── เหมือน VMware vSAN แต่ฟรี
│   ├── Replicated หรือ Erasure-coded
│   ├── Scale-out: เพิ่ม node = เพิ่ม capacity + performance
│   ├── Self-healing: rebuild อัตโนมัติเมื่อ disk fail
│   ├── ต้องอย่างน้อย 3 nodes
│   ├── ต้องการ dedicated 10-25 Gbps network
│   └── แนะนำมากสำหรับ cluster production
│
├── CephFS:
│   ├── POSIX filesystem บน Ceph cluster
│   ├── ใช้เก็บ ISO, backups, shared files
│   └── ไม่ต้อง NFS server แยก
│
└── GlusterFS:
    ├── Distributed filesystem
    ├── Alternative ของ Ceph
    └── ใช้น้อยลงใน Proxmox community

Storage Feature Matrix:
                     │ Images │ ISO │ Backup │ Snapshot │ Clone │ Live Mig
─────────────────────┼────────┼─────┼────────┼──────────┼───────┼─────────
Directory            │   ✓    │  ✓  │   ✓    │    -     │   ✓   │    ✓
LVM                  │   ✓    │  -  │   -    │    -     │   ✓   │    ✓
LVM-thin             │   ✓    │  -  │   -    │    ✓     │   ✓   │    ✓
ZFS                  │   ✓    │  -  │   -    │    ✓     │   ✓   │    ✓
NFS                  │   ✓    │  ✓  │   ✓    │  qcow2   │   ✓   │    ✓
iSCSI                │   ✓    │  -  │   -    │    -     │   -   │    ✓
Ceph (RBD)           │   ✓    │  -  │   -    │    ✓     │   ✓   │    ✓
CephFS               │   ✓    │  ✓  │   ✓    │  qcow2   │   ✓   │    ✓

8.2 การตั้งค่า ZFS Storage

ZFS เป็น filesystem ที่แนะนำมากที่สุดสำหรับ Proxmox เพราะ feature ครบและ reliable:

ZFS Configuration ใน Proxmox:

สร้าง ZFS Pool ใหม่ (ผ่าน CLI):
# ZFS Mirror (RAID 1) — 2 disks
zpool create -f tank mirror /dev/sdb /dev/sdc

# ZFS RAID-Z1 (RAID 5) — 3+ disks
zpool create -f tank raidz1 /dev/sdb /dev/sdc /dev/sdd

# ZFS RAID-Z2 (RAID 6) — 4+ disks
zpool create -f tank raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde

# ตั้งค่า compression
zfs set compression=lz4 tank

# สร้าง dataset สำหรับ VM
zfs create tank/vm-data

# ตรวจสอบ pool status
zpool status tank
zpool list

สร้าง ZFS Pool ผ่าน Web GUI:
├── Node → Disks → ZFS
├── กด "Create: ZFS"
├── Name: tank
├── RAID Level: เลือก mirror/raidz1/raidz2
├── Compression: lz4 (on)
├── ashift: 12
├── เลือก disks
└── กด "Create"

เพิ่ม ZFS storage ใน Proxmox:
├── Datacenter → Storage → Add → ZFS
├── ID: zfs-tank
├── ZFS Pool: tank
├── Content: Disk image, Container
└── กด "Add"

ZFS Performance Tuning:
├── ARC Size (RAM cache):
│   ├── Default: ใช้ RAM ที่เหลือทั้งหมด
│   ├── จำกัด: echo 8589934592 > /sys/module/zfs/parameters/zfs_arc_max
│   └── 8 GB ARC = พอสำหรับ 8 TB storage
│
├── L2ARC (SSD cache):
│   ├── เพิ่ม SSD เป็น read cache
│   ├── zpool add tank cache /dev/nvme1n1
│   └── เหมาะสำหรับ HDD pool ที่ต้องการ read speed
│
├── SLOG (ZIL — Write cache):
│   ├── เพิ่ม NVMe เป็น write log
│   ├── zpool add tank log mirror /dev/nvme2n1 /dev/nvme3n1
│   ├── ใช้ mirror สำหรับ SLOG เสมอ!
│   └── ช่วย sync write performance มาก
│
└── Special VDEV:
    ├── เก็บ metadata + small blocks บน SSD
    ├── zpool add tank special mirror /dev/nvme4n1 /dev/nvme5n1
    └── ช่วย performance ของ HDD pool ได้มาก

ส่วนที่ 9: Networking — Bridges, Bonds, VLANs

9.1 Network Architecture ใน Proxmox

Proxmox ใช้ Linux networking เป็นพื้นฐาน ซึ่งมีความยืดหยุ่นสูงมาก:

Proxmox Network Architecture:

Default Setup หลังติดตั้ง:
┌─────────────────────────────┐
│         VM / Container      │
│   ┌──────┐  ┌──────┐       │
│   │eth0  │  │eth0  │       │
│   └──┬───┘  └──┬───┘       │
│      │         │            │
│   ┌──┴─────────┴──┐        │
│   │    vmbr0       │ ← Linux Bridge
│   │  (bridge)      │
│   └──────┬─────────┘        │
│          │                  │
│   ┌──────┴─────────┐       │
│   │    eno1         │ ← Physical NIC
│   │  (physical)     │
│   └──────┬─────────┘       │
│          │                  │
└──────────┼──────────────────┘
           │
    ═══════╧═══════
     Physical Network

Network Components:
├── Physical NIC (eno1, enp2s0, etc.)
│   └── Physical network interface card
├── Linux Bridge (vmbr0, vmbr1, etc.)
│   ├── Software switch ที่เชื่อม VM/CT เข้า network
│   ├── เหมือน physical switch ที่ทำงานใน software
│   └── VM/CT ต่อเข้า bridge → เชื่อมออก physical NIC
├── Bond (bond0, bond1, etc.)
│   ├── รวม NIC หลายใบเป็น 1 logical interface
│   ├── เพิ่ม bandwidth + redundancy
│   └── Mode: LACP (802.3ad), active-backup, balance
└── VLAN (vmbr0.100, etc.)
    ├── Virtual LAN — แบ่ง network segment
    ├── Tag-based (802.1Q)
    └── สร้าง VLAN บน bridge หรือ NIC

9.2 Network Bonding (NIC Teaming)

Network Bonding ใน Proxmox:

สร้าง Bond ผ่าน Web GUI:
├── Node → System → Network
├── Create → Linux Bond
├── Name: bond0
├── Slaves: eno1 eno2 (เลือก NICs)
├── Mode:
│   ├── balance-rr (Round-Robin) — ง่าย
│   ├── active-backup — failover only
│   ├── balance-xor — hash-based
│   ├── broadcast — ส่งทุก interface
│   ├── 802.3ad (LACP) — แนะนำ! ต้อง switch support
│   ├── balance-tlb — adaptive transmit
│   └── balance-alb — adaptive load balancing
├── Primary: eno1
├── Bond-mii-mon: 100 (monitor interval ms)
└── กด "Create"

สร้าง Bridge บน Bond:
├── Create → Linux Bridge
├── Name: vmbr0
├── Bridge ports: bond0
├── IP address: 192.168.1.10/24
├── Gateway: 192.168.1.1
└── กด "Create"

ผลลัพธ์:
VM/CT → vmbr0 (bridge) → bond0 (bond) → eno1 + eno2
                                          ↕         ↕
                                       Switch Port 1 + 2 (LACP)

Production Network Design (3-Node Cluster):
┌──────────────────────────────────────────────────┐
│ Physical NICs per Node:                          │
│                                                  │
│ bond0 (LACP): eno1 + eno2 → vmbr0              │
│   └── Management + VM traffic (10 Gbps × 2)     │
│                                                  │
│ bond1 (LACP): eno3 + eno4 → Ceph Public Net     │
│   └── Ceph cluster + client traffic (25 Gbps × 2)│
│                                                  │
│ eno5 → IPMI/iDRAC/iLO                           │
│   └── Out-of-band management (1 Gbps)           │
│                                                  │
│ Optional: bond2 → vmbr1 (separate VM network)   │
└──────────────────────────────────────────────────┘

9.3 VLAN Configuration

VLAN Setup ใน Proxmox:

แบบที่ 1: VLAN-Aware Bridge (แนะนำ)
├── ตั้ง bridge เป็น "VLAN aware"
├── Node → Network → vmbr0 → Edit
├── ✓ VLAN aware
├── กด OK → Apply Configuration
│
├── กำหนด VLAN ที่ VM:
│   ├── VM → Hardware → Network Device
│   ├── VLAN Tag: 100 (เช่น VLAN 100 สำหรับ servers)
│   └── VM จะอยู่ใน VLAN 100
│
└── ข้อดี: ใช้ bridge เดียว, กำหนด VLAN ที่แต่ละ VM

แบบที่ 2: VLAN Sub-Interface
├── สร้าง VLAN interface บน NIC:
│   ├── Create → Linux VLAN
│   ├── Name: eno1.100
│   ├── Raw device: eno1
│   └── VLAN Tag: 100
│
├── สร้าง bridge สำหรับ VLAN นั้น:
│   ├── Create → Linux Bridge
│   ├── Name: vmbr100
│   ├── Bridge ports: eno1.100
│   └── IP: 10.100.0.1/24 (ถ้าต้องการ)
│
└── กำหนด VM ใช้ vmbr100

ตัวอย่าง VLAN Design:
├── VLAN 10: Management (192.168.10.0/24)
│   └── vmbr0, Proxmox management IP
├── VLAN 20: Server (192.168.20.0/24)
│   └── Production VMs
├── VLAN 30: DMZ (192.168.30.0/24)
│   └── Web servers, exposed services
├── VLAN 40: Storage (192.168.40.0/24)
│   └── NFS, iSCSI, Ceph traffic
└── VLAN 50: Client (192.168.50.0/24)
    └── End-user devices

ส่วนที่ 10: Proxmox Cluster และ High Availability

10.1 Proxmox Cluster คืออะไร?

Proxmox Cluster คือการรวม Proxmox nodes หลายตัวเข้าเป็นกลุ่มเดียว จัดการทุกอย่างผ่าน web GUI เดียว รองรับ live migration และ High Availability:

Proxmox Cluster Architecture:

┌──────────┐    ┌──────────┐    ┌──────────┐
│  pve01   │    │  pve02   │    │  pve03   │
│ (Node 1) │←──→│ (Node 2) │←──→│ (Node 3) │
│          │    │          │    │          │
│ VM100    │    │ VM101    │    │ VM102    │
│ VM103    │    │ CT200    │    │ CT201    │
│ CT202    │    │ CT203    │    │ VM104    │
└──────────┘    └──────────┘    └──────────┘
     ↕               ↕               ↕
═══════════════════════════════════════════
              Shared Storage
        (Ceph / NFS / iSCSI / GlusterFS)

Cluster Components:
├── Corosync — cluster communication
│   ├── Membership management
│   ├── Node heartbeat
│   ├── Quorum voting
│   └── Multicast or Unicast
│
├── pmxcfs — Proxmox Cluster File System
│   ├── แชร์ config ทุก node
│   ├── /etc/pve/ = shared filesystem
│   ├── SQLite + Corosync
│   └── ทุก node เห็น config เหมือนกัน
│
└── HA Manager — High Availability
    ├── Monitor VM/CT status
    ├── Auto-restart ถ้า node fail
    ├── Fencing (IPMI/iLO power control)
    └── ต้องอย่างน้อย 3 nodes (quorum)

Requirements สำหรับ Cluster:
├── อย่างน้อย 3 nodes (สำหรับ quorum)
│   └── 2 nodes ได้แต่ต้องมี QDevice เพิ่ม
├── Dedicated network สำหรับ Corosync (แนะนำ)
├── Hostname resolve ได้ทุก node (/etc/hosts)
├── Time sync (NTP) ทุก node
├── Proxmox VE version เดียวกัน
└── Shared storage (สำหรับ live migration + HA)

10.2 สร้าง Cluster Step-by-Step

สร้าง Proxmox Cluster:

Step 1: ตั้ง hostname ให้ถูกต้องทุก node
# Node 1:
hostnamectl set-hostname pve01.cluster.local
# /etc/hosts:
192.168.1.11  pve01.cluster.local pve01
192.168.1.12  pve02.cluster.local pve02
192.168.1.13  pve03.cluster.local pve03

Step 2: สร้าง Cluster บน Node แรก (pve01)
# ผ่าน Web GUI:
├── Datacenter → Cluster → Create Cluster
├── Cluster Name: my-cluster
├── Ring 0 Address: 192.168.1.11 (Corosync link)
│   └── Ring 1: 192.168.2.11 (redundant link, optional)
└── กด "Create"

# หรือผ่าน CLI:
pvecm create my-cluster

Step 3: Join Cluster จาก Node อื่น
# บน pve01: copy "Join Information"
├── Datacenter → Cluster → Join Information
└── กด "Copy Information"

# บน pve02:
├── Datacenter → Cluster → Join Cluster
├── วาง Join Information
├── Password: root password ของ pve01
├── Cluster Network: 192.168.1.12
└── กด "Join 'my-cluster'"

# ทำซ้ำสำหรับ pve03

Step 4: ตรวจสอบ Cluster Status
pvecm status
# Expected output:
# Cluster information
# Name:    my-cluster
# Member count: 3
# Quorum:  3 (Votes: 3 / Expected: 3)

pvecm nodes
# Node 1: pve01
# Node 2: pve02
# Node 3: pve03

10.3 High Availability (HA)

Proxmox HA Configuration:

เปิดใช้ HA สำหรับ VM/CT:

Step 1: สร้าง HA Group (optional)
├── Datacenter → HA → Groups → Create
├── Group: production-nodes
├── Nodes: pve01, pve02, pve03
├── Priority: pve01=3, pve02=2, pve03=1
│   └── VM จะ prefer node ที่ priority สูงกว่า
├── Restricted: ✓ (รัน VM เฉพาะ nodes ในกลุ่มนี้)
└── Nofailback: □ (ให้ failback เมื่อ node กลับมา)

Step 2: เพิ่ม VM/CT เข้า HA
├── Datacenter → HA → Resources → Add
├── VM/CT: เลือก VM หรือ Container
├── Group: production-nodes
├── Max Restart: 3 (พยายาม restart กี่ครั้ง)
├── Max Relocate: 1 (พยายามย้ายกี่ครั้ง)
├── State: started (เปิดเสมอ)
│   ├── started — ต้องรันเสมอ
│   ├── stopped — ต้องปิดเสมอ
│   ├── ignored — ไม่จัดการ
│   └── disabled — ปิด HA
└── กด "Add"

Step 3: ตั้ง Fencing (สำคัญมาก!)
├── Fencing = การ "ฆ่า" node ที่ไม่ตอบสนอง
├── ป้องกัน split-brain (2 nodes รัน VM เดียวกัน)
├── ใช้ IPMI/iDRAC/iLO power off node ที่ fail
│
├── วิธีตั้ง:
│   ├── Node → Options → IPMI Configuration
│   ├── หรือใช้ ha-manager fence device
│   └── หรือ watchdog (hardware/software)
│
└── ถ้าไม่ตั้ง Fencing:
    └── HA จะรอ timeout นานก่อน failover (อันตราย!)

HA Failover Process:
1. pve02 fail (hardware, power, network)
2. Corosync ตรวจพบ node ไม่ตอบสนอง
3. Quorum vote: pve01 + pve03 = 2/3 (majority ✓)
4. Fencing: power off pve02 ผ่าน IPMI
5. HA Manager: เริ่ม VM ของ pve02 บน node อื่น
6. VM เริ่มรันบน pve01 หรือ pve03 (ตาม priority)
7. Downtime: 1-3 นาที (ขึ้นอยู่กับ fencing + boot time)

ส่วนที่ 11: Live Migration — ย้าย VM ไม่ต้อง Downtime

11.1 วิธีทำ Live Migration

Live Migration คือการย้าย VM จาก node หนึ่งไปอีก node หนึ่ง โดยที่ VM ยังรันอยู่ไม่ต้องปิด — ผู้ใช้ไม่รู้ตัวเลยว่า VM ถูกย้าย:

Live Migration Requirements:
├── Shared storage (Ceph, NFS, iSCSI)
│   └── ทั้ง 2 nodes ต้องเข้าถึง storage เดียวกัน
├── CPU compatibility (same vendor: Intel or AMD)
│   └── หรือใช้ CPU type "x86-64-v2-AES" แทน "host"
├── เพียงพอ RAM บน destination node
├── Network connectivity ระหว่าง nodes
└── ไม่มี local-only resources ที่ย้ายไม่ได้

วิธี Live Migrate:

ผ่าน Web GUI:
├── คลิกขวาที่ VM → Migrate
├── Target node: เลือก destination node
├── Online: ✓ (live migration)
│   └── ถ้าไม่ติ๊ก = offline migration (VM จะ shutdown)
├── With local disks: ✓ (ถ้ามี local disk ที่ต้องย้าย)
└── กด "Migrate"

ผ่าน CLI:
# Live migrate VM 100 ไป pve02
qm migrate 100 pve02 --online

# Live migrate Container 200 ไป pve03
pct migrate 200 pve03 --online --restart

Migration Process (ฉากหลัง):
1. Pre-copy: ส่ง RAM ทั้งหมดไป destination
2. Iterative copy: ส่ง dirty pages ซ้ำ
3. Stop-and-copy: หยุด VM ชั่วครู่ (msec)
4. Resume: เริ่ม VM บน destination
5. Cleanup: ลบ state เก่าจาก source

Downtime ปกติ: < 100 ms (ผู้ใช้ไม่รู้สึก)
เวลารวม: 30 วินาที - หลายนาที (ขึ้นกับ RAM size)

ส่วนที่ 12: Backup and Restore — Proxmox Backup Server

12.1 Backup Options ใน Proxmox

Proxmox มี backup system ในตัวที่ทรงพลัง และยังมี Proxmox Backup Server (PBS) สำหรับ enterprise backup:

Proxmox Backup Options:

1. vzdump (Built-in Backup):
   ├── Backup VM และ Container ได้ทั้งคู่
   ├── Modes:
   │   ├── Snapshot — backup ขณะ VM รันอยู่ (recommended)
   │   │   └── ใช้ qemu-guest-agent freeze filesystem
   │   ├── Suspend — pause VM ระหว่าง backup
   │   │   └── Downtime สั้นๆ
   │   └── Stop — shutdown VM ก่อน backup
   │       └── Consistent ที่สุดแต่มี downtime
   │
   ├── Compression:
   │   ├── LZO — เร็ว, compression ปานกลาง
   │   ├── GZIP — ช้ากว่า, compression ดีกว่า
   │   └── ZSTD — แนะนำ! เร็วและ compression ดี
   │
   ├── Storage: เก็บได้บน local, NFS, CIFS, PBS
   ├── Schedule: ตั้งเวลา backup อัตโนมัติ
   └── Retention: กำหนดจำนวน backup ที่เก็บไว้

2. Proxmox Backup Server (PBS):
   ├── Dedicated backup server (open-source, ฟรี)
   ├── Features เหนือกว่า vzdump:
   │   ├── Incremental backup — backup เฉพาะส่วนที่เปลี่ยน
   │   ├── Deduplication — ไม่เก็บ data ซ้ำ
   │   ├── Client-side encryption — เข้ารหัสก่อนส่ง
   │   ├── Data verification — ตรวจสอบ integrity
   │   ├── Web GUI สำหรับจัดการ
   │   └── Prune (retention policy) — ลบ backup เก่าอัตโนมัติ
   │
   ├── ประหยัดเนื้อที่มาก:
   │   ├── Full backup ครั้งแรก: 100 GB
   │   ├── Incremental ครั้งถัดไป: 1-10 GB (เฉพาะ changed blocks)
   │   └── Dedup ratio: 2-10x ขึ้นอยู่กับ workload
   │
   └── เทียบกับ Veeam:
       ├── PBS = ฟรี
       ├── Veeam = $$$$ per socket/instance
       └── Feature ใกล้เคียงกันสำหรับ Proxmox environment

ตั้งเวลา Backup อัตโนมัติ:
├── Datacenter → Backup → Add
├── Storage: pbs-server (หรือ NFS backup)
├── Schedule: 01:00 (ทุกวัน ตี 1)
├── Selection mode:
│   ├── Include → เลือก VM/CT ที่ต้องการ
│   ├── All — backup ทุก VM/CT
│   ├── Exclude — backup ทุกอัน ยกเว้นที่เลือก
│   └── Pool — backup ทุกอันใน pool
├── Send email to: [email protected]
├── Email notification:
│   ├── Always — ส่งทุกครั้ง
│   ├── Failure — ส่งเฉพาะเมื่อ fail
│   └── Never — ไม่ส่ง
├── Mode: Snapshot
├── Compression: ZSTD
├── Retention:
│   ├── Keep daily: 7
│   ├── Keep weekly: 4
│   ├── Keep monthly: 6
│   └── Keep yearly: 1
└── กด "Create"

12.2 Restore VM/Container จาก Backup

Restore จาก Backup:

ผ่าน Web GUI:
├── Storage → PBS/Backup storage → Content
├── เลือก backup file ที่ต้องการ restore
├── กด "Restore"
├── Options:
│   ├── Target Storage: เลือก storage สำหรับ disk
│   ├── VM ID: เปลี่ยน ID (ถ้าต้องการ)
│   ├── Unique: ✓ สร้าง MAC address ใหม่
│   ├── Start after restore: ✓ (optional)
│   └── Override settings: แก้ไข config (optional)
└── กด "Restore"

ผ่าน CLI:
# Restore VM จาก vzdump
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100

# Restore Container
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst

# Restore จาก PBS
proxmox-backup-client restore vm/100/2026-04-01T01:00:00Z   --repository pbs@pbs-server:backup-store

File-Level Restore (PBS):
├── เข้า PBS web GUI
├── เลือก backup → กด "File Restore"
├── Browse เข้าไปใน backup เหมือน file manager
├── เลือกไฟล์ที่ต้องการ → Download
└── ไม่ต้อง restore VM ทั้งตัว — restore แค่ไฟล์ที่ต้องการ

ส่วนที่ 13: Cloud-Init Templates — สร้าง VM อัตโนมัติ

13.1 Cloud-Init คืออะไร?

Cloud-Init เป็นเครื่องมือที่ช่วยให้สามารถ configure VM อัตโนมัติตอน boot ครั้งแรก — ตั้ง hostname, IP, user, SSH key โดยไม่ต้อง login เข้าไปตั้งค่าเอง:

สร้าง Cloud-Init Template:

Step 1: Download Cloud Image
# Ubuntu Cloud Image
wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img

# Debian Cloud Image
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2

# CentOS Stream
wget https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-latest.x86_64.qcow2

Step 2: สร้าง VM สำหรับ Template
# สร้าง VM (ไม่มี disk)
qm create 9000 --name ubuntu-cloud-template --memory 2048 --cores 2   --net0 virtio,bridge=vmbr0 --machine q35 --bios ovmf   --efidisk0 local-lvm:0,efitype=4m,pre-enrolled-keys=0

# Import disk image
qm importdisk 9000 noble-server-cloudimg-amd64.img local-lvm

# Attach disk
qm set 9000 --scsihw virtio-scsi-single --scsi0 local-lvm:vm-9000-disk-1,discard=on,ssd=1

# ตั้ง boot order
qm set 9000 --boot order=scsi0

# เพิ่ม Cloud-Init drive
qm set 9000 --ide2 local-lvm:cloudinit

# เพิ่ม serial console (required สำหรับบาง cloud images)
qm set 9000 --serial0 socket --vga serial0

# ตั้ง agent
qm set 9000 --agent enabled=1

Step 3: ตั้ง Cloud-Init defaults
# ผ่าน GUI: VM → Cloud-Init tab
# หรือ CLI:
qm set 9000 --ciuser admin
qm set 9000 --cipassword "SecureP@ss123"
qm set 9000 --sshkeys ~/.ssh/authorized_keys
qm set 9000 --ipconfig0 ip=dhcp
qm set 9000 --nameserver 8.8.8.8
qm set 9000 --searchdomain cluster.local

Step 4: Convert เป็น Template
qm template 9000

Step 5: Clone Template เพื่อสร้าง VM ใหม่
# Full Clone
qm clone 9000 110 --name web-server-01 --full true

# ตั้ง IP สำหรับ VM ใหม่
qm set 110 --ipconfig0 ip=192.168.1.110/24,gw=192.168.1.1

# Start VM
qm start 110
# VM จะ boot + auto-configure ตาม cloud-init settings!

Automation ด้วย API:
# สร้าง VM จาก template ผ่าน REST API
curl -k -d "newid=111&name=web-02&full=1"   https://pve01:8006/api2/json/nodes/pve01/qemu/9000/clone   -H "Authorization: PVEAPIToken=user@pam!token=TOKEN_VALUE"

ส่วนที่ 14: Firewall และ Security

14.1 Proxmox Built-in Firewall

Proxmox มี distributed firewall ในตัวที่สามารถกำหนด rules ได้ 3 ระดับ:

Proxmox Firewall Architecture:

3 ระดับของ Firewall Rules:
├── Datacenter level — rules ที่ apply ทุก node, ทุก VM
├── Node (Host) level — rules เฉพาะ node นั้น
└── VM/CT level — rules เฉพาะ VM/Container นั้น

เปิดใช้งาน Firewall:
├── Datacenter → Firewall → Options → Firewall: Yes
├── Node → Firewall → Options → Enable: Yes
└── VM → Firewall → Options → Enable: Yes

Important: เปิดทีละ level และเพิ่ม rules ก่อน
ไม่งั้นอาจ lock ตัวเองออกจาก management!

Security Groups (กลุ่ม rules):
├── Datacenter → Firewall → Security Group → Create
├── Name: web-server
├── Rules:
│   ├── IN ACCEPT tcp dport 80 (HTTP)
│   ├── IN ACCEPT tcp dport 443 (HTTPS)
│   ├── IN ACCEPT tcp dport 22 (SSH) -source 192.168.1.0/24
│   └── IN DROP — default deny
│
└── Apply group ให้ VM:
    ├── VM → Firewall → Insert: Security Group
    └── เลือก "web-server"

ตัวอย่าง Firewall Rules:
# Datacenter level — อนุญาต management
├── IN ACCEPT tcp dport 8006 -source 192.168.1.0/24  # Proxmox GUI
├── IN ACCEPT tcp dport 22 -source 192.168.1.0/24    # SSH
├── IN ACCEPT icmp                                     # Ping
└── IN DROP                                            # Default deny

# VM level — Web Server
├── IN ACCEPT tcp dport 80                             # HTTP
├── IN ACCEPT tcp dport 443                            # HTTPS
├── IN ACCEPT tcp dport 22 -source 192.168.1.0/24    # SSH from LAN
└── IN DROP                                            # Default deny

IPSet (กลุ่ม IP):
├── Datacenter → Firewall → IPSet → Create
├── Name: management-ips
├── IPs: 192.168.1.10, 192.168.1.11, 192.168.1.12
└── ใช้ใน rules: -source +management-ips

14.2 User Management และ LDAP/AD Integration

Proxmox User Management:

Authentication Realms:
├── Linux PAM — local Linux users
├── Proxmox VE — Proxmox built-in users
├── LDAP — LDAP server (OpenLDAP)
├── Active Directory — Microsoft AD
├── OpenID Connect — OAuth2/OIDC providers
└── ใช้ได้หลาย realm พร้อมกัน

Role-Based Access Control (RBAC):
├── Built-in Roles:
│   ├── Administrator — สิทธิ์ทั้งหมด
│   ├── PVEAdmin — admin แต่ไม่จัดการ rights
│   ├── PVEAuditor — read-only ทุกอย่าง
│   ├── PVEDatastoreAdmin — จัดการ storage
│   ├── PVEDatastoreUser — ใช้ storage
│   ├── PVEPoolAdmin — จัดการ pools
│   ├── PVEPoolUser — ใช้ pools
│   ├── PVESysAdmin — จัดการ node
│   ├── PVETemplateUser — ใช้ templates + clone
│   ├── PVEUserAdmin — จัดการ users
│   ├── PVEVMAdmin — จัดการ VMs
│   └── PVEVMUser — ใช้ VMs (console, start, stop)
│
├── Custom Roles:
│   ├── Datacenter → Permissions → Roles → Create
│   ├── เลือก privileges ที่ต้องการ
│   └── Apply ให้ user/group
│
└── Assign Permissions:
    ├── Datacenter → Permissions → Add
    ├── Path: / (all), /vms/100 (specific VM), /pool/dev
    ├── User/Group: เลือก user หรือ group
    ├── Role: เลือก role
    └── Propagate: ✓ (inherit ให้ child objects)

Active Directory Integration:
├── Datacenter → Permissions → Realms → Add → AD
├── Realm: ad
├── Domain: corp.company.com
├── Server: dc01.corp.company.com:636 (LDAPS)
├── Fallback Server: dc02.corp.company.com:636
├── Secure (LDAPS): ✓
├── Base DN: DC=corp,DC=company,DC=com
├── Bind User: CN=proxmox-ldap,OU=ServiceAccounts,DC=corp,DC=company,DC=com
├── Bind Password: ********
├── User Filter: (&(objectClass=user)(memberOf=CN=ProxmoxUsers,OU=Groups,...))
├── Sync:
│   ├── กด "Sync" เพื่อดึง user/group จาก AD
│   └── ตั้ง schedule sync อัตโนมัติ
└── ผู้ใช้ login ด้วย: username@ad

Two-Factor Authentication (2FA):
├── User → TFA → Add
├── Types:
│   ├── TOTP — Google Authenticator, Authy
│   ├── WebAuthn — YubiKey, FIDO2 key
│   └── Recovery Keys — backup codes
├── บังคับ 2FA สำหรับทุก user: Realm → TFA → Required
└── แนะนำ: บังคับ 2FA สำหรับทุก admin account

ส่วนที่ 15: Ceph Distributed Storage — ทดแทน VMware vSAN

15.1 Ceph บน Proxmox

Ceph เป็น distributed storage system ที่ Proxmox integrate ไว้ในตัว — ทำงานคล้าย VMware vSAN แต่ ฟรี ทุก feature:

Ceph Architecture บน Proxmox:

┌──────────────────────────────────────────────────────────┐
│                    Proxmox Cluster                       │
│                                                          │
│  ┌─────────┐     ┌─────────┐     ┌─────────┐           │
│  │  pve01  │     │  pve02  │     │  pve03  │           │
│  │         │     │         │     │         │           │
│  │ MON     │     │ MON     │     │ MON     │ ← Monitors│
│  │ MGR     │     │ MGR     │     │ MGR     │ ← Managers│
│  │ MDS     │     │ MDS     │     │ MDS     │ ← Metadata│
│  │         │     │         │     │         │           │
│  │ OSD     │     │ OSD     │     │ OSD     │ ← Storage │
│  │ OSD     │     │ OSD     │     │ OSD     │   Daemons │
│  │ OSD     │     │ OSD     │     │ OSD     │           │
│  └─────────┘     └─────────┘     └─────────┘           │
│       ↕               ↕               ↕                 │
│  ═══════════════════════════════════════════             │
│            Ceph Cluster Network (25 Gbps)                │
│            + Public Network (10 Gbps)                    │
└──────────────────────────────────────────────────────────┘

Ceph Components:
├── MON (Monitor): จัดการ cluster map, quorum (ต้อง 3+)
├── MGR (Manager): monitoring, dashboard, metrics
├── OSD (Object Storage Daemon): 1 per disk, เก็บ data จริง
├── MDS (Metadata Server): สำหรับ CephFS (filesystem)
└── Pool: กลุ่มของ data ที่กำหนด replication/erasure coding

Ceph บน Proxmox — ติดตั้งง่ายมาก:
├── Node → Ceph → Install Ceph
├── เลือก version (Reef 18.x recommended)
├── Repository: No-Subscription
├── กด "Start Installation"
├── รอ packages install (5-10 นาที)
│
├── สร้าง Monitor:
│   ├── Node → Ceph → Monitor → Create
│   └── ทำทุก node (3 monitors)
│
├── สร้าง Manager:
│   ├── Node → Ceph → Manager → Create
│   └── ทำทุก node (3 managers)
│
├── สร้าง OSD:
│   ├── Node → Ceph → OSD → Create
│   ├── Disk: เลือก disk (NVMe/SSD/HDD)
│   ├── DB Disk: (optional, NVMe สำหรับ WAL+DB)
│   └── ทำทุก disk ที่ต้องการใช้
│
├── สร้าง Pool:
│   ├── Node → Ceph → Pools → Create
│   ├── Name: vm-pool
│   ├── Size: 3 (replicate 3 copies)
│   ├── Min Size: 2 (ทำงานได้แม้เหลือ 2 copies)
│   ├── PG Autoscaler: On
│   └── Add as storage: ✓
│
└── ใช้งาน:
    ├── สร้าง VM → เลือก storage: ceph-pool
    ├── Live migration: ทำได้ทันที (shared storage)
    └── HA: พร้อมใช้งาน

ส่วนที่ 16: Proxmox vs oVirt vs XCP-ng — เปรียบเทียบ Open-Source Hypervisors

16.1 Open-Source Hypervisor Comparison

Open-Source Hypervisor Comparison (2026):

Feature              │ Proxmox VE      │ oVirt            │ XCP-ng
─────────────────────┼─────────────────┼──────────────────┼──────────────
Base                 │ Debian + KVM    │ CentOS + KVM     │ XenServer fork
Hypervisor           │ KVM + QEMU      │ KVM + QEMU       │ Xen
Container support    │ LXC (built-in)  │ ไม่มี           │ ไม่มี
Management UI        │ Web GUI (built-in)│ oVirt Engine    │ Xen Orchestra
                     │                 │ (separate VM)    │ (separate)
Cluster              │ Built-in        │ Built-in         │ Pool
Storage              │ Local, ZFS, Ceph│ NFS, iSCSI,      │ Local, NFS,
                     │ NFS, iSCSI     │ GlusterFS, Ceph  │ iSCSI, Ceph
HA                   │ Built-in        │ Built-in         │ Built-in
Live Migration       │ ✓              │ ✓               │ ✓
Backup               │ vzdump + PBS    │ Limited          │ Xen Orchestra
API                  │ REST API        │ REST API         │ XAPI
Community            │ ใหญ่มาก       │ ปานกลาง         │ กำลังเติบโต
Documentation        │ ดีมาก          │ ปานกลาง         │ ดี
Ease of Use          │ ง่ายมาก        │ ซับซ้อน          │ ปานกลาง
Enterprise Ready     │ ✓              │ ✓ (Red Hat base) │ ✓
GPU Passthrough      │ ✓              │ ✓               │ ✓
Popularity           │ สูงมาก         │ ลดลง            │ เพิ่มขึ้น

สรุป:
├── Proxmox VE — ตัวเลือกอันดับ 1 สำหรับส่วนใหญ่
│   ├── ง่ายที่สุดในการใช้งาน
│   ├── Community ใหญ่ที่สุด
│   ├── Feature ครบที่สุด (VM + Container + Ceph)
│   └── เหมาะตั้งแต่ homelab ถึง enterprise
│
├── oVirt — ถ้าองค์กรใช้ Red Hat ecosystem
│   ├── ซับซ้อนกว่า Proxmox มาก
│   ├── Engine ต้องรันบน VM แยก
│   └── Red Hat ลด investment ใน oVirt
│
└── XCP-ng — ถ้าต้องการ Xen hypervisor
    ├── Fork จาก Citrix XenServer
    ├── Xen Orchestra เป็น management tool ที่ดี
    └── เหมาะสำหรับ VDI (virtual desktop)

ส่วนที่ 17: Performance Tuning และ Best Practices

17.1 VM Performance Optimization

Proxmox Performance Tuning:

1. CPU Optimization:
   ├── CPU Type: "host" สำหรับ best performance
   │   └── ใช้ "x86-64-v2-AES" ถ้าต้อง live migrate ข้าม CPU รุ่น
   ├── NUMA: Enable (ถ้า server มี 2+ CPU sockets)
   ├── CPU Pinning: สำหรับ latency-sensitive workloads
   │   └── taskset -c 0-3 qm start 100
   ├── CPU Governor: performance
   │   └── echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
   └── IO Threads: Enable สำหรับ VirtIO SCSI disks

2. Memory Optimization:
   ├── Ballooning: Enable (ให้ VM คืน RAM ที่ไม่ใช้)
   ├── KSM (Kernel Same-page Merging): Enable
   │   └── echo 1 > /sys/kernel/mm/ksm/run
   │   └── ช่วย overcommit RAM ได้ (VM ที่รัน OS เดียวกัน)
   ├── Huge Pages: Enable สำหรับ large VM
   │   └── VM → Hardware → Memory → Enable hugepages
   └── NUMA Awareness: ตั้งให้ VM อยู่ใน NUMA node เดียว

3. Storage Optimization:
   ├── VirtIO SCSI: ใช้แทน IDE/SATA (เร็วกว่ามาก)
   ├── IO Thread: Enable
   ├── Cache:
   │   ├── ZFS: none (ZFS มี ARC cache แล้ว)
   │   ├── Local LVM: writeback (ระวัง data loss ถ้า power fail)
   │   └── Ceph: none
   ├── Discard/TRIM: Enable (สำหรับ SSD)
   ├── SSD Emulation: Enable (ถ้า storage เป็น SSD)
   ├── aio=io_uring: ใหม่, performance ดี
   └── iothread=1: แยก IO ออกจาก main VCPU thread

4. Network Optimization:
   ├── VirtIO NIC: ใช้แทน E1000 (10x faster)
   ├── Multiqueue: Enable (สำหรับ high-throughput)
   │   └── VM → Network → Queues: 2-4
   ├── TX/RX Ring Buffer: เพิ่มขนาด
   │   └── ethtool -G eth0 rx 4096 tx 4096
   └── Jumbo Frames: Enable (MTU 9000)
       └── ถ้า switch และ NIC รองรับทั้งหมด

5. Host OS Optimization:
   ├── Kernel tuning:
   │   ├── vm.swappiness=10
   │   ├── net.core.rmem_max=16777216
   │   ├── net.core.wmem_max=16777216
   │   └── vm.dirty_ratio=10
   ├── IRQ Affinity: กระจาย interrupt ข้าม CPU cores
   ├── NOOP/None Scheduler: สำหรับ SSD
   │   └── echo none > /sys/block/sda/queue/scheduler
   └── Disable unnecessary services

ส่วนที่ 18: Migration จาก VMware มา Proxmox

18.1 Migration Strategy

การย้ายจาก VMware มา Proxmox ต้องวางแผนอย่างดี เพราะเป็นการเปลี่ยน platform ทั้งหมด:

VMware to Proxmox Migration Plan:

Phase 1: Assessment (1-2 สัปดาห์)
├── Inventory ทั้งหมด:
│   ├── จำนวน VMs, resources ที่ใช้
│   ├── OS versions (Windows/Linux)
│   ├── Applications ที่รันอยู่
│   ├── Dependencies ระหว่าง VMs
│   └── Storage ที่ใช้ (local, SAN, NFS)
│
├── ตรวจสอบ Compatibility:
│   ├── OS ทุกตัวรองรับ KVM? (ส่วนใหญ่รองรับ)
│   ├── มี application ที่ require VMware tools?
│   ├── มี GPU passthrough (NVIDIA vGPU → ?)
│   └── มี vendor support ที่ระบุ VMware only?
│
└── วาง Timeline:
    ├── Lab/Dev VMs → migrate ก่อน
    ├── Non-critical production → ลำดับถัดไป
    └── Critical production → migrate ท้ายสุด

Phase 2: Pilot (2-4 สัปดาห์)
├── ตั้ง Proxmox cluster ขึ้นมา
├── ทดสอบ VM migration กับ non-critical VMs
├── ทดสอบ performance, networking, storage
├── ทดสอบ backup/restore
├── ทดสอบ HA failover
├── สอน team ให้ใช้ Proxmox
└── Document ปัญหาที่เจอและวิธีแก้

Phase 3: Migration (แบ่งเป็น batch)
├── Batch 1: Dev/Test VMs
├── Batch 2: Internal services
├── Batch 3: Production non-critical
└── Batch 4: Production critical

Migration Methods:

1. OVF/OVA Export (แนะนำ):
   ├── VMware: Export VM เป็น .ovf/.ova
   ├── Upload ไป Proxmox server
   ├── แปลง disk:
   │   └── qm importovf 100 vm.ovf local-lvm
   ├── ตรวจสอบ settings (CPU, RAM, NIC)
   ├── เปลี่ยน driver เป็น VirtIO
   ├── ติดตั้ง QEMU Guest Agent
   └── Boot + ทดสอบ

2. Disk Conversion (VMDK → qcow2/raw):
   ├── Copy VMDK ไป Proxmox server
   ├── แปลง disk format:
   │   └── qemu-img convert -f vmdk -O qcow2 vm-disk.vmdk vm-disk.qcow2
   ├── สร้าง VM ใหม่ใน Proxmox
   ├── Import disk:
   │   └── qm importdisk 100 vm-disk.qcow2 local-lvm
   ├── Attach disk ให้ VM
   └── Boot + ทดสอบ

3. V2V Tool (virt-v2v):
   ├── Red Hat virt-v2v tool
   ├── แปลง VMware VM → KVM โดยตรง
   ├── ปรับ drivers อัตโนมัติ
   │   └── virt-v2v -i vmx /path/to/vm.vmx -o local -of qcow2 -os /var/lib/vz/images
   └── เหมาะสำหรับ Linux VMs

4. Clonezilla / dd (Physical method):
   ├── Boot VM จาก Clonezilla
   ├── Clone disk image
   ├── Restore บน Proxmox VM
   └── เหมาะสำหรับ VMs ที่ migration tool ไม่รองรับ

Post-Migration Checklist:
├── ☐ เปลี่ยน SCSI controller เป็น VirtIO SCSI
├── ☐ เปลี่ยน NIC เป็น VirtIO
├── ☐ ถอน VMware Tools
├── ☐ ติดตั้ง QEMU Guest Agent
├── ☐ ติดตั้ง VirtIO drivers (Windows)
├── ☐ ตรวจสอบ IP address, DNS, hostname
├── ☐ ทดสอบ application ทำงานปกติ
├── ☐ ทดสอบ backup/snapshot
├── ☐ อัปเดต monitoring (Zabbix, PRTG, etc.)
├── ☐ อัปเดต documentation
└── ☐ Monitor performance 1-2 สัปดาห์

ส่วนที่ 19: Enterprise Use Cases

19.1 กรณีใช้งาน Proxmox ในองค์กร

Proxmox Enterprise Use Cases:

1. SMB Server Consolidation:
   ├── ปัญหา: server เก่าหลายตัว, ค่า maintenance สูง
   ├── Solution: รวม 10 physical servers → 1-2 Proxmox nodes
   ├── ประโยชน์:
   │   ├── ลดค่าไฟ 60-80%
   │   ├── ลดค่า hardware maintenance
   │   ├── ง่ายต่อการ backup และ DR
   │   └── ไม่มีค่า license
   └── ROI: คืนทุนภายใน 6 เดือน

2. Development/Test Environment:
   ├── ปัญหา: dev team ต้องการ environments หลายชุด
   ├── Solution: Proxmox + Cloud-Init templates
   ├── ประโยชน์:
   │   ├── สร้าง environment ใหม่ใน 2 นาที
   │   ├── Snapshot ก่อน test → rollback ได้
   │   ├── LXC containers สำหรับ lightweight services
   │   └── แต่ละ dev มี isolated environment
   └── Cost: ฟรี (เทียบกับ VMware: $$$)

3. Web Hosting / Service Provider:
   ├── ปัญหา: ต้องการ multi-tenant virtualization
   ├── Solution: Proxmox cluster + Ceph + RBAC
   ├── ประโยชน์:
   │   ├── แต่ละลูกค้ามี VM/CT แยก
   │   ├── Resource pool จำกัดการใช้ทรัพยากร
   │   ├── Firewall แยก per-VM
   │   ├── API สำหรับ automation / billing integration
   │   └── Self-service portal (ผ่าน API)
   └── ตัวอย่าง: OVH, Hetzner ใช้ Proxmox

4. Education / Training Lab:
   ├── ปัญหา: ต้องการ lab environment สำหรับนักเรียน
   ├── Solution: Proxmox + Templates + Pools
   ├── ประโยชน์:
   │   ├── Clone template เป็น lab ให้นักเรียน
   │   ├── จำกัด resources per student (pool)
   │   ├── Reset lab ง่าย (delete + re-clone)
   │   └── ไม่มีค่า license สำหรับสถาบันการศึกษา
   └── Subjects: networking, OS, security, cloud

5. Disaster Recovery Site:
   ├── ปัญหา: ต้องมี DR site แต่งบน้อย
   ├── Solution: Proxmox + PBS + Replication
   ├── ประโยชน์:
   │   ├── Proxmox Backup Server ที่ DR site
   │   ├── Scheduled replication ทุก 15 นาที
   │   ├── Restore VM ที่ DR site ได้ทันที
   │   └── ไม่ต้องจ่าย DR license (VMware SRM = $$$)
   └── RPO: 15 นาที, RTO: 30 นาที

ส่วนที่ 20: Proxmox CLI Reference — คำสั่งที่ใช้บ่อย

20.1 คำสั่ง qm (VM Management)

Proxmox CLI Commands:

VM Management (qm):
├── qm list                    # แสดง VM ทั้งหมด
├── qm status 100              # ดู status ของ VM 100
├── qm start 100               # เปิด VM
├── qm shutdown 100             # ปิด VM (graceful)
├── qm stop 100                # ปิด VM (force — เหมือนดึงปลั๊ก)
├── qm reboot 100              # restart VM
├── qm reset 100               # hard reset
├── qm suspend 100             # pause VM
├── qm resume 100              # resume VM
├── qm create 100 --name test --memory 2048 --cores 2
├── qm destroy 100             # ลบ VM
├── qm clone 100 101 --name clone-vm
├── qm config 100              # ดู config
├── qm set 100 --memory 4096   # แก้ config
├── qm migrate 100 pve02 --online  # live migrate
├── qm snapshot 100 snap1      # สร้าง snapshot
├── qm rollback 100 snap1      # rollback snapshot
├── qm delsnapshot 100 snap1   # ลบ snapshot
├── qm template 100            # convert เป็น template
├── qm importdisk 100 disk.qcow2 local-lvm  # import disk
└── qm terminal 100            # serial console

Container Management (pct):
├── pct list                   # แสดง CT ทั้งหมด
├── pct status 200             # ดู status
├── pct start 200              # เปิด CT
├── pct shutdown 200           # ปิด CT
├── pct stop 200               # force stop
├── pct create 200 local:vztmpl/ubuntu-22.04-standard.tar.zst
├── pct destroy 200            # ลบ CT
├── pct enter 200              # เข้า shell ใน CT
├── pct exec 200 -- apt update # รันคำสั่งใน CT
├── pct set 200 --memory 2048  # แก้ config
├── pct snapshot 200 snap1     # snapshot
├── pct clone 200 201          # clone
├── pct migrate 200 pve02      # migrate
└── pct resize 200 rootfs 20G  # resize disk

Cluster Management (pvecm):
├── pvecm create my-cluster    # สร้าง cluster
├── pvecm add 192.168.1.11     # join cluster
├── pvecm status               # cluster status
├── pvecm nodes                # list nodes
├── pvecm expected 1           # set expected votes (emergency)
└── pvecm delnode pve03        # remove node

Storage:
├── pvesm status               # storage status
├── pvesm list local           # list content on storage
├── pvesm add nfs nfs-backup --server 192.168.1.50 --export /backup
└── pvesm remove nfs-backup    # remove storage

Backup (vzdump):
├── vzdump 100                 # backup VM 100
├── vzdump 100 --mode snapshot --compress zstd --storage pbs
├── vzdump 100 200 300         # backup หลาย VMs
├── qmrestore backup.vma 100   # restore VM
└── pct restore 200 backup.tar.zst  # restore CT

Task/Log:
├── pveam update               # update template list
├── pveam available            # list available templates
├── pveam download local TEMPLATE  # download template
└── journalctl -u pvedaemon    # Proxmox logs

สรุป: Proxmox VE — Open-Source Virtualization ที่พร้อมใช้งาน Production

Proxmox VE เป็น open-source virtualization platform ที่สมบูรณ์แบบที่สุดในปัจจุบัน — รวม KVM VMs, LXC Containers, Ceph distributed storage, HA clustering, backup และอีกมากมายไว้ในแพลตฟอร์มเดียว ทั้งหมดนี้ ฟรี ไม่มีค่า license

Proxmox VE Adoption Roadmap:

เริ่มต้น (สัปดาห์ 1-2):
├── ☐ ติดตั้ง Proxmox VE บน test server
├── ☐ สร้าง VM และ Container ทดลอง
├── ☐ ทำความเข้าใจ Web GUI
├── ☐ ทดลอง ZFS storage
└── ☐ ตั้ง Cloud-Init template

ขยายผล (สัปดาห์ 3-4):
├── ☐ สร้าง 3-node cluster
├── ☐ ตั้ง Ceph storage
├── ☐ ทดสอบ live migration
├── ☐ ตั้ง HA
├── ☐ ตั้ง Proxmox Backup Server
└── ☐ ตั้ง firewall rules

Production (เดือนที่ 2+):
├── ☐ Migrate pilot VMs จาก VMware
├── ☐ ตั้ง LDAP/AD integration
├── ☐ ตั้ง monitoring (Grafana + Prometheus)
├── ☐ ตั้ง backup schedule
├── ☐ Document procedures
├── ☐ Train operations team
└── ☐ Migrate remaining workloads

คำแนะนำสำคัญ:
├── เริ่มจาก lab/dev ก่อน → ค่อยๆ ย้าย production
├── ซื้อ Proxmox subscription ถ้าต้องการ enterprise support
├── ใช้ ZFS สำหรับ local storage (reliable + snapshot)
├── ใช้ Ceph สำหรับ shared storage (ถ้ามี 3+ nodes)
├── ใช้ PBS สำหรับ backup (ประหยัดเนื้อที่มาก)
├── อย่าลืม fencing สำหรับ HA (สำคัญมาก!)
├── เข้า forum.proxmox.com เมื่อมีปัญหา (community ดีมาก)
└── Proxmox พร้อมสำหรับ production — หลายองค์กรใหญ่ใช้แล้ว

ไม่ว่าคุณจะเป็นองค์กรที่ต้องการลดค่า VMware license, startup ที่ต้องการ virtualization แต่งบจำกัด, สถาบันการศึกษาที่ต้องการ lab environment, หรือ IT professional ที่อยากเรียนรู้ virtualization — Proxmox VE คือคำตอบที่ดีที่สุดในปี 2026 เริ่มต้นได้ทันที download ฟรี ไม่มีข้อจำกัด ไม่ต้องลงทะเบียน!

.

.
.
.

จัดส่งรวดเร็วส่งด่วนทั่วประเทศ
รับประกันสินค้าเคลมง่าย มีใบรับประกัน
ผ่อนชำระได้บัตรเครดิต 0% สูงสุด 10 เดือน
สะสมแต้ม รับส่วนลดส่วนลดและคะแนนสะสม

© 2026 SiamLancard — จำหน่ายการ์ดแลน อุปกรณ์ Server และเครื่องพิมพ์ใบเสร็จ

SiamLancard
#ffffff
Free Forex EA — XM Signal · SiamCafe Blog · SiamLancard · Siam2R · iCafeFX
Partner Sites: iCafe Forex | SiamCafe | SiamLancard | Siam2R | XM Signal | iCafe Cloud
iCafeForex.com - สอนเทรด Forex | SiamCafe.net
Shopping cart
Partner Sites: iCafeForex | SiamCafe | Siam2R | XMSignal