Proxmox Tìm hiểu về kiến trúc các thành phần trong Proxmox

tunanh

Intern
TỔNG QUAN KIẾN TRÚC HỆ THỐNG PROXMOX VE

Proxmox Virtual Environment (VE) là một nền tảng quản lý ảo hóa cấp doanh nghiệp mã nguồn mở. Hệ thống hoạt động dưới dạng Hypervisor Type-1 (Bare-metal), được cài đặt trực tiếp lên phần cứng vật lý dựa trên nền tảng hệ điều hành Debian GNU/Linux.
Báo cáo này phân tích chi tiết 6 thành phần kiến trúc cốt lõi định hình nên khả năng vận hành của Proxmox VE, đi kèm các sơ đồ minh họa kỹ thuật.
Proxmox VE được xây dựng trên triết lý API-First, cho phép quản trị tập trung và tự động hóa cao độ. Tầng này điều phối toàn bộ các luồng lệnh từ người dùng xuống hạ tầng ảo hóa.
  • RESTful API: Là trái tim của hệ thống. Mọi thao tác trên Web GUI, CLI hay công cụ bên thứ ba (Terraform, Ansible) đều phải đi qua cổng API này, đảm bảo tính nhất quán và bảo mật.
  • Các dịch vụ cốt lõi (Services):
    • pveproxy: Lắng nghe các yêu cầu HTTPS tại cổng 8006, đóng vai trò là Web Server và API Endpoint.
    • pvedaemon: Tiến trình thực thi quyền root, trực tiếp ra lệnh cho các thành phần tầng dưới (KVM/LXC) để tạo hoặc sửa đổi tài nguyên.
    • pvestatd (Status Daemon): Liên tục thu thập thông số về sức khỏe hệ thống (CPU, RAM, I/O) của từng Node và máy ảo để hiển thị lên màn hình giám sát.

1777909844553.png

1. KVM (Kernel-based Virtual Machine) & QEMU (Quick Emulator)
KVM và QEMU hoạt động song hành để kiến tạo môi trường máy ảo (Virtual Machine - VM) hoàn chỉnh. Sơ đồ dưới đây minh họa cơ chế tương tác giữa hai thành phần này:
  • KVM: Thực hiện cấp phát trực tiếp tài nguyên CPU và RAM từ phần cứng.
  • QEMU: Đảm nhiệm việc mô phỏng các thiết bị ngoại vi và cấu trúc lưu trữ ảo.

1777909856903.png

  • Bản chất KVM: KVM không phải là một phần mềm độc lập, mà là một module được biên dịch sâu vào nhân (Kernel) của Linux. Thông qua module này, hạt nhân Linux có khả năng vận hành như một Hypervisor.
  • Vai trò KVM: Chức năng trọng tâm của KVM là cấp phát năng lực xử lý (Compute - CPU & RAM) trực tiếp từ nền tảng phần cứng cho máy ảo, qua đó duy trì hiệu năng vận hành ở mức tiệm cận với phần cứng gốc (Native performance).
  • Bản chất QEMU: QEMU là phần mềm mã nguồn mở chuyên thực hiện việc mô phỏng (Emulation) phần cứng. QEMU thiết lập cho hệ điều hành khách (Guest OS) các thành phần như Mainboard logic, BIOS/UEFI, và bộ điều khiển hệ thống lưu trữ.
  • Tối ưu hóa (VirtIO): Nhằm giảm thiểu chu kỳ xử lý của CPU cho quá trình mô phỏng, QEMU tích hợp tiêu chuẩn VirtIO. VirtIO loại bỏ các lớp mô phỏng trung gian, cho phép máy ảo thiết lập kênh kết nối trực tiếp với Kernel của máy chủ chủ (Host), qua đó nâng cao đáng kể thông lượng I/O.
2. LXC (Linux Containers) - Ảo hóa cấp hệ điều hành
Kiến trúc LXC tối ưu hóa tài nguyên bằng cách loại bỏ hoàn toàn quá trình mô phỏng phần cứng và không yêu cầu nhân (Kernel) độc lập biệt lập.
1777909897972.png
  • Bản chất: Là phương pháp ảo hóa cấp hệ điều hành (OS-level virtualization).
  • Cơ chế hoạt động: LXC không sử dụng phần mềm mô phỏng và chia sẻ cùng một Kernel với máy chủ vật lý. Kiến trúc này được cấu thành từ hai công nghệ cốt lõi của Linux:
    • Namespaces: Thiết lập ranh giới cách ly về mặt logic (phân tách tiến trình, không gian mạng, thông tin người dùng) giữa các Container.
    • Cgroups (Control Groups): Đóng vai trò kiểm soát và phân bổ giới hạn tài nguyên phần cứng (RAM, CPU) mà mỗi Container được phép tiêu thụ.
  • Ưu điểm & Hạn chế: Kiến trúc này cho phép thời gian khởi động cực nhanh (chỉ từ 1-2 giây) cùng mức hao tổn tài nguyên nền (overhead) gần như không đáng kể. Tuy nhiên, giới hạn kỹ thuật yêu cầu hệ điều hành khách bắt buộc phải thuộc các bản phân phối Linux (như Ubuntu, Debian), hệ thống không hỗ trợ vận hành các nền tảng khác như Windows.
3. Storage (Kiến trúc Lưu trữ)
Kiến trúc lưu trữ trong Proxmox được thiết kế đa dụng, phân định rõ ràng giữa hai cấp độ: Lưu trữ cấp Tập tin (File-level) và Lưu trữ cấp Khối nhớ (Block-level). Việc hiểu rõ đặc tính phân lớp này là yếu tố then chốt để quy hoạch tài nguyên và tối ưu hóa hiệu suất (I/O) trên toàn hệ thống.
1777910129437.png
  • Lưu trữ cấp Tập tin (File-level Storage):
    • Bản chất: Dữ liệu được quản trị thông qua một hệ thống tập tin (File System) như ext4, xfs trên phân vùng máy chủ, hoặc qua giao thức chia sẻ mạng (NFS, SMB/CIFS). Dữ liệu tồn tại dưới dạng tệp tin (files) tiêu chuẩn, thuận lợi cho việc sao chép và tương tác.
    • Đặc điểm: Tốc độ truy xuất bị giới hạn một phần do dữ liệu cần qua nhiều lớp xử lý logic của hệ điều hành.
    • Mục đích sử dụng: Thường được quy hoạch chuyên biệt để lưu trữ: File ISO cài đặt, Template của LXC, và Dữ liệu Backup. Khuyến nghị không vận hành máy ảo trực tiếp trên nền tảng này (ngoại trừ cấu trúc .qcow2 trên NFS/Directory) để đảm bảo hiệu suất I/O.
    • Trong kiến trúc Cluster cấp doanh nghiệp, Lưu trữ cấp Tập tin thông qua giao thức NFS (Network File System) từ các hệ thống NAS chuyên dụng (như TrueNAS) đóng vai trò là Shared Storage (Lưu trữ dùng chung). Cấu trúc này cho phép tất cả các Node trong cụm Proxmox đồng thời truy cập vào một kho dữ liệu tập trung, là điều kiện tiên quyết để thực thi tính năng Live Migration (Di trú trực tuyến không gián đoạn). Nhờ Shared Storage, khi máy ảo di dời giữa các Node, hệ thống chỉ cần chuyển giao trạng thái RAM và CPU qua mạng, trong khi ổ cứng ảo vẫn nằm cố định tại NAS, giúp giảm thiểu tối đa rủi ro nghẽn mạng (Network Congestion). Trên môi trường File-level Storage như NFS, việc lựa chọn định dạng đĩa ảo quyết định trực tiếp đến tính năng quản trị:
      • Định dạng qcow2 (QEMU Copy-On-Write): Là tiêu chuẩn tối ưu và bắt buộc khuyên dùng. Định dạng này hỗ trợ Thin-provisioning (Cấp phát động) — chỉ tiêu thụ dung lượng lưu trữ thực tế mà máy khách đã sử dụng. Đặc biệt, qcow2 cho phép khởi tạo Snapshot (Chụp nhanh trạng thái hệ thống), hỗ trợ quá trình Rollback an toàn trước khi thực hiện các thay đổi cốt lõi trên VM.
      • Định dạng raw (Dữ liệu thô): Dù cung cấp thông lượng I/O nhỉnh hơn do loại bỏ lớp quản lý metadata của qcow2, nhưng khi đặt trên hệ thống chia sẻ tập tin (như NFS/Directory), định dạng raw sẽ làm mất đi khả năng tạo Snapshot và thường chiếm dụng toàn bộ dung lượng đĩa được khai báo ngay từ đầu (Thick-provisioning), gây lãng phí tài nguyên lưu trữ nghiêm trọng.
  • Lưu trữ cấp Khối nhớ (Block-level Storage):
    • Bản chất: Dữ liệu được ghi trực tiếp xuống các khối nhớ vật lý của thiết bị dưới dạng dữ liệu thô (raw data), bỏ qua các lớp hệ thống tập tin trung gian.
    • Đặc điểm: Đáp ứng chỉ số thao tác truy xuất ngẫu nhiên (IOPS) ở mức cao nhất, độ trễ truy cập thấp.
    • Mục đích sử dụng: Là nền tảng lưu trữ tiêu chuẩn dành cho Ổ cứng ảo của VM và cấu trúc RootFS của Container LXC.
    • Các giải pháp công nghệ tiêu biểu:
      • LVM (Logical Volume Manager): Tiêu chuẩn quản lý phân vùng logic cơ bản trên Linux, hỗ trợ cấp phát tài nguyên tĩnh.
      • LVM-Thin: Cải tiến tính năng với khả năng Cấp phát động (Thin-provisioning). Cho phép gán dung lượng ảo lớn hơn mức dung lượng vật lý thực tế được tiêu thụ, hỗ trợ quản lý hiệu quả và đẩy nhanh quá trình tạo Snapshot.
      • Việc quản lý lưu trữ được phân hóa rõ rệt giữa local-lvm và Shared Storage (điển hình là NFS từ TrueNAS), mỗi loại đóng một vai trò chiến lược khác nhau trong vận hành. Kho lưu trữ local-lvm là phân vùng mặc định, ghi dữ liệu dưới dạng khối (Block-level) trực tiếp lên ổ cứng vật lý của từng Node, giúp đạt tốc độ truy xuất ngẫu nhiên (Random IOPS) tối đa, tiệm cận với tốc độ của phần cứng gốc. Tuy nhiên, điểm yếu cốt lõi của nó là tính "cục bộ" (Local-bound); khi cần di trú (Migrate) máy ảo sang Node khác, hệ thống buộc phải sao chép toàn bộ dung lượng ổ cứng thực tế qua mạng LAN, dẫn đến thời gian chờ đợi lâu và rủi ro lỗi QMP Timeout nếu máy ảo đang hoạt động mạnh hoặc băng thông mạng bị nghẽn. Ngược lại, Shared Storage cho phép mọi Node trong cụm cùng truy cập vào một tệp đĩa duy nhất (thường là định dạng qcow2 hỗ trợ Snapshot). Đây là chìa khóa để thực hiện Live Migration gần như tức thì, vì các máy chủ chỉ cần đồng bộ dữ liệu RAM mà không phải di chuyển dữ liệu đĩa cứng, đảm bảo tính sẵn sàng cao (High Availability) và khả năng mở rộng linh hoạt cho hạ tầng công nghệ cấp doanh nghiệp.ZFS: Giải pháp lưu trữ cục bộ (Local Storage) cấp doanh nghiệp. ZFS tích hợp bộ đệm tối ưu trên RAM (ARC), có khả năng tự động rà soát và khắc phục lỗi toàn vẹn dữ liệu (bit-rot), hỗ trợ nén dữ liệu thời gian thực và trích xuất Snapshot tức thời. ZFS hỗ trợ thiết lập dự phòng tương đương các hệ thống RAID phần cứng (RAIDZ-1/2/3).
      • Ceph (Lưu trữ mạng): Giải pháp lưu trữ phân tán, siêu hội tụ (Hyper-converged). Ceph quy tụ phần cứng lưu trữ từ nhiều Node Proxmox độc lập để hình thành một cụm lưu trữ hợp nhất trên hạ tầng mạng LAN. Dữ liệu được nhân bản tự động (Replication), đảm bảo khả năng duy trì hoạt động và cho phép di dời máy ảo trực tiếp (Live Migrate) ngay cả khi xảy ra sự cố phần cứng tại một Node bất kỳ.
4. Network (Kiến trúc Mạng)
Hạ tầng mạng trong Proxmox được điều phối thông qua phần mềm. Sơ đồ sau trình bày quy trình định tuyến gói tin từ môi trường máy ảo, thông qua Switch ảo (Bridge), để kết nối ra hệ thống mạng bên ngoài.
1777910141168.png
  • Linux Bridge (vmbr0): Hoạt động như một Switch ảo ở Layer 2. Các đối tượng VM và LXC thiết lập giao thức mạng nội bộ và mạng bên ngoài thông qua kết nối vào Bridge này.
  • VLAN (802.1Q): Phân chia hạ tầng mạng vật lý thành các phân đoạn logic độc lập nhằm đáp ứng yêu cầu cách ly bảo mật.
  • Bonding (Gộp kết nối): Thiết lập kết hợp nhiều giao diện vật lý (ví dụ theo chuẩn LACP) nhằm gia tăng tổng băng thông và xây dựng cơ chế dự phòng chống lỗi kết nối (Failover).
  • SDN (Software-Defined Networking): Module quản trị mạng chuyên sâu, hỗ trợ triển khai các mô hình định tuyến phức hợp quy mô Datacenter (như VXLAN, EVPN, VPC).

5. Cluster (Cụm máy chủ)
Kiến trúc Cluster nâng cấp Proxmox từ một máy chủ đơn lẻ thành một hệ sinh thái quản trị tập trung. Sơ đồ mô tả hệ thống cụm đạt chuẩn tối thiểu (3 Node) để duy trì Quorum, kết nối vào nền tảng lưu trữ chia sẻ.
1777910148908.png
  • PMXCFS (Proxmox Cluster File System): Là hệ thống cơ sở dữ liệu phân tán. PMXCFS thực thi nhiệm vụ đồng bộ cấu hình của toàn bộ cụm theo thời gian thực tới tất cả các Node thành viên qua giao thức Corosync.
  • Quorum: Cơ chế đồng thuận. Một cụm chỉ được xác nhận trong trạng thái vận hành ổn định khi duy trì tỷ lệ hơn 50% số lượng Node trực tuyến (ví dụ: cần 2 Node trên tổng số 3 Node). Cơ chế này nhằm ngăn chặn tình trạng phân mảnh hệ thống (Split-brain), dẫn đến gián đoạn và xung đột dữ liệu.
  • Các tính năng phụ thuộc vào kiến trúc Cluster:
    • High Availability (HA - Tính sẵn sàng cao): Đảm bảo duy trì dịch vụ tự động. Trong tình huống một máy chủ vật lý gặp sự cố, hệ thống tự động khởi tạo lại các máy ảo liên quan trên các máy chủ khả dụng khác.
    • Live Migration: Cho phép di dời tài nguyên máy ảo đang hoạt động giữa các Node mà không gây tác động gián đoạn đến dịch vụ mạng (yêu cầu cấu trúc Hạ tầng lưu trữ dùng chung - Shared Storage).
 
Back
Top