这次来聊一个把 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 Manager(VMM)、飞牛虚拟化模块,底层基于 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-x,AMD 是 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 官方镜像站或国内高校、云厂商的镜像站获取,避免使用网盘搬运文件导致镜像损坏。下载完成后,在电脑上执行以下命令校验 SHA256:
sha256sum 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 username@192.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 安装 Docker
Docker 是整个 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 安装 Ollama
Ollama 是目前在本地部署大模型最省事的工具之一,支持 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/ollama