1. Kiểm tra yêu cầu phần cứng tối thiểu cho GPU NVIDIA và RAM
Trước khi cài đặt hệ điều hành, bạn cần xác minh phần cứng đáp ứng yêu cầu tối thiểu để chạy các mô hình LLM (Large Language Models) với vLLM và TensorRT-LLM. Yêu cầu này bao gồm GPU hỗ trợ tính toán FP16/INT8 và bộ nhớ RAM đủ lớn để load model.
Chạy lệnh sau trên console của máy chủ (trước khi cài Proxmox hoặc qua live CD) để liệt kê card đồ họa và bộ nhớ:
lspci | grep -i vga
free -h
nvidia-smi
Kết quả mong đợi: Thấy ít nhất 1 GPU NVIDIA (ví dụ: Tesla T4, A100, V100) và tổng RAM từ 32GB trở lên. Nếu `nvidia-smi` báo lỗi, driver chưa được cài đặt, đây là bước chuẩn bị cần xử lý sau khi cài Proxmox.
2. Cài đặt Proxmox VE từ ISO và cấu hình giao diện quản lý web
Tải file ISO Proxmox VE mới nhất từ trang chủ, ghi ra USB và boot máy chủ vào chế độ cài đặt. Chọn ngôn ngữ và bàn phím, sau đó chọn "Install Proxmox VE".
Trong bước "Installation Target", chọn disk chứa OS (ví dụ: /dev/sda). Trong bước "Root Password", đặt mật khẩu mạnh. Trong bước "Domain & Network", điền tên miền (ví dụ: proxmox.local) và IP tĩnh (ví dụ: 192.168.1.100/24).
Sau khi cài đặt hoàn tất, máy sẽ tự động restart. Truy cập trình duyệt từ máy trạm và gõ địa chỉ: `https://192.168.1.100:8006`.
Đăng nhập bằng tài khoản `root` và mật khẩu bạn đã đặt. Bỏ qua cảnh báo chứng chỉ tự ký (Self-signed certificate) để vào giao diện quản lý.
Kết quả mong đợi: Giao diện Proxmox VE hiện ra, hiển thị tên node, trạng thái online và các biểu tượng VM/CT mặc định.
3. Cấu hình lưu trữ Ceph hoặc NFS để chia sẻ dữ liệu training/inference
Để chia sẻ model và dataset giữa các node Kubernetes sau này, ta cần một Shared Storage. Ở đây ta sử dụng NFS vì tính đơn giản và hiệu năng cao cho I/O read-heavy của inference.
Trên giao diện web Proxmox, chọn Node chính -> Storage -> Add -> NFS. Điền thông tin như sau:
Server: 192.168.1.200
Export: /mnt/nfs_storage
Content: ISO images, Disk images, Container templates
Directory: /var/lib/vz/nfs
Kết quả mong đợi: Storage mới xuất hiện trong danh sách, trạng thái "OK". Bạn có thể upload file ISO hoặc model vào đây để các VM/Container khác cùng truy cập.
4. Cài đặt driver NVIDIA và cấu hình GPU passthrough cho container VM
Để vLLM và TensorRT-LLM hoạt động, Proxmox cần driver NVIDIA và khả năng passthrough GPU cho VM hoặc LXC. Ta thực hiện qua dòng lệnh SSH vào Proxmox.
Đầu tiên, cập nhật kho phần mềm và cài đặt repository của NVIDIA:
apt update
apt install proxmox-widget-toolkit pve-no-subscription
Thêm repository NVIDIA vào file `/etc/apt/sources.list.d/nvidia.list`:
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /
Thêm khóa GPG của NVIDIA:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb
apt update
Cài đặt driver NVIDIA (chọn phiên bản tương thích với GPU của bạn, ví dụ 535):
apt install nvidia-driver-535 nvidia-dkms-535 nvidia-utils-535 nvidia-container-toolkit
Tải module NVIDIA vào kernel để passthrough hoạt động:
echo "nvidia" >> /etc/modules
echo "nvidia_uvm" >> /etc/modules
echo "nvidia_drm" >> /etc/modules
systemctl restart pveproxy
Để cấu hình GPU passthrough cho VM, mở file cấu hình VM (ví dụ VM ID 100) tại `/etc/pve/qemu-server/100.conf` và thêm dòng sau vào cuối file (thay `0000:09:00.0` bằng Bus ID của GPU thực tế từ lệnh `lspci`):
hostpci0: 0000:09:00.0,pcie=1,x-vga=1
args: -device vfio-pci,host=0000:09:00.0,multifunction=on,x-vga=on
Kết quả mong đợi: Khi khởi động VM, trong BIOS của VM sẽ thấy GPU NVIDIA. Chạy `nvidia-smi` bên trong VM sẽ trả về thông tin card đồ họa chính xác.
5. Tạo nhóm người dùng và cấu hình chứng chỉ SSL cho cổng quản lý
Để bảo mật truy cập quản trị, ta tạo nhóm người dùng chuyên biệt và thay thế chứng chỉ tự ký bằng chứng chỉ từ Let's Encrypt hoặc CA nội bộ.
Tạo nhóm người dùng "ai-admin" qua dòng lệnh:
pveum user add ai-admin@pve
pveum group add ai-admins
pveum group add ai-admins ai-admin@pve
Cấp quyền cho nhóm này (ví dụ: quyền Administrator):
pveum aclmod / -role Administrator -user ai-admins
Cấu hình chứng chỉ SSL. Nếu dùng Let's Encrypt, chạy lệnh sau (đảm bảo domain đã trỏ về IP Proxmox):
acme account register --email admin@yourdomain.com
acme plugin register letsencrypt
acme order create --email admin@yourdomain.com --dns --domain yourdomain.com
acme cert add proxmox-cert --keytype rsa --csr /etc/pve/pve-root-ca.crt --chain /etc/pve/pve-root-ca.crt
Lập lịch tự động gia hạn chứng chỉ (cron) trong file `/etc/cron.d/proxmox-acme`:
0 3 * * * root acme order create --email admin@yourdomain.com --domain yourdomain.com --force
Áp dụng chứng chỉ vào giao diện web bằng cách chỉnh sửa file `/etc/pve/local/pve-ssl.conf`:
ssl_certificate /etc/pve/pve-root-ca.crt
ssl_certificate_key /etc/pve/pve-root-ca.key
Khởi động lại dịch vụ web:
systemctl restart pveproxy
Kết quả mong đợi: Truy cập lại `https://yourdomain.com:8006`, trình duyệt hiển thị ổ khóa bảo mật (không còn cảnh báo chứng chỉ không an toàn). Tài khoản `ai-admin@pve` đăng nhập thành công với quyền quản trị.
Điều hướng series:
Mục lục: Series: Series: Xây dựng nền tảng AI inference hiệu năng cao với vLLM, TensorRT-LLM và Kubernetes trên Proxmox
Phần 2: Xây dựng cụm Kubernetes trên Proxmox bằng KubeVirt hoặc K3s »