ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

NAS上部署Ubuntu虚拟机卡死?从环境检查到本地AI部署全流程

NAS上部署Ubuntu虚拟机卡死?从环境检查到本地AI部署全流程 在 NAS 上部署 Ubuntu 虚拟机很多人一开始就把顺序弄反了。目标是让 NAS 除了存数据还能常驻跑 Ollama、Dify、DeepSeek 这类本地 AI 服务但实际走下来不少人都卡在同一个地方虚拟机装 Ubuntu 的时候老是卡死控制台黑屏、进度条不动、安装到一半无响应。我之前帮朋友处理过几次类似问题发现原因大多不在 Ubuntu 镜像而在 NAS 的虚拟化资源、启动参数和安装方式上。这篇文章把从环境检查、镜像选择、创建虚拟机、安装系统到部署本地 AI 环境的流程拆开写一遍重点解决 NAS 虚拟机安装卡死问题也把轻量化本地 AI 环境怎么搭讲清楚。1. NAS 上跑 Ubuntu 的价值从存储设备变成常驻 AI 主机1.1 为什么要把 Ubuntu 放在 NAS 里而不是单独一台电脑NAS 最核心的优势是 7x24 小时运行。普通电脑要关机、要睡眠、要担心断电而 NAS 本身就是为了长期在线设计的。把 Ubuntu 装在 NAS 虚拟机里等于把一个迷你 Linux 服务器放在家里或办公室随时通过局域网访问。手机、笔记本、平板都能直接连上去不需要专门开着一台主机。另一个好处是数据和算力在一起。NAS 一般都有大容量存储池模型文件、数据集、备份都可以放在存储池里然后通过共享目录挂载给 Ubuntu 虚拟机。如果不这么干每次处理数据都要在电脑和 NAS 之间来回拷贝批量跑任务时很容易遇到磁盘空间不够或者传输时间过长的问题。但这里要说清楚NAS 虚拟机的算力通常不如主流台式机。低功耗 CPU、内存有限、没有独立显卡是大多数 NAS 的常态。所以“在 NAS 上跑 AI”不等于跑大模型训练或高并发推理更适合做轻量任务比如跑 1.5B 到 3B 的小参数模型。部署 Dify 这类 AI 应用编排服务。把 Ollama 作为局域网模型 API 服务。定时用 Python 脚本调用模型处理数据。如果一开始就指望 NAS 能跑出桌面级 GPU 服务器的效果后面一定会失望。把适用范围定在“轻量、常驻、低功耗”这个方案就非常合理。1.2 虚拟机、Docker 容器和物理机怎么选很多 NAS 自带 Docker那为什么还要在 NAS 上部署 Ubuntu 虚拟机Docker 适合已经把应用打包好的场景。比如 Ollama 官方镜像、Dify 的 docker compose 方案在 NAS 的 Docker 套件里直接跑起来很方便。但 Docker 的问题是隔离层比较薄有些服务需要完整的内核模块、systemd 管理、自定义网络设置或者你想在 Ubuntu 里改系统参数、挂载 USB 设备、调试内核相关的东西这时候容器就有点不方便。虚拟机的好处是环境更干净。Ubuntu 虚拟机可以随意安装软件包、修改启动项、调整网络、做快照坏了还能回滚。NAS 上本来有虚拟化平台用虚拟机跑 Ubuntu 也能把系统文件限制在一个虚拟磁盘里不会污染 NAS 自身的系统盘。物理机当然性能最好但代价是额外一台电脑维护成本、功耗、占用空间都上去了。只有在 NAS 性能确实不够或者需要 GPU 直通时才值得考虑物理机方案。我的建议是如果只是跑一个现成的模型 APIDocker 更快如果你想有一个随时能折腾的 Linux 环境再在这上面部署多个 AI 服务虚拟机更省心。后面文的部署流程以虚拟机为主其实装好 Ubuntu 之后再跑 Docker 也不冲突。1.3 不同 NAS 品牌虚拟机平台的差异群晖有 Virtual Machine Manager威联通有 Virtualization Station飞牛 NAS 也自带虚拟机功能。不同平台界面不一样但创建虚拟机的核心选项是相通的CPU 核心数。内存大小。虚拟磁盘大小。镜像 ISO 挂载。网络模式。开机策略和显示模式。如果你用的是成品 NAS先在套件中心或系统设置里确认有没有虚拟机应用。品牌里如果叫“虚拟机”“Virtual Machine”“KVM 管理”基本就是同类功能。需要注意有些入门级 NAS 没有虚拟化管理套件或者 CPU 不开放硬件虚拟化。这种情况下只能在 Docker 里跑 Ubuntu 容器但这不是完整虚拟化systemd 和内核相关功能会受限体验差距很明显。所以先确认平台是否支持再往下走。2. 安装前先确认 CPU、内存、镜像和网络不要一上来就创建虚拟机2.1 先检查硬件虚拟化是否开启这是最大的坑也是很多人安装卡死的第一原因。NAS 虚拟机要正常工作CPU 必须支持并开启硬件虚拟化。Intel 平台叫 VT-xAMD 平台叫 SVM 或 AMD-V。如果没开启虚拟机能创建但启动后性能极差或者直接卡在引导阶段。在 NAS 虚拟化管理平台里如果提示“不支持硬件虚拟化”“CPU virtualization is disabled”先不要继续安装去 NAS 的 BIOS 里找相关选项。成品 NAS 有些型号不开放 BIOS需要查官方说明确认该型号是否支持虚拟机功能。反过来如果你之前在电脑上装 VMware Workstation 或 WSL2 时也遇到过“此计算机上未启用虚拟化”的报错说明你接触的机器虚拟化基础设置没弄好。NAS 上同样要先解决这一步否则后面无论是装 Ubuntu Server 还是跑 Docker 里的虚拟机都可能出问题。2.2 内存和存储空间规划Ubuntu Server 最小 512 MB 内存就能安装但那是空跑系统启动后什么都不干也会比较紧张。实际要部署 AI 服务建议至少给 2 GB想跑 Ollama 加一个 1.5B 或 3B 模型4 GB 会更从容。但如果你的 NAS 总内存只有 8 GB还要运行存储协议、Docker、监控套件就不能把所有内存都给虚拟机。一般建议NAS 总内存 8 GB给虚拟机 2 GB 到 3 GB。NAS 总内存 16 GB给虚拟机 4 GB 到 6 GB。NAS 总内存 32 GB 以上可以按需分配但也不必一次拉满。虚拟磁盘则建议从 20 GB 起步系统盘留出 apt 包、Docker 镜像、模型缓存的余量。这里要留意虚拟磁盘文件会占用 NAS 存储池的真实空间不是只有系统分区那么大。你在虚拟机里写入 10 GB 数据NAS 存储池就会少 10 GB所以要提前看剩余容量。2.3 Ubuntu 版本与镜像选择在 NAS 虚拟机上我更推荐安装 Ubuntu Server 而不是 Ubuntu Desktop。Desktop 带图形界面安装包大运行占内存而且图形界面在虚拟机控制台里出问题的概率更高。Ubuntu Server 安装后是纯命令行SSH 连上去操作非常干净。版本可以选择 22.04 LTS 或 24.04 LTS。LTS 表示长期维护适合服务器常驻。镜像文件名一般是ubuntu-22.04.x-live-server-amd64.iso或ubuntu-24.04.x-live-server-amd64.iso这种格式。下载完镜像后建议做 SHA256 校验。镜像文件如果下载不完整在安装过程中可能不报错但会出现随机卡死、无法引导、分区识别异常。虚拟化平台用的 ISO 最好放在 NAS 本地而不是放在外接 U 盘或网络中不稳定的目录里。2.4 网络模式选择NAS 虚拟机平台一般提供 NAT 和桥接两种模式。NAT 模式下虚拟机通过 NAS 的网络转发访问外网外部设备要访问虚拟机内部服务需要做端口转发配置起来麻烦一些。桥接模式下虚拟机直接接入局域网获得一个独立 IP像普通电脑一样被其他设备访问。部署 AI 服务后你想在电脑浏览器里打开 Dify 或 Ollama 接口桥接模式会方便很多。所以我一般建议优先选桥接。安装 Ubuntu 时可以选择 DHCP 自动获取 IP但长期使用最好在路由器或 NAS 里做 DHCP 静态地址绑定避免虚拟机重启后 IP 变化。IP 变化是“本地无法访问”类问题最常见的来源。3. 从创建虚拟机到安装 Ubuntu Server 的完整操作3.1 在 NAS 虚拟化管理平台里创建虚拟机打开 NAS 的虚拟机应用点创建虚拟机然后按下面的参数填写虚拟机名称建议写 ubuntu-ai-node 这种容易识别的名字。操作系统类型选 Ubuntu 或 Linux不要选成 Windows。CPU先给 2 核。如果后续跑模型 CPU 占用高再增加到 4 核。内存按第 2 节规划分配建议先给 2 GB 或 4 GB。磁盘创建虚拟磁盘20 GB 到 40 GB。ISO 镜像挂载之前下载好的 Ubuntu Server 镜像。引导方式有些平台默认 UEFI有些默认 BIOS。如果后面出现卡死可以切换试试。网络选桥接模式。启动策略先不要勾选“开机自动启动”装好系统后再设置避免反复进入安装流程。创建完成后先启动虚拟机。不要急着做其他操作打开控制台看安装界面是否能正常出现。3.2 安装 Ubuntu Server 的关键步骤虚拟机控制台出现后Ubuntu 引导界面一般有两个选项Try or Install Ubuntu Server 和 Install Ubuntu Server。选择 Install 进入安装。如果一直卡在 GRUB 界面或启动进度条不动需要回退到第 4 节排查。这里先按正常流程走选择语言。建议选英文完整终端环境更通用。选中文也可以但某些目录和提示会变成中文不熟悉时容易找不到路径。网络配置。等待 DHCP 获取 IP确认网卡地址出现。如果没获取到 IP不要继续安装先解决网络否则装完也连不上。软件源配置。安装界面会访问系统源网络慢时切换成国内镜像源比如清华、阿里或中科大镜像后面 apt 安装依赖会快很多。分区。新手选“Use An Entire Disk”默认使用整块虚拟磁盘。不需要手动分区虚拟磁盘本来就是一个虚拟机文件不是 NAS 数据盘。软件包选择。建议勾选 OpenSSH server这样装完系统就可以从电脑用 SSH 进入不需要一直刷控制台。等待安装结束。需要特别强调的是重启时一定要留意提示Ubuntu 会要求卸载安装介质否则重新启动后又会进入安装界面看起来像是系统没装上。3.3 系统初始化与 SSH 访问安装完成后虚拟机自动重启进入 Ubuntu 命令行。先执行ip addr hostname -I记下虚拟机 IP。然后在电脑上打开终端ssh 用户名虚拟机IP如果 SSH 连不上先 ping IP 是否通再用 NAS 虚拟机控制台进去看看是否设置了防火墙ufw 默认通常是关闭的。如果虚拟机 IP 和 NAS 在同一网段但浏览器或 ping 不通检查路由器是否开启了 AP 隔离或访客网络隔离。进入系统后建议先更新一次sudo apt update sudo apt upgrade -y3.4 用命令行验证安装结果进入系统后建议确认几个信息uname -a lscpu free -h df -h lsblk重点看内核版本是否正常。逻辑核心数是否符合虚拟机分配。内存是否和分配值一致。磁盘是否识别完整。这些输出正常说明 Ubuntu 虚拟机已经稳定运行可以进入下一步 AI 环境部署。如果某个指标明显不对比如内存只有几百 MB先检查虚拟机的内存分配是否保存成功。4. NAS 虚拟机安装卡死问题排查先看日志再改启动参数4.1 现象一虚拟机启动后卡在引导界面或进度条这是最常见的卡死。虚拟机一开机控制台停在 Ubuntu 启动加载界面进度条不动键盘无响应。不要立刻重装。先按下面的顺序处理强制关闭虚拟机编辑配置把引导模式从 UEFI 改到 BIOS。很多 NAS 虚拟化平台对 UEFI 支持不完善改 BIOS 能解决相当一部分引导卡死。确认 ISO 镜像文件完整重新校验 SHA256。减少分配资源改成 2 核 2 GB 内存排除资源不足导致的引导失败。如果还是卡尝试更换 Ubuntu 版本比如把 Desktop 换成 Server或者 24.04 换成 22.04。这里最容易忽略的是引导模式。同一个 ISO在 UEFI 和 BIOS 下的启动路径不同平台兼容性也不同。与其反复重装不如先把引导模式切换一下。4.2 现象二安装过程中崩溃或无响应安装 Ubuntu Server 时走了一些步骤突然卡住控制台没有任何输出或直接自动重启。这种情况优先怀疑两个点内存不足、虚拟磁盘空间不足。安装 Ubuntu Server 时默认会自动加载一部分组件内存紧张时会触发 OOM进程被杀安装程序终止。你可以把虚拟机内存调到 4 GB 再安装。把虚拟磁盘空间调到 40 GB 再安装。检查 NAS 存储池剩余空间确认虚拟磁盘文件能正常增长。不要在安装过程中同时跑大量 NAS 下载任务CPU 和高负载会拖慢虚拟磁盘 IO。另外安装界面里如果选了“Download updates while installing Ubuntu”网络不好时也可能卡在下载更新阶段。如果环境网络不稳定安装时取消下载更新先装系统再手动 apt update。4.3 现象三安装完成重启后黑屏重启后控制台黑屏看似系统坏了但用ping 虚拟机IP却又能通。这种情况基本可以判断系统启动成功只是控制台显示有问题。处理方法先用 SSH 连接虚拟机确认能登录。如果 SSH 能进说明系统正常控制台黑屏只是虚拟显卡或显示配置问题不影响使用。如果黑屏且 ping 不通关注重启前是否把 ISO 卸载。没卸载 ISO 会导致再次进入安装界面看起来像没装好。确认引导模式UEFI 安装的磁盘如果改成 BIOS 启动也可能黑屏。所以“重启后黑屏”不一定等于系统坏了。先测网络再动配置。4.4 卡死问题排查顺序表可以按下面的顺序快速定位避免反复重装浪费时间优先级检查项判断标准处理动作1NAS 日志是否有重启、磁盘错误、OOM 记录根据日志调整资源或磁盘2虚拟化开关是否提示 CPU 虚拟化未开启进 BIOS 开启或换支持虚拟化的 NAS3引导模式UEFI 或 BIOS 是否兼容切换启动模式重试4ISO 完整性SHA256 是否匹配重新下载镜像5内存和磁盘是否明显不足调高资源确认 NAS 存储池剩余空间6安装选项是否勾选下载更新不勾选更新先装最小系统7系统版本Desktop 还是 Server换 Server 版本或换 22.04 LTS优先观察和记录再逐个改参数。不要一卡死就删除虚拟机重装那样既浪费时间也得不到有效信息。5. 在 Ubuntu 虚拟机里搭建轻量本地 AI 环境5.1 先把系统基础依赖和软件源处理好Ubuntu 装好后先把常用工具装齐sudo apt install -y curl git net-tools python3-pip如果 apt 下载很慢先换源。Ubuntu 22.04 和 24.04 的软件源配置路径不同但操作思路一致把/etc/apt/sources.list里的官方源替换成国内镜像即可。镜像源选择清华、阿里、中科大都可以完成后执行sudo apt update设置时区sudo timedatectl set-timezone Asia/Shanghai注意这里是“本地 AI 运行环境”不是让虚拟机直接对公网开放。系统装好后的第一件事是确保 SSH 登录、软件源、磁盘容量正常再考虑部署模型。5.2 部署 Ollama 并运行模型Ollama 是目前在本地部署大模型最简单的方式之一适合在 Ubuntu 虚拟机上作为模型服务运行。安装命令curl -fsSL https://ollama.com/install.sh | sh也可以使用 Docker 部署docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama如果你更习惯命令行管理体验直接安装和 Docker 跑差别不大。我更推荐在虚拟机里直接用命令安装因为模型目录、日志和更新相对直观。启动 Ollama 后拉取一个小模型测试ollama pull qwen2.5:1.5b拉取完成后测试ollama run qwen2.5:1.5b输入一句话看模型是否正常回复。在 NAS 虚拟机上1.5B 模型可以在 4 GB 内存环境下运行但别指望速度很快。响应时间受 CPU 影响很大通常一两秒到十几秒都正常。如果遇到响应很慢或卡顿优先看内存和 CPU 占用。5.3 用 Docker Compose 部署 Dify 或其他本地服务Dify 这类平台可以把模型、Agent、应用编排到一起适合做本地 AI 应用。部署方式一般是 Docker Compose所以先确认虚拟机里 Docker 已经装好docker --version docker compose version然后在合适目录创建docker-compose.yaml参考官方文档的稳定版本配置。这里不建议直接使用默认最新 main 分支选稳定发布版本会更可靠。启动前检查磁盘空间Dify 依赖多个容器包括 API、Worker、PostgreSQL、Redis、Web 等整体占用比单个 Ollama 大得多。如果虚拟磁盘只有 20 GB很可能不够。启动命令docker compose up -d启动完成后不要只看“容器运行中”要去看日志docker compose logs -f重点看 Web 和 API 是否正常启动数据库是否初始化完成。第一次启动比较慢需要耐心等。部署完成后在浏览器访问http://虚拟机IP:端口进入 Dify 后台配置模型 API。如果你已经装了 Ollama可以在 Dify 里直接把 Ollama 作为模型提供商。5.4 局域网访问和端口检查部署完成但局域网访问不了是另一个高频问题。排查顺序在 Ubuntu 虚拟机内部执行curl http://localhost:端口确认服务本身正常。再执行curl http://虚拟机IP:端口确认监听地址是0.0.0.0而不是127.0.0.1。检查 Ubuntu 防火墙如果开启了 ufw放行端口sudo ufw allow 11434/tcp sudo ufw allow 8000/tcp检查 NAS 防火墙或安全策略有些 NAS 会限制虚拟机端口对外访问。Dify 默认使用 80 端口如果和 NAS 某个管理页面冲突需要修改端口映射。Ollama 默认端口是 11434一般不会有冲突。注意不要在 NAS 或 Ubuntu 虚拟机里直接对公网开放 AI 服务。远程访问时请走受控的访问方式比如内网穿透的安全网关或跳板机避免暴露管理后台和模型接口。6. 长期运行的经验边界快照、目录挂载、硬件升级和常见误区6.1 定期做快照升级前先回滚Ubuntu 虚拟机配置好并且 AI 环境能跑起来之后第一件事是在 NAS 虚拟化管理平台里做一次快照。快照的作用是让你在改坏系统、升级失败、配置出错时可以快速回滚。比如你准备升级 Docker 或修改 Ollama 版本先做个快照升级完了满意就继续用不满意就恢复快照。要注意快照会占用 NAS 存储池空间。不要长期保留很多份快照建议只保留 1 到 3 份最近的快照旧快照定期清理。6.2 把 NAS 共享目录挂载给 Ubuntu模型文件通常体积很大如果全部放在虚拟机虚拟磁盘里40 GB 很快就不够。更合理的做法是把模型文件、数据集放在 NAS 存储池然后把共享目录挂载到 Ubuntu 虚拟机中。常见方式是用 NFS 或 SMB。NFS 更适合 Linux 到 Linux 的挂载性能更高SMB 适合从 NAS 共享文件夹直接挂载。挂载命令类似sudo mount -t nfs NAS_IP:/共享目录 /mnt/nas如果需要开机自动挂载把这条命令写入/etc/fstab。格式要根据你的 NAS 具体导出路径来写不要直接照搬否则重启后会卡在等待网络文件系统上。如果遇到“NAS 没有读写权限”先检查共享文件夹的读写权限再检查挂载时用的是哪个 uid/gid。如果跑 Docker 容器时模型文件读不到查看容器内用户和挂载目录权限是否匹配。6.3 硬件资源边界和升级时机轻量化本地 AI 环境能跑起来不意味着所有模型都能流畅运行。以我的经验4 GB 内存的 Ubuntu 虚拟机跑 1.5B 模型比较稳3B 模型勉强能用。7B 模型不建议在常规 NAS 虚拟机上跑除非你的 NAS 是高性能 x86 平台并且内存足够大。如果后续想跑更大模型先加内存再看 CPU 性能。支持 PCIe 扩展的高端 NAS 可以外接显卡但需要确认虚拟化平台是否支持 GPU 直通功耗和散热也要评估。不要把低配置 NAS 虚拟机当成 GPU 服务器。它能承担的是常驻小型模型、API 服务、Dify 流程编排、定时任务这类场景。6.4 常见误区与安全提醒最后总结几个反复出现的误区第一“安装卡死一定是镜像问题”。镜像问题只是原因之一更多是虚拟化开关、引导模式、内存不足和磁盘空间不够。第二“Docker 能完全替代虚拟机”。如果只是跑 Ollama 或 DifyDocker 完全可以但如果需要修改内核参数、运行 systemd 服务、挂载特殊设备虚拟机更干净。第三“桌面版 Ubuntu 更方便”。在 NAS 虚拟机上Desktop 更容易卡也更占资源。直接用 Server 版本加 SSH 操作效率反而更高。第四“把服务部署到公网”。NAS 通常处于家庭或办公内网如果远程访问需求强烈不要直接把 AI 管理后台暴露到公网。优先通过受控的安全网关或跳板机访问。真正长期使用下来最值得投入的是把“系统安装、基础配置、数据目录、快照备份”这几件事一次性做完整。前期多花十几分钟整理目录和备份策略后面升级和排查会省很多时间。个人建议先把单条模型服务跑稳再考虑在 Ubuntu 虚拟机上扩展更多 AI 应用不要一开始就把 CPU、内存和存储全部分配完留一点余量给 NAS 自身管理系统才是稳妥做法。
返回列表