Bỏ qua điều hướng
CÔNG TY CỔ PHẦN GIẢI PHÁP CÔNG NGHỆ HQG
Giai đoạn 2 · Hệ điều hành & driverTrung cấp

Cài Ubuntu Server LTS, driver NVIDIA, CUDA Toolkit, Fabric Manager và DCGM

Thiết lập BIOS cho máy chủ GPU, cài driver NVIDIA bằng ubuntu-drivers hoặc repo CUDA, cài CUDA Toolkit, bật persistence mode, Fabric Manager cho HGX/NVSwitch và DCGM để kiểm tra sức khoẻ GPU.

Khoảng 5 phút đọcCập nhật: 09/20268 bước
Mục tiêu

Máy chủ chạy Ubuntu Server LTS nhận đủ GPU, nvidia-smi hoạt động, CUDA Toolkit sẵn sàng biên dịch, và chẩn đoán DCGM chạy qua.

Dành cho ai
  • Kỹ sư hệ thống dựng máy chủ GPU
  • Kỹ sư AI tự quản máy của nhóm
Yêu cầu
  • Máy chủ hoặc workstation có GPU NVIDIA
  • Quyền truy cập BMC/màn hình để chỉnh BIOS
  • Kết nối Internet tới kho gói Ubuntu và NVIDIA
  • Đã cài Ubuntu Server bản LTS (ví dụ 24.04) với quyền sudo
  • Biết dùng dòng lệnh Linux cơ bản
Mục lục bài

Chọn một trong hai cách cài driver — đừng trộn

CáchHợp khiLưu ý
ubuntu-drivers (kho Ubuntu)Muốn driver được Ubuntu kiểm thử, cập nhật cùng hệ điều hành, tự ký module khi bật Secure BootNhánh driver có thể chậm hơn bản NVIDIA vừa phát hành
Repo CUDA của NVIDIACần nhánh driver/CUDA mới, cần đồng bộ phiên bản Fabric Manager, DCGM từ cùng một khoPhải tự quản việc ghim phiên bản; Secure Boot cần ký module

Cảnh báo: Cài driver từ hai nguồn trên cùng một máy là nguyên nhân phổ biến nhất của lỗi nvidia-smi báo lệch phiên bản. Chọn một cách và giữ nguyên.

Các bước thực hiện

Tiến độ của bạn
0/8

Tiến độ chỉ lưu trên trình duyệt này.

  1. Bước 1: Thiết lập BIOS/UEFI

    • Bật Above 4G Decoding (tên có thể là "MMIO above 4G") — bắt buộc với GPU có nhiều VRAM.
    • Bật Resizable BAR nếu nền tảng và GPU hỗ trợ.
    • Secure Boot: hoặc tắt, hoặc giữ bật và ký module driver (MOK) ở bước cài đặt.
    • Chọn cấu hình nguồn/hiệu năng theo hướng "Performance" trong BIOS hoặc BMC.
    • Bật IOMMU/SR-IOV chỉ khi bạn định chia GPU cho máy ảo; máy bare-metal huấn luyện nhiều GPU nên đọc khuyến nghị về ACS trong tài liệu NCCL.
    • Cập nhật BIOS và firmware BMC lên bản hãng máy chủ khuyến nghị cho GPU đang dùng.
  2. Bước 2: Cập nhật hệ thống và kiểm tra GPU trên bus PCIe

    Bash
    sudo apt update && sudo apt full-upgrade -y
    sudo apt install -y build-essential dkms linux-headers-$(uname -r) pciutils
    lspci | grep -i nvidia
    mokutil --sb-state
    sudo reboot

    lspci phải liệt kê đủ số GPU. Thiếu card ở bước này là lỗi phần cứng/BIOS/riser — cài driver không sửa được.

  3. Bước 3: Cài driver NVIDIA

    Cách A — dùng ubuntu-drivers (bản -server dành cho máy chủ tính toán):

    Cách A: kho Ubuntu
    sudo apt install -y ubuntu-drivers-common
    sudo ubuntu-drivers list --gpgpu
    # Thay 570 bằng nhánh driver mà lệnh trên liệt kê và phù hợp GPU của bạn
    sudo ubuntu-drivers install --gpgpu nvidia:570-server
    sudo apt install -y nvidia-utils-570-server
    sudo reboot

    Cách B — dùng repo CUDA của NVIDIA (ví dụ cho Ubuntu 24.04 x86_64; đổi ubuntu2404 theo bản Ubuntu của bạn):

    Cách B: repo CUDA
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
    sudo dpkg -i cuda-keyring_1.1-1_all.deb
    sudo apt update
    # Kernel module mã nguồn mở (khuyến nghị cho GPU đời mới — xem tài liệu NVIDIA cho GPU của bạn)
    sudo apt install -y nvidia-open
    # Hoặc module độc quyền: sudo apt install -y cuda-drivers
    sudo reboot

    Lưu ý: Nếu Secure Boot đang bật, trình cài sẽ yêu cầu đặt mật khẩu MOK. Sau khi khởi động lại, chọn "Enroll MOK" trên màn hình console và nhập mật khẩu đó — cần truy cập console qua BMC.

  4. Bước 4: Kiểm tra driver và topo GPU

    Bash
    nvidia-smi
    nvidia-smi topo -m
    lsmod | grep -E "nvidia|nouveau"

    nvidia-smi phải hiện đủ GPU và phiên bản driver. nvidia-smi topo -m cho biết GPU nối nhau qua NVLink (NV#), cùng switch PCIe (PIX/PXB) hay phải đi qua CPU (SYS) — thông tin này cần khi đặt tiến trình và chọn tensor parallel. Module nouveau không được xuất hiện.

  5. Bước 5: Cài CUDA Toolkit (khi cần biên dịch)

    Wheel PyTorch đã kèm thư viện CUDA runtime, nên chỉ chạy PyTorch thì chưa cần Toolkit. Bạn cần Toolkit khi biên dịch extension (flash-attention, DeepSpeed op, nccl-tests…). Toolkit lấy từ repo CUDA ở bước 3 (cách B) — cài riêng cuda-keyring nếu bạn đã chọn cách A.

    Bash
    sudo apt install -y cuda-toolkit
    echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
    echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
    source ~/.bashrc
    nvcc --version

    Mẹo: Gói cuda-toolkit chỉ cài Toolkit, không đụng tới driver. Tránh cài gói cuda (gói gộp) nếu bạn đã cài driver bằng cách A, vì nó kéo theo driver từ repo NVIDIA.

  6. Bước 6: Bật persistence mode

    Persistence giữ driver nạp sẵn khi không có tiến trình dùng GPU, tránh độ trễ khởi tạo mỗi lần chạy job và giữ cấu hình GPU ổn định.

    Bash
    sudo systemctl enable --now nvidia-persistenced
    systemctl status nvidia-persistenced --no-pager
    nvidia-smi -q | grep -i "persistence mode"
  7. Bước 7: Cài Fabric Manager cho hệ HGX/NVSwitch

    Chỉ áp dụng cho máy có NVSwitch (bo mạch HGX nhiều GPU SXM). Máy card PCIe thường bỏ qua bước này. Phiên bản Fabric Manager phải khớp chính xác nhánh driver.

    Bash
    # Thay 570 bằng đúng nhánh driver đang chạy (xem trong nvidia-smi)
    sudo apt install -y nvidia-fabricmanager-570
    sudo systemctl enable --now nvidia-fabricmanager
    systemctl status nvidia-fabricmanager --no-pager
    nvidia-smi -q | grep -i -A 3 fabric

    Cảnh báo: Trên hệ NVSwitch, thiếu hoặc lệch phiên bản Fabric Manager thì CUDA không khởi tạo được GPU dù nvidia-smi vẫn liệt kê card. Với các thế hệ HGX mới, đọc thêm tài liệu NVIDIA về NVLink Subnet Manager đi kèm.

  8. Bước 8: Cài DCGM và chạy chẩn đoán

    DCGM (Data Center GPU Manager) dùng để kiểm tra sức khoẻ, chạy chẩn đoán và cấp số liệu cho hệ giám sát. Tên gói thay đổi theo thế hệ DCGM và phiên bản CUDA — kiểm tra trang tài liệu trước khi cài.

    Bash
    # Ví dụ DCGM 4 cho CUDA 12 từ repo CUDA; đổi hậu tố theo phiên bản CUDA của driver
    sudo apt install -y datacenter-gpu-manager-4-cuda12
    sudo systemctl enable --now nvidia-dcgm
    dcgmi discovery -l
    dcgmi diag -r 1

    Mức -r 1 chạy nhanh để kiểm tra triển khai. Các mức cao hơn (-r 2, -r 3) chạy lâu và tải GPU nặng — chạy ngoài giờ hoặc trước khi bàn giao máy.

Kiểm tra thành công

Chạy liền một lượt
nvidia-smi --query-gpu=index,name,driver_version,persistence_mode,memory.total --format=csv
nvcc --version
dcgmi diag -r 1
  • Đủ số GPU, cùng phiên bản driver, persistence mode = Enabled.
  • nvcc --version in ra phiên bản Toolkit (nếu bạn cài Toolkit).
  • dcgmi diag -r 1 không có mục Fail.
  • Hệ HGX: dịch vụ nvidia-fabricmanager ở trạng thái active.

Lỗi thường gặp & cách sửa

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

Nguyên nhân thường gặp: Module chưa nạp: chưa khởi động lại, Secure Boot chặn module chưa ký, hoặc thiếu kernel header khi DKMS build.

Bash
mokutil --sb-state
dkms status
sudo dmesg -T | grep -iE "nvidia|secure boot|module verification"

Nếu Secure Boot bật và module chưa ký: enroll MOK hoặc tắt Secure Boot. Nếu DKMS lỗi: cài linux-headers-$(uname -r) rồi cài lại gói driver.

Failed to initialize NVML: Driver/library version mismatch

Nguyên nhân thường gặp: Thư viện user-space đã cập nhật nhưng module kernel cũ vẫn đang nạp, hoặc trộn driver từ hai nguồn.

Khởi động lại máy. Nếu vẫn lỗi, liệt kê gói bằng dpkg -l | grep -i nvidia, gỡ các gói lệch nguồn và cài lại theo một cách duy nhất.

lspci thấy GPU nhưng nvidia-smi thiếu card hoặc báo lỗi bộ nhớ BAR

Nguyên nhân thường gặp: Above 4G Decoding chưa bật, card lỏng/riser lỗi, nguồn cấp cho GPU chưa đủ.

Bật Above 4G Decoding, kiểm tra cáp nguồn GPU, xem nhật ký BMC và sudo dmesg -T | grep -i nvrm.

CUDA báo không có thiết bị trên máy HGX dù nvidia-smi thấy đủ GPU

Nguyên nhân thường gặp: Fabric Manager chưa chạy hoặc lệch phiên bản với driver.

Bash
journalctl -u nvidia-fabricmanager --no-pager | tail -n 50
dpkg -l | grep -E "nvidia-fabricmanager|nvidia-driver|nvidia-open"

Bước tiếp theo

Nguồn chính chủ

Lệnh, tên gói và tham số thay đổi theo phiên bản. Trước khi chạy trên máy thật, hãy kiểm tra phiên bản mới nhất tại trang chính chủ:

Giới hạn của bài

  • Số nhánh driver (570), tên gói DCGM và đường dẫn repo trong bài là VÍ DỤ tại thời điểm cập nhật; nhánh phù hợp phụ thuộc GPU và hệ điều hành của bạn.
  • Bài không đề cập vGPU, MIG và ảo hoá GPU — mỗi chủ đề cần tài liệu riêng.
Cần người dựng hệ thống cùng?

Kỹ sư HQG khảo sát, lên cấu hình, lắp đặt và bàn giao hạ tầng AI chạy được thật.