Tìm Hiểu Kiến Trúc Và Giao Diện Proxmox VE

1. Giới thiệu

Proxmox VE (Proxmox Virtual Environment ) là một nền tảng ảo hóa mã nguồn mở, được sử dụng để triển khai, quản lý máy ảo, container, hệ thống lưu trữ và mạng trên một hoặc nhiều máy chủ. Proxmox VE cung cấp hai công nghệ ảo hóa chính đó là KVM (Kernel-base Virtual Machine) và LXC (Linux Container). Mục đích thiết kế chính là để cho người quản trị dễ dàng nhất có thể.

 

2. Tổng quan về kiến trúc Proxmox VE

Proxmox VE sử dụng nền tảng Debian GNU/Linux và các thành phần của Linux để cung cấp môi trường ảo hóa. Phần mềm Proxmox bổ xung lớp quản lý tài nguyên, máy ảo, container, storage, network, quyền truy cập và các tính năng quản trị khác.

Có thể chia các thành phần cấu trúc thành các nhóm thành phần để dễ hình dung:

Nhóm Thành phần tiêu biểu Vai trò
Giao diện quản trị WEB UI, CLI và REST API Tiếp nhận thao tác quản trị
Dịch vụ quản trị pveproxy, pvedaemon, pvestatd Cung cấp API, xử lý thao tác và thu thập trạng thái
Lớp workload KVM/QEMU, LXC Chạy máy ảo và container
Lưu trữ Directory, LVM-thin, ZFS, NFS, Ceph Lưu disk ảo, dữ liệu container, ISO và backup tùy cấu hình
Mạng Linux Bridge, VLAN, bond, SDN Kết nối host, VM, container và mạng bên ngoài
Nền tảng hệ thống Linux Kernel, CPU, RAM, disk, NIC Cung cấp tài nguyên để hệ thống hoạt động

Ở bảng trên mới chỉ là sơ đồ khái niệm, không phải là sơ đồ luồng xử lý cố định.

 

2.1. WEB UI, CLI, và REST API

Proxmox VE cung cấp nhiều cách để quản trị hệ thống.

WEB UI

WEB UI là giao diện quản trị truy cập bằng trình duyệt. Người quản trị có thể tạo VM, quản lý container, xem tài nguyên, cấu hình storage, network và thực hiện nhiều thao tác khác. Địa chỉ truy cập thường có dạng:

https://IP-QUAN-TRI:8006

Cổng 8006 là cổng HTTPS quản trị mặc định. Địa chỉ IP và hostname cần thay bằng thông tin thực tế của máy chủ.

Proxmox

CLI (Command-Line Interface)

CLI cho phép thực hiện thao tác shell trên node Proxmox.

CLI hữu ích khi cần kiểm tra cấu hình chi tiết, xử lý sự cố hoặc tự động hóa công việc.

REST API

REST API cung cấp giao diện lập trình để hệ thống bên ngoài hoặc script gửi yêu  cầu quản trị đến Proxmox VE. API là nền tảng quan trọng cho việc tự động hóa, tích hợp hệ thống và quản lý xây dựng công cụ nội bộ.

Bạn có thể tham khảo thêm tại doc api của Proxmox [Tại đây]

Proxmox

 

2.2. Các dịch vụ quản trị quan trọng

Trong quá trình quản trị hệ thống, dưới đây là một số dịch vụ mà bạn có thể sẽ cần

pveproxy

Đây là dịch vụ proxy cho giao diện web và API của Proxmox VE. Khi không truy cập được Web UI, cần kiểm tra nhiều yếu tố như kết nối mạng, cổng quản trị, cũng như nhiều yếu tố khác, không nên kết luận nguyên nhân chỉ từ một chiều.

vNode Tutorial
systemctl status pveproxy

Lệnh trên đây để kiểm tra trạng thái dịch vụ

pvedaemon

pvedaemon cung cấp API nội bộ và thực hiện thao tác quản trị có đặc quyền. Theo tài liệu chính thức, dịch vụ này chạy với quyền root và lắng nghe trên địa chỉ nội bộ là 127.0.0.1:85; preproxy cung cấp điểm truy cập API từ bên ngoài. Đây cũng là một trong những thành phần cần quan tâm nếu như khi thao tác quản trị không hoàn thành hoặc các lỗi liên quan đến API.

vNode Tutorial
systemctl status pvedaemon

Lệnh trên đây để kiểm tra trạng thái dịch vụ

pvestatd

pvestatd là dịch vụ thu thập và cập nhật thông tin trạng thái tài nguyên để Proxmox VE hiển thị các chỉ số quản trị. Khi giao diện quản trị hiển thị thông tin không như mong đợi thì đây là một trong những thành phần bạn sẽ cần phải kiểm tra cùng với các dịch vụ liên quan.

vNode Tutorial
systemctl status pvestatd

Lệnh trên đây để kiểm tra trạng thái dịch vụ

 

2.3. VM và KVM/QEMU

VM (Virtual Machine): là máy ảo hóa có hệ điều hành khách (Guest OS) riêng. Máy ảo thường được triển khai bằng KVM/QEMU.

KVM (Kernel-base Virtual Machine): Giúp máy ảo sử dụng CPU vật lý để xử lý các tác vụ riêng với hiệu năng cao, đồng thời phối hợp với Linux kernel trong việc quản lý bộ nhớ và thực thi máy ảo.

QEMU (Quick Emulator): Là phần mềm mã nguồn mở chuyên thực hiện việc mô phỏng (Emulation). QEMU thiết lập cho máy ảo như ổ cứng, card mạng và các thiết bị ngoại vi.

Một VM có thể được cấp vCPU, vRAM, disk ảo và card mạng ảo. Hệ điều hành bên trong VM có thể hoạt động như một hệ điều hành khách riêng, trong khi việc quản lý và cấp phát tài nguyên do host quản lý.

 

2.4. Container LXC

LXC (Linux Container) là công nghệ container Linux được Proxmox hỗ trợ. Khác với VM, container LXC sử dụng chung Linux Kernel của host thay vì chạy một kernel độc lập.

Đặc điểm chính:

  • Có thể triển khai workload Linux với mức hao tổn tài nguyên nền (overhead) rất thấp.
  • Không tương đương với kernel riêng.
  • Hỗ trợ cô lập tiến trình và giới hạn tài nguyên thông qua những cơ chế của Linux.

 

2.5. Storage

Storage là lớp quản lý nơi lưu trữ dữ liệu của Proxmox VE. Các loại dữ liệu có thể gồm disk ảo, dữ liệu container, ISO, template và file backup, tùy theo backend và cấu hình content type.

2.5.1. Phân loại storage theo công nghệ lưu trữ:

a. File-level Storage (Lưu trữ cấp tệp)

Dữ liệu được quản trị thông qua hệ thống tệp tin (filesystem), cho phép dữ liệu được tổ chức và truy cập thông qua file và thư mục.

Đặc điểm:

  • Có thể lưu nhiều loại nội dung như file ISO, backup, template và ổ đĩa ảo dạng file.
  • Hỗ trợ quản lý dữ liệu thông qua cấu trúc thư mục.
  • Khả năng snapshot và clone phụ thuộc vào filesystem hoặc công nghệ backend được sử dụng.
  • Tốc độ truy suất bị giới hạn một phần do cần qua nhiều lớp xử lý logic của hệ điều hành

b. Block-level Storage (Lưu trữ cấp khối)

Dữ liệu được ghi trực tiếp xuống các khối 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:

  • Thường được sử dụng để lưu trữ disk image hoặc volume của VM và container.
  • Thông thường không hỗ trợ trực tiếp các nội dung dạng file như ISO và file backup

2.5.2. Phân loại theo mô hình triển khai

a. Local Storage (Lưu trữ cục bộ)

Là vùng lưu trữ trực tiếp trên node Proxmox, thường sử dụng HDD, SSD hoặc NVME.

Ưu điểm là dễ triển khai và không phụ thuộc vào kết nối hệ thống lưu trữ bên ngoài. Tuy nhiên dữ liệu trên node có thể bị ảnh hưởng khi phần cứng hoặc hệ thống lưu trữ cục bộ gặp sự cố.

b. Network & Sharing Storage (Lưu trữ mạng và lưu trữ dùng chung)

Là hệ thống lưu trữ được kết nối thông qua mạng. Tùy theo công nghệ có thể truy cập bởi một hoặc nhiều node Proxmox.

Các công nghệ phổ biến:

  • NFS: Chia sẻ storage qua mạng dạng File, thích hợp cho việc di chuyển máy ảo (Live Migration) giữa các node trong cụm (cluster).
  • iSCSI: Cung cấp thiết bị lưu trữ dạng block qua mạng.
  • Ceph: Hệ thống lưu trữ phân tán, hỗ trợ cung cấp block storage thông qua Ceph RBD.

c. Backup Storage (Lưu trữ sao lưu)

Được sử dụng để lưu bản sao lưu của VM và container nhằm phục hồi dữ liệu khi xảy ra sự cố hoặc khi cần khôi phục trạng thái trước đó.

Các giải pháp phổ biến:

  • Proxmox Backup Server (PBS).
  • NFS hoặc SMB được cấu hình để lưu backup.
  • Directory Storage có hỗ trợ nội dung backup.

 

2.6. Network và Linux Bridge

Proxmox VE sử dụng network stack của Linux. Một thành phần thường gặp là Linux Bridge, chẳng hạn vmbr0.

Có thể hình dung bridge như một switch ảo lớp 2. VM hoặc container có thể thông qua bridge để kết nối ra hệ thống bên ngoài

  • Linux Bridge (vmbr0): Hoạt động như một switch ảo Layer 2, kết nối giao diện mạng của VM, LXC và mạng vật lý để trao đổi dữ liệu.
  • VLAN (802.1Q): Phân chia mạng Layer 2 thành các phân đoạn logic độc lập, giúp quản lý lưu lượng và tăng cường khả năng cách ly mạng.
  • Bonding: Kết hợp nhiều giao diện mạng vật lý thành một giao diện logic nhằm tăng tính sẵn sàng và có thể tăng tổng băng thông tùy chế độ cấu hình (ví dụ Active-backup, LACP).
  • SDN (Software-Defined Networking): Cung cấp cơ chế quản lý mạng tập trung, hỗ trợ triển khai mạng ảo và các mô hình mạng datacenter như VLAN, VXLAN và EVPN.

 

2.7. Cluster

Cluster là tính năng cho phép liên kết nhiều máy chủ vật lý riêng lẻ (gọi là các node) lại với nhau để hoạt động và được quản lý như một hệ thống thống nhất,

  • Live Migration (Di chuyển trực tiếp): Cho phép chuyển một máy ảo từ máy chủ này sang máy chủ khác đang hoạt động mà không làm gián đoạn dịch vụ.
  • High Availability (HA – Khả năng sẵn sàng cao): Khi kết hợp với hệ thống lưu trữ chung (như Ceph, ZFS, NFS…), nếu một node vật lý gặp sự cố hoặc chết bất ngờ, các máy ảo trên node đó sẽ tự động được khởi động lại trên một node khỏe mạnh khác trong cluster.

 

3. Kết luận

Qua bài trên, chúng ta đã tìm hiểu sơ qua kiến trúc tổng thể của Proxmox VE, vai trò của dịch vụ quản trị. Ở lab tiếp theo sẽ thực hiện tạo máy ảo Ubuntu Server trên Proxmox VE từ ISO

Tài liệu tham khảo: