**Ubuntu Server trên Proxmox: Cài AI GPU NVIDIA "nhanh như chớp" - Hướng dẫn chi tiết**

Ubuntu Server trên Proxmox: Cài AI GPU NVIDIA "nhanh như chớp" - Hướng dẫn chi tiết

Bạn đang sở hữu một máy chủ Proxmox mạnh mẽ với GPU NVIDIA và muốn biến nó thành một cỗ máy AI chuyên dụng? Bài viết này sẽ cung cấp hướng dẫn chi tiết, từng bước để cài đặt Ubuntu Server, cấu hình GPU passthrough và tối ưu hóa hệ thống cho các tác vụ học máy. Chúng ta sẽ tập trung vào việc tạo ra một môi trường ổn định, hiệu suất cao, sẵn sàng cho các ứng dụng AI tiên tiến nhất. Mục tiêu là giúp bạn khai thác tối đa sức mạnh phần cứng của mình một cách dễ dàng và hiệu quả.

Điều Kiện Tiên Quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã chuẩn bị đầy đủ các yếu tố sau:

  • Máy chủ Proxmox đã được cài đặt và cấu hình hoàn chỉnh.
  • GPU NVIDIA đã được cách ly thành công thông qua passthrough (tham khảo các hướng dẫn cấu hình trước đó).
  • File ISO Ubuntu Server LTS (Long Term Support) đã được tải lên bộ nhớ Proxmox.
  • Đã phân bổ tài nguyên máy ảo phù hợp (số lõi CPU, dung lượng RAM, dung lượng ổ cứng).
  • Kết nối mạng ổn định đến máy chủ Proxmox.

Giai Đoạn 1: Tạo Máy Ảo Proxmox – Tối Ưu Hóa Cho AI

Truy cập vào bảng điều khiển Proxmox và nhấp vào nút "Create VM" (Tạo máy ảo). Các cài đặt ở đây sẽ ảnh hưởng trực tiếp đến hiệu suất và khả năng tương thích GPU của máy ảo, vì vậy hãy xem xét kỹ từng tab.

General (Tổng Quan)

Đặt tên máy ảo một cách mô tả (ví dụ: "ubuntu-ai-server") để dễ dàng quản lý. Proxmox sẽ tự động gán ID, bạn có thể giữ nguyên.

OS (Hệ Điều Hành)

Chọn "Linux" làm loại hệ điều hành, sau đó chọn file ISO Ubuntu Server LTS đã tải lên. Giữ nguyên mục "Type" là Linux – Proxmox sẽ tự động phát hiện bản phân phối.

System (Hệ Thống) – Yếu Tố Quan Trọng Nhất Cho GPU Passthrough

Đây là bước quan trọng nhất để đảm bảo GPU hoạt động ổn định. Hãy đặt "BIOS" thành "OVMF (UEFI)". Các GPU NVIDIA hiện đại yêu cầu firmware UEFI để khởi tạo chính xác. Tuyệt đối không sử dụng SeaBIOS, vì nó có thể gây ra lỗi và không ổn định khi sử dụng GPU passthrough.

Chọn ô "Add EFI disk" (Thêm ổ đĩa EFI) và phân bổ dung lượng 1 GB. Nếu không, máy ảo sẽ không khởi động được với UEFI. Đặt "Machine" (Máy) thành "q35" (mặc định của Proxmox) và "SCSI Controller" (Bộ điều khiển SCSI) thành "VirtIO SCSI" để tối ưu hóa hiệu suất lưu trữ.

CPU (Bộ Xử Lý) – Tập Lệnh AVX/AVX2 Cần Thiết

Phân bổ 4-8 lõi CPU tùy thuộc vào CPU máy chủ và khối lượng công việc. Điều chỉnh số lượng lõi theo nhu cầu sử dụng. Đặt "Type" (Loại) thành “host”. Đây là yêu cầu bắt buộc.

Loại CPU “host” cho phép truyền trực tiếp các tập lệnh của CPU vật lý của bạn – bao gồm AVX và AVX2 – đến máy ảo. Điều này rất cần thiết cho các thư viện AI được tối ưu hóa (PyTorch, TensorFlow, v.v.). Nếu không có loại CPU “host”, hiệu suất của các tác vụ AI sẽ giảm đáng kể.

Memory (Bộ Nhớ) – Cấu Hình Quan Trọng Nhất Cho Độ Ổn Định

Phân bổ một lượng RAM cố định (ví dụ: 32 GB). Điều chỉnh dung lượng RAM dựa trên tổng dung lượng RAM khả dụng của máy chủ và quy mô khối lượng công việc dự kiến. Đây là nơi bạn cần đưa ra quyết định quan trọng về tính ổn định.

Bỏ chọn “Ballooning device” (Thiết bị Ballooning). Đây là yêu cầu bắt buộc. Tính năng ballooning cho phép Proxmox tự động thu nhỏ hoặc mở rộng RAM của máy ảo. Trong quá trình huấn luyện hoặc suy luận AI cường độ cao, việc thay đổi kích thước bộ nhớ động có thể gây ra hiện tượng chậm trễ, lỗi bộ nhớ cache và thậm chí là sự cố hoàn toàn. Các tác vụ AI yêu cầu phân bổ bộ nhớ ổn định và có thể dự đoán được.

Network (Mạng)

Để nguyên các cài đặt mặc định. Proxmox sẽ tự động gán một card mạng ảo và DHCP sẽ cung cấp địa chỉ IP.

Confirm (Xác Nhận)

Xem lại tất cả các thiết lập trên tab xác nhận. Nhấp vào "Finish" (Hoàn tất) để tạo máy ảo.

Giai Đoạn 2: Cài Đặt Hệ Điều Hành và Khởi Động Lần Đầu

Nhấp vào "Start" (Bắt đầu) để khởi động máy ảo. Mở tab "Console" trong Proxmox để theo dõi quá trình khởi động. Trình cài đặt Ubuntu sẽ xuất hiện trong vài giây.

Làm theo các hướng dẫn cài đặt tiêu chuẩn: ngôn ngữ, bố cục bàn phím, cấu hình mạng và thiết lập lưu trữ. Khi đến màn hình "Storage configuration" (Cấu hình lưu trữ), hãy chấp nhận mặc định – sử dụng toàn bộ ổ đĩa ảo mà Proxmox đã tạo.

Nhập tên máy chủ cho máy ảo của bạn (ví dụ: "ai-server") và tạo tài khoản người dùng với mật khẩu mạnh. Bạn sẽ sử dụng tài khoản này cho công việc hàng ngày.

Quan trọng trong quá trình cài đặt: Khi màn hình "Select software" (Chọn phần mềm) xuất hiện, hãy đảm bảo hộp "OpenSSH server" (Máy chủ OpenSSH) được ĐÁNH DẤU. Điều này rất quan trọng. Nó cho phép bạn kết nối từ xa với máy ảo qua SSH mà không cần dựa vào bảng điều khiển của Proxmox, vốn có thể chậm và rắc rối cho việc phát triển hàng ngày.

Hãy để quá trình cài đặt hoàn tất và cho phép máy ảo tự động khởi động lại.

Giai Đoạn 3: Dọn Dẹp Sau Cài Đặt – Những Việc Cần Làm

Sau khi máy ảo khởi động và hiển thị lời nhắc đăng nhập, hãy đăng nhập bằng thông tin đăng nhập người dùng mà bạn đã tạo.

Chạy ngay các lệnh sau:

sudo apt update && sudo apt upgrade -y

Thao tác này cập nhật kho gói phần mềm và cài đặt bất kỳ bản vá bảo mật nào có sẵn. Quá trình này mất từ ​​1 đến 3 phút, tùy thuộc vào tuổi đời của hệ thống.

Tiếp theo, hãy cài đặt ba tiện ích thiết yếu:

sudo apt install qemu-guest-agent neofetch htop -y

Dưới đây là chức năng của từng thành phần:

  • qemu-guest-agent cho phép Proxmox giám sát địa chỉ IP, mức sử dụng CPU và mức tiêu thụ bộ nhớ của máy ảo theo thời gian thực. Quan trọng hơn, nó cho phép thực hiện các lệnh tắt máy sạch từ Proxmox thay vì khởi động lại cứng. Việc tắt máy không sạch có thể khiến bộ nhớ GPU ở trạng thái không ổn định, có khả năng làm hỏng các tác vụ huấn luyện đang hoạt động.
  • neofetch hiển thị thông tin hệ thống – hữu ích để nhanh chóng xác minh phiên bản và thông số kỹ thuật Ubuntu của bạn.
  • htop là một trình giám sát tiến trình tương tác hiển thị mức sử dụng CPU và bộ nhớ theo thời gian thực – vô cùng hữu ích để gỡ lỗi xung đột tài nguyên trong quá trình xử lý các tác vụ AI.

Sau khi cài đặt hoàn tất, hãy khởi động lại máy ảo:

sudo reboot

Sau khi khởi động, hãy kiểm tra xem QEMU Guest Agent có đang chạy hay không:

sudo systemctl status qemu-guest-agent

Bạn sẽ thấy trạng thái hoạt động (đang chạy). Nếu không, hãy khởi động lại:

sudo systemctl restart qemu-guest-agent

Quay lại giao diện Proxmox và làm mới chế độ xem phần cứng của máy ảo. Bây giờ bạn sẽ thấy địa chỉ IP của máy ảo được hiển thị trong mục "IPs" thay vì "N/A". Điều này xác nhận rằng tác nhân khách đang giao tiếp với Proxmox.

Giai Đoạn 4: Cài Đặt Trình Điều Khiển NVIDIA

Đây là thời điểm quyết định. Nếu tính năng truyền GPU được cấu hình chính xác trên máy chủ Proxmox của bạn, GPU của bạn sẽ được nhận diện ở đây. Nếu không thành công, bạn cần xem lại cấu hình IOMMU và danh sách đen của máy chủ.

Phương pháp dễ nhất và đáng tin cậy nhất cho Ubuntu Server là công cụ ubuntu-drivers tích hợp sẵn, công cụ này tự động phát hiện GPU của bạn và cài đặt trình điều khiển phù hợp.

Chạy:

sudo ubuntu-drivers list

Lệnh này sẽ hiển thị tất cả các trình điều khiển NVIDIA có sẵn cho phần cứng của bạn. Bạn sẽ thấy kết quả tương tự như sau:

nvidia-driver-470 nvidia-driver-550 nvidia-driver-570 nvidia-driver-570-open

Đối với các tác vụ AI hiện đại, nên ưu tiên các phiên bản trình điều khiển mã nguồn mở (những trình điều khiển có hậu tố -open). Chúng tránh được các vấn đề liên quan đến lỗi mô-đun kernel và cung cấp độ ổn định tuyệt vời. Tuy nhiên, nếu GPU của bạn không hỗ trợ trình điều khiển mã nguồn mở, các phiên bản độc quyền cũng hoạt động tốt.

Cài đặt trình điều khiển được đề xuất tự động:

sudo ubuntu-drivers autoinstall

Quá trình này sẽ phát hiện phần cứng của bạn và cài đặt trình điều khiển ổn định phù hợp nhất. Quá trình mất từ ​​2 đến 5 phút. Bạn sẽ thấy các thông báo của trình biên dịch khi mô-đun kernel được xây dựng và chèn vào kernel đang chạy.

Sau khi hoàn tất, khởi động lại máy ảo để tải mô-đun kernel mới:

sudo reboot

Sau khi khởi động lại, hãy chạy lệnh huyền thoại:

nvidia-smi

Nếu cấu hình truyền GPU trực tiếp được thực hiện chính xác, bạn sẽ thấy kết quả tương tự như sau:

+---------------------------------------------------------------------------------+ | NVIDIA-SMI 570.169            Driver Version: 570.169   CUDA Version: 12.8     | |-----------------------------------------+------------------------+-------------| | GPU  Name                Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC | | Fan  Temp  Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. | |===========================================================================================| |   0  NVIDIA GeForce RTX 9090    Off   | 00:10.0 Off |              N/A      | |  0%   38C   P8            15W / 575W |      2MiB / 32607MiB |      0%      Default | +-------------------------+------------------------+-------------|  Processes:  GPU GiB Type Process name          GPU Memory |                  GPU-Util  Compute M. | |===========================|===========================| |  No running processes found           | +---------------------------+-----------+

Những Điều Cần Kiểm Tra

  • Tên GPU: Hiển thị kiểu GPU của bạn (RTX 5090, RTX 4090, A100, v.v.). Điều này xác nhận GPU của bạn đã được truyền thành công.
  • Phiên bản trình điều khiển: Hiển thị phiên bản trình điều khiển đã cài đặt. Nếu bạn thấy điều này, quá trình cài đặt trình điều khiển đã thành công.
  • Phiên bản CUDA: Hiển thị phiên bản CUDA được trình điều khiển này hỗ trợ (ví dụ: 12.8). Điều này rất quan trọng đối với các framework AI – PyTorch và TensorFlow hãy kiểm tra khả năng tương thích CUDA.
  • Bộ nhớ: Hiển thị tổng bộ nhớ GPU khả dụng (ví dụ: 32607 MiB = ~32 GB). Điều này xác nhận toàn bộ VRAM có thể truy cập được bởi máy ảo.

Nếu Lệnh nvidia-smi Thất Bại

Nếu bạn thấy “Không tìm thấy thiết bị nào” hoặc lỗi trình điều khiển, quá trình truyền GPU không hoạt động. Quay lại máy chủ Proxmox của bạn và kiểm tra:

  • IOMMU đã được bật trong cấu hình GRUB của máy chủ.
  • GPU của bạn không nằm trong danh sách đen (kiểm tra /etc/modprobe.d/blacklist.conf).
  • GPU đã được gán chính xác trong tab thiết bị PCI của máy ảo.
  • Mẫu GPU của bạn được hỗ trợ bởi trình điều khiển NVIDIA (GPU quá cũ hoặc quá mới đôi khi gặp sự cố).

Giám Sát GPU Thời Gian Thực (Tùy Chọn)

Để giám sát liên tục việc sử dụng GPU, hãy cài đặt:

sudo apt install nvtop

Sau đó chạy lệnh:

nvtop

Điều này cung cấp giao diện giống như bảng điều khiển hiển thị bộ nhớ GPU, mức sử dụng và các tiến trình đang chạy trong thời gian thực. Nó vô cùng hữu ích trong quá trình phát triển và gỡ lỗi.

Giai Đoạn 5: Bước Tiếp Theo – Cài Đặt Ollama

Giờ đây bạn đã có một máy chủ Ubuntu ổn định, được tăng tốc bằng GPU, sẵn sàng cho việc phát triển AI. Hệ thống có bộ nhớ cố định (không bị phình to), truyền CPU đúng cách với các tập lệnh AVX/AVX2 và nhận diện GPU đã được xác minh. Để đơn giản hóa việc triển khai mô hình, hãy cài đặt Ollama:

curl -fsSL https://ollama.com/install.sh | sh

Sau khi cài đặt, bạn có thể tải xuống và chạy các mô hình ngôn ngữ lớn (LLM) như Llama 2 chỉ bằng một lệnh:

ollama run llama2

Ollama sẽ tự động tải xuống mô hình, cấu hình nó để sử dụng GPU của bạn và cung cấp giao diện trò chuyện. Đây là cách nhanh nhất để bắt đầu khám phá sức mạnh của AI trên máy chủ của bạn.

Kết Luận

Bạn đã thành công tạo ra một máy chủ AI mạnh mẽ trên Proxmox! Quá trình này có thể phức tạp, nhưng kết quả là một nền tảng ổn định, hiệu suất cao, sẵn sàng cho các dự án học máy của bạn. Hãy tận dụng sức mạnh của GPU NVIDIA và bắt đầu khám phá thế giới AI!

Từ khóa chính: Ubuntu Server trên Proxmox: Cài AI GPU NVIDIA "nhanh như chớp"

html
Mới hơn Cũ hơn