显卡直通算力虚拟机方案

直通算力linux

【容器模式】容器绕不开内核模块,宿主内核回退LTS
  容器与宿主共用内核(实测:容器内 uname -r = 宿主 6.18.54)
  nvidia 驱动分两半:nvidia.ko 由宿主内核加载,对内核版本有限制;容器里那份只是用户态库 libcuda
  Ubuntu 基础镜像只能满足用户态 → 容器里跑 llama.cpp 用 4060,在宿主最新内核上不可行

【虚拟机模式】
  宿主系统不加载 nvidia,改用 vfio-pci 绑定直通,内核版本不受限制
  虚拟机磁盘文件估算:Vulkan 3GB,CUDA 8GB
  	Guest 系统(Ubuntu 24.04 minimal,云镜像下载 252 MiB):约 1.2-1.5 GB
    Guest 内 NVIDIA 驱动(用户态,只做算力):约 0.3-0.6 GB
    docker 引擎 + containerd:约 0.2-0.3 GB
    llama.cpp 镜像:Vulkan 路线约 0.7 GB / CUDA 路线约 5.8 GB ← 主要差异
  	建议分配(qcow2 稀疏,按用量增长,不实占):Vulkan 8 GB / CUDA 16 GB
  docker镜像体积
  	ghcr.io/ggml-org/llama.cpp:server-cuda		2473 MiB 压缩 / 13 层 / 展开约 5.8 GiB
  	ghcr.io/ggml-org/llama.cpp:server-vulkan	294 MiB 压缩 / 6 层 / 展开约 0.7 GiB
  	ghcr.io/ggml-org/llama.cpp:server			297 MiB 压缩 / 5 层 / 展开约 0.7 GiB
  	ghcr.io/ggml-org/llama.cpp:full-cuda		3412 MiB 压缩 / 14 层 / 展开约 8.0 GiB
  	nvidia/cuda:12.6.3-runtime-ubuntu24.04		1459 MiB 压缩(展开约 3.4 GiB)
  	nvidia/cuda:12.6.3-base-ubuntu24.04			87 MiB 压缩
  	nvidia/cuda:12.6.3-devel-ubuntu24.04		3894 MiB 压缩(展开约 9.1 GiB)
  	ubuntu:24.04 28 MiB / debian:12-slim 27 MiB / alpine:3.21 3 MiB
  	
  	base (87 MiB):CUDA 运行时核心(cudart),提供基础 GPU 调用能力。
    runtime (1459 MiB):base + CUDA 数学库(含 cuBLAS 等),llama.cpp 最低运行需求。
    devel (3894 MiB):runtime + nvcc 编译工具链,仅供编译期使用。
    ubuntu/debian/alpine (28/27/3 MiB):极简操作系统底包。
    核心结论:llama.cpp 运行必须依赖 runtime(因需 cuBLAS 算子支持),多阶段构建时 devel 负责编译,产物放入 runtime 即可。
    
  虚拟内存:8GB
    7B Q4/Q5 全量可跑
    14B Q4 需部分 offload
    32B 放不下
  模型文件映射
+--------------+-----------------------+--------------+------------------+------------------------------------+
| 技术名称     | 宿主机形态            | 映射方式     | 虚拟机形态       | 性能与特点                         |
+--------------+-----------------------+--------------+------------------+------------------------------------+
| virtiofs     | 宿主机目录            | Virtio-FS    | Guest挂载点      | 首选,近原生,支持mmap             |
| 9p/virtfs    | 宿主机目录            | 9P协议       | Guest挂载点      | 省事,mmap慢(需 --no-mmap)         |
| 块设备直通   | 宿主机分区(禁挂载)    | 裸盘直通     | Guest裸设备      | 最快同本地,mmap完美               |
| NFS/SMB      | 网络存储              | 网络挂载     | Guest网络目录    | 需维护服务,延迟高(不推荐)         |
| Docker卷引用 | Guest目录             | 只读卷(-v:ro)| 容器内只读       | 禁双写,共享必须只读               |
+--------------+-----------------------+--------------+------------------+------------------------------------+