公司动态
NAS虚拟化部署Ubuntu:搭建轻量本地AI运行环境全指南
这次来聊一个把 NAS 真正用起来的方案在 NAS 上部署 Ubuntu 虚拟机再基于 Ubuntu 搭建一套轻量化本地 AI 运行环境。很多人买 NAS 只用来存照片、跑备份CPU 和内存常年闲置。如果手上有一台支持虚拟化的群晖或者飞牛 NAS完全可以把 Ubuntu 当作一台 7x24 小时在线的 Linux 服务器跑 Docker、跑 Ollama、跑本地大模型 API 服务。更多人在这个方向上遇到的第一道坎不是 Linux 不会用而是虚拟机安装 Ubuntu 时反复卡死、黑屏、循环重启。这篇文章会把方案可行性、硬件门槛、完整部署流程和卡死排查一次讲完尽量少讲虚的。先把预期摆正这个方案追求的是“低成本、常在线、可管理”不是“高性能推理”。NAS 通常没有独立显卡所以更适合跑 1.5B 到 7B 的小参数开源模型承担文本摘要、知识库问答、代码辅助、自动化脚本批量处理这类任务。如果目标是图片生成或者 70B 级大模型快速对话NAS 不是合适的底座这个结论需要在一开始就明确。如果你的诉求是“在私有网络里有一个稳定、可调用的本地 AI 服务”那么 NAS Ubuntu Docker Ollama 是一个性价比很高的组合。本文的实操内容覆盖五块核心能力速览与适用边界部署前环境检查群晖 VMM 和飞牛 fnOS 创建 Ubuntu 虚拟机的步骤安装卡死问题的定位与解决Ubuntu 初始化后搭建 Ollama 本地 AI 环境并完成 API 与批量任务验证。读者照着操作可以在主流 x86 NAS 上跑通一条完整链路。文章较长建议先收藏再按章节执行。1. 核心能力速览先给一张速览表把方案的关键规格一次说清。表格里的内容是针对主流家庭 NAS 和常见部署流程整理的通用结论具体到你的机器数值可能不同以实际环境为准。能力项说明方案类型NAS 虚拟化部署 Ubuntu搭建轻量化本地 AI 运行环境适用 NAS 平台群晖 Synology、飞牛 fnOS以及支持虚拟化的主流 x86 NAS虚拟化方案群晖 Virtual Machine ManagerVMM、飞牛虚拟化模块底层基于 QEMU/KVM操作系统Ubuntu Server 22.04 LTS推荐也可以选 Ubuntu Desktop硬件门槛需 BIOS 开启 Intel VT-x / AMD-V建议 NAS 物理内存 16GB 以上虚拟机分配 4GB 起步存储要求建议 SSD 或 SSD 缓存虚拟磁盘建议 64GB 起步网络方式默认 NAT 可访问配置端口转发后可从内网访问桥接模式可给虚拟机独立 IP核心能力7x24 小时 Ubuntu 服务器、Docker、Ollama 本地大模型、REST API、脚本批量任务模型规模以 1.5B / 3B / 7B 小参数开源模型为主面向 CPU 推理场景推荐工具链Ubuntu Docker Ollama Open WebUI是否需要 GPU非必需有 NVIDIA GPU 可显著提高推理速度无 GPU 走 CPU 推理启动方式NAS 管理后台启动虚拟机SSH 命令行管理是否支持 API支持Ollama 提供 /api/generate、/api/chat 等 REST 接口是否支持批量任务支持通过 Python 或 Shell 脚本循环调用 API 即可从这张表可以判断这个方案的关键词是“轻量”和“可用”。它不适合高强度推理但非常适合做私有化的 AI 基础服务。接下来先说明白什么人适合用、什么人可以跳过然后进入环境准备。2. 适用场景与使用边界2.1 适合哪些人第一类是已经有 NAS、但只用来存资料的人。这部分用户把 NAS 放在家里或办公室网络稳定电费成本低正好可以利用闲置算力跑一个常驻 Linux 服务。第二类是 Linux 和 Docker 的学习者把 NAS 虚拟机当成一台随时可以重置的练习机比在主力电脑上装双系统更安全。第三类是有私有化 AI 需求的技术爱好者希望数据不出内网在本地跑一个小模型给团队或家庭提供问答服务。2.2 能解决什么问题这个组合能解决几个很实际的问题。NAS 自带的 DSM 或 fnOS 虽然好用但应用生态受平台限制很多开源工具要么没有套件包要么版本很旧。部署 Ubuntu 之后可以自由安装 Docker、宝塔面板、代码仓库、CI 工具、内网穿透服务等。再加上 Ollama 之后NAS 就不再只是存储设备而是一个私有 AI 服务节点你可以用 Python 脚本批量调用模型 API把文本分类、内容摘要、代码审查这类工作自动化。2.3 不适合什么场景这里需要说清楚边界。NAS 的 CPU 通常不是为高强度计算设计的风扇散热和硬盘 IO 也有限。如果你希望跑 Stable Diffusion 图片生成或者部署 70B 级别的模型NAS 虚拟机方案会非常吃力速度慢到基本不可用。此外NAS 的网口和磁盘吞吐有限不适合做高并发 API 服务。更稳妥的做法是NAS 上的 Ubuntu 只承担轻量推理和批处理任务重负载留给带专用显卡的机器。2.4 合法合规使用提醒本地部署 AI 不等于可以随意使用。部署开源模型时先看开源协议商用前确认许可证是否允许如果模型涉及人脸、声音、版权素材、第三方图片和文档必须确认授权边界。NAS 上往往保存着个人照片、工作文档等敏感数据API 服务不要直接暴露到公网建议只在内网访问并给 Web 界面设置账号密码。如果服务器被端口扫描未授权的 Ollama API 可能被外部滥用导致资源被占满甚至数据泄露。3. NAS 部署 Ubuntu 的环境准备与前置条件3.1 确认 NAS 平台支持虚拟化不是所有 NAS 都能装虚拟机。群晖的 Virtual Machine Manager 只支持 x86 架构的型号ARM 机型无法安装。飞牛 fnOS 本身对 x86 平台支持得比较完整主流 Intel J/N 系列、酷睿系列处理器都可以跑虚拟机。更直接的判断方法在群晖套件中心搜索 Virtual Machine Manager如果能搜到并安装说明当前机型在支持列表里飞牛系统则在“应用”或“虚拟机”模块里直接看是否提供虚拟化入口。3.2 确认 CPU 虚拟化开关NAS 虚拟化依赖 CPU 硬件虚拟化技术Intel 是 VT-xAMD 是 SVM。大部分成品 NAS 出厂默认开启但部分自组 NAS 或特定主板需要在 BIOS 中手动打开。开机时按 DEL 或 F2 进入 BIOS找“Intel Virtualization Technology”或“SVM Mode”设置为 Enabled。如果这个开关没开虚拟机安装 Ubuntu 时最容易出现卡死或长时间黑屏而且这个问题在系统日志里很难直接看到属于第一优先排查项。3.3 准备 Ubuntu 镜像并校验安装 Ubuntu 需要先准备好 ISO 镜像。对 NAS 环境来说优先选择 Ubuntu Server 22.04 LTS因为 Server 版没有图形界面安装过程走文本模式对 VNC 远程控制友好资源占用远低于 Desktop 版。下载 ISO 建议从 Ubuntu 官方镜像站或国内高校、云厂商的镜像站获取避免使用网盘搬运文件导致镜像损坏。下载完成后在电脑上执行以下命令校验 SHA256sha256sum ubuntu-22.04.5-live-server-amd64.iso把计算结果与 Ubuntu 官方发布的校验值比对一致再上传到 NAS。很多安装中段卡死的问题根源就是 ISO 文件不完整。3.4 规划虚拟机资源与网络部署前先做一个资源规划避免后面反复修改。虚拟机内存建议 4GB 起步如果 NAS 物理内存只有 8GB那么只建议开一台 Ubuntu 虚拟机不要再同时跑多个吃内存的 Docker 容器。CPU 核心数建议分配 2 到 4 核不要超过物理 CPU 线程数。虚拟磁盘建议 64GB 起步存放在 SSD 存储池中否则安装过程会因为 HDD 随机 IO 性能差而显得异常缓慢。网络方面第一次安装建议使用默认 NAT等系统装好、SSH 能连通之后再根据实际需求切换桥接模式。4. Ubuntu 虚拟机安装实操4.1 群晖 VMM 安装流程群晖用户先在套件中心安装 Virtual Machine Manager。安装完成后打开 VMM按照“虚拟机 - 新增”进入创建向导。在操作系统类型里选择 Ubuntu如果没有对应的 Linux 模板可以选择“其他 Linux (64 位)”。然后配置 CPU 核数和内存建议 4 核 / 4GB 以上。磁盘创建时选择“创建新虚拟磁盘”容量 64GB存放位置选择 SSD 存储池。接下来指定安装镜像也就是之前上传到 NAS 的 Ubuntu Server ISO。最后一步是配置网络默认选择 NAT 即可。创建完成后选中虚拟机点击“开机”VMM 会打开 VNC 控制台从这里可以看到 Ubuntu 的安装引导界面。此时会有一个细节VNC 窗口刚打开时可能分辨率不正确或黑屏先用鼠标点击控制台按回车键等待引导菜单出现。如果引导界面正常就进入标准 Ubuntu 安装流程。4.2 飞牛 fnOS 安装流程飞牛 fnOS 用户在系统桌面的“虚拟机”模块创建虚拟机。新建虚拟机时选择 Linux 系统类型上传 Ubuntu Server ISO 镜像然后按向导分配 CPU 和内存。飞牛的虚拟磁盘默认采用 qcow2 格式指定大小后会自动分配空间建议同样 64GB 起步。网络方面飞牛虚拟化支持 NAT 和桥接两种模式初次使用先选默认 NAT。创建完成后从虚拟机列表启动实例点击“VNC”进入控制台。飞牛 VNC 控制台的操作方式和群晖 VMM 基本一致安装过程沿用 Ubuntu 官方交互界面。如果发现控制台长时间不显示内容检查浏览器是否拦截了弹窗或者尝试更换浏览器访问 NAS 管理后台。4.3 安装 Ubuntu 时的关键选项进入 Ubuntu 安装界面后有几个选项需要特别留意。第一是网络配置如果用了 NAT默认 DHCP 即可如果要用静态 IP在安装向导里手动填写网卡 IP、网关和 DNS。第二是镜像源地址安装向导默认使用官方源国内网络下可以改成国内镜像源能显著减少软件包下载时间。第三是 OpenSSH server 选项这一步非常关键一定要勾选否则安装完成之后无法通过 SSH 远程管理只能继续依赖 VNC 窗口。第四是磁盘分区直接选择“使用整个磁盘”并安装后续再根据需求调整分区结构。# 安装完成后首次登录确认系统信息 lsb_release -a uname -m free -h5. NAS 虚拟机安装卡死问题排查与解决5.1 先理解“卡死”的几种表现“安装卡死”在群里经常被当成一个问题讨论但其实表现差异很大对应原因也不一样。第一种是开机后一直黑屏VNC 窗口里没有任何输出第二种是 Ubuntu 引导 Logo 出现后到进度条位置卡住长时间不动第三种是安装到一半报错退出或者直接回到安装起始界面第四种是安装完成后虚拟机反复进入安装引导无法启动系统。这四种现象对应的排查方向不同先分清现象再动手处理。5.2 高频原因与排查顺序从常见部署经验看卡死问题的高频原因集中在五个方面CPU 虚拟化未开启、内存分配不足、ISO 镜像损坏、虚拟机模板类型不对、引导顺序错误。这五个原因占了 NAS 虚拟机安装 Ubuntu 失败场景的大多数。排查时不要盲目重装按照“先硬件开关、再资源分配、后镜像文件、最后虚拟机配置”的顺序检查。5.3 标准排查流程第一步确认 BIOS 里 VT-x / SVM 已开启。如果是成品 NAS去官网查 CPU 型号是否支持虚拟化。第二步把虚拟机内存调到 4GB 以上CPU 核心数调到 2 到 4 核不要给太多避免超分配导致系统卡死。第三步校验 ISO 文件的 SHA256如果校验不过删除后重新下载。第四步把虚拟机操作系统类型改成“其他 Linux (64 位)”避开模板自带的特殊固件配置。第五步检查虚拟机的启动顺序确保虚拟硬盘排在第一引导项否则每一次重启都会进入安装引导。第六步如果以上都没问题把网络从桥接模式临时改回 NAT排除桥接网卡导致 VNC 卡顿和断连的可能。5.4 问题排查速查表问题现象可能原因排查方式解决方案开机黑屏VNC 无输出BIOS 未开启虚拟化检查处理器虚拟化开关进 BIOS 开启 VT-x / SVM引导进度条卡住内存分配不足查看虚拟机配置调整内存到 4GB 以上安装中段报错退出ISO 文件损坏校验 SHA256重新下载官方镜像安装完成后反复进入安装引导顺序错误查看虚拟硬盘启动顺序将虚拟硬盘设为第一引导项VNC 画面卡顿黑屏图形界面不兼容观察安装过程输出改用 Ubuntu Server ISO虚拟机启动极慢磁盘 IO 性能差查看存储池类型更换 SSD 存储池安装完无法联网网络模式选错检查虚拟机网卡配置先切回 NAT 再配置桥接6. Ubuntu 初始化与 Docker 环境部署6.1 SSH 登录虚拟机安装完成后虚拟机重启进入 Ubuntu 系统。此时不需要一直开着 VNC 窗口建议直接在电脑上通过 SSH 连接。在 NAT 网络下群晖 VMM 的虚拟机默认 IP 可以在虚拟机详情页查看飞牛也能在虚拟机列表里看到对应 IP。确认 IP 后在终端执行ssh username192.168.1.100如果 SSH 连接被拒绝先确认安装时是否勾选了 OpenSSH server没有的话再回到 VNC 窗口手动安装 openssh-server。6.2 系统更新与基础工具登录后先做系统和软件源更新确保后续安装 Docker 和模型时不会因为依赖版本问题报错sudo apt update sudo apt upgrade -y sudo apt install -y curl git vim htop net-tools这一步会消耗一些时间取决于 NAS 的网络状况和镜像源速度。更新完成后建议顺手配置一下时区和主机名便于后续识别和管理。6.3 安装 DockerDocker 是整个 AI 运行环境的基础。Ubuntu 官方源里自带 docker.io 包安装简单版本足够稳定sudo apt install -y docker.io docker-compose-v2 sudo systemctl enable --now docker sudo usermod -aG docker $USER安装完成后退出 SSH 重新登录让用户组生效。验证 Docker 是否正常docker version docker compose version6.4 Docker 镜像加速配置如果使用 Docker Hub 拉取镜像速度慢可以给 Docker 配置 registry mirror。修改/etc/docker/daemon.json{ registry-mirrors: [https://your-mirror.example.com] }把镜像地址替换成你所在网络环境可用的加速地址然后执行sudo systemctl restart docker注意不要随便使用来源不明的镜像源优先选择可信服务商提供的地址。6.5 可选安装宝塔面板如果希望用网页图形界面管理 Ubuntu可以安装宝塔面板。从宝塔官网获取对应 Ubuntu 系统的安装命令执行后会在终端输出面板地址和默认账号密码。安装后可以用它管理 Nginx、MySQL、文件目录对不熟悉命令行操作的用户很友好。不过要提醒一点宝塔面板会额外占用系统资源如果 NAS 内存只有 8GB 且还要跑大模型建议先保持精简命令行环境。7. 本地 AI 运行环境Ollama 部署与模型调用7.1 安装 OllamaOllama 是目前在本地部署大模型最省事的工具之一支持 Linux、macOS 和 Windows提供命令行交互也暴露 REST API。在 Ubuntu 虚拟机里执行安装脚本curl -fsSL https://ollama.com/install.sh | sh如果官方脚本下载慢也可以用 Docker 方式部署 Ollama 服务镜像更可控docker run -d --name ollama \ -p 11434:11434 \ -v ollama:/root/.ollama \ --restart always \ ollama/ollama7