当前位置: 首页 > news >正文

Linux下Ollama模型存储路径自定义指南:从安装到迁移(含deepseek部署)

Linux下Ollama模型存储路径自定义指南:从安装到迁移(含deepseek部署)

当本地磁盘空间告急或需要将AI模型集中存储时,Linux用户常面临如何安全迁移Ollama模型数据的挑战。本文将手把手带你完成从自定义安装路径到模型迁移的全流程,特别针对deepseek等大型语言模型的部署场景。

1. 准备工作与环境配置

在开始前,请确保已准备好目标存储设备(如外接硬盘或NAS),并通过lsblk命令确认挂载点。假设我们计划将模型存储在/mnt/nas/ollama_models目录,该路径对应一块4TB的机械硬盘。

首先创建基础目录结构:

sudo mkdir -p /mnt/nas/ollama_models/{bin,data}

关键目录说明:

  • bin:存放可执行文件
  • data:存储模型文件

设置正确的权限至关重要,推荐使用以下组合:

sudo chown -R $USER:$USER /mnt/nas/ollama_models sudo chmod -R 755 /mnt/nas/ollama_models

注意:避免直接使用777权限,应先通过groups命令确认用户所属组

2. 自定义安装Ollama

从GitHub下载最新版Ollama时,建议使用wget直接保存到目标位置:

wget https://github.com/ollama/ollama/releases/download/v0.1.0/ollama-linux-amd64 \ -O /mnt/nas/ollama_models/bin/ollama

赋予可执行权限并验证版本:

chmod +x /mnt/nas/ollama_models/bin/ollama /mnt/nas/ollama_models/bin/ollama --version

为方便使用,创建符号链接到系统路径:

sudo ln -s /mnt/nas/ollama_models/bin/ollama /usr/local/bin/ollama

3. 系统服务配置技巧

创建systemd服务文件时,需要特别注意环境变量传递。以下是经过优化的服务配置:

[Unit] Description=Ollama Service After=network-online.target RequiresMountsFor=/mnt/nas [Service] ExecStart=/usr/local/bin/ollama serve Environment="OLLAMA_MODELS=/mnt/nas/ollama_models/data" Environment="HOME=/mnt/nas/ollama_models" User=%i Group=%i Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target

关键改进点:

  • 添加RequiresMountsFor确保存储设备就绪
  • 使用%i通配符实现用户隔离
  • 显式设置HOME环境变量

启用服务的完整流程:

sudo systemctl daemon-reload sudo systemctl enable --now ollama@$(whoami)

4. 模型迁移与验证

查找现有模型位置时,推荐结合du命令按大小排序:

find ~/.ollama -type f -exec du -h {} + | sort -rh | head -10

迁移操作建议分三步进行:

  1. 停止服务

    systemctl --user stop ollama
  2. 使用rsync安全复制

    rsync -avzP ~/.ollama/models/ /mnt/nas/ollama_models/data/
  3. 创建符号链接

    mv ~/.ollama/models ~/.ollama/models.bak ln -s /mnt/nas/ollama_models/data ~/.ollama/models

验证deepseek模型是否可用:

ollama run deepseek-r1:7b "请用Markdown格式输出快速排序的Python实现"

5. 高级存储方案

对于企业级部署,可以考虑以下优化方案:

方案类型实现方式适用场景
LVM扩展pvcreate+vgextend动态扩容存储池
NFS共享/etc/exports配置多节点共享模型
符号链接ln -s分层存储SSD+HDD混合架构

针对NAS存储的特别优化:

# 增加文件系统缓存 sudo mount -o remount,size=4G /mnt/nas # 优化rsync传输 alias ollama-sync='rsync -avzP --bwlimit=50m --progress'

遇到权限问题时,可检查audit日志:

sudo ausearch -m avc -ts recent | grep ollama

6. 日常维护与监控

建议创建定期维护脚本/usr/local/bin/ollama-maintenance

#!/bin/bash # 检查存储空间 df -h /mnt/nas # 验证模型完整性 find /mnt/nas/ollama_models/data -name "*.bin" -type f \ -exec shasum {} + > /tmp/ollama_checksums.txt # 清理临时文件 find /mnt/nas/ollama_models/data -name "*.tmp" -mtime +7 -delete

添加cron任务每周自动运行:

(crontab -l 2>/dev/null; \ echo "0 3 * * 1 /usr/local/bin/ollama-maintenance") | crontab -

对于deepseek等大模型,可以设置下载限速防止带宽占满:

ollama pull --limit-rate 10M deepseek-r1:70b
http://www.jsqmd.com/news/493212/

相关文章:

  • OpenWrt下MT7981芯片的iwpriv诊断指南:如何读懂那些晦涩的WiFi统计信息
  • RVC镜像免配置部署:CSDN GPU云平台7865端口直连教程
  • Elasticsearch7.X安全加固实战:从漏洞修复到X-Pack部署
  • DDR内存条选购避坑指南:单Rank vs 双Rank性能实测对比(附CPU占用率分析)
  • Qwen3-ASR-1.7B实战教程:为播客制作自动生成逐字稿+时间戳标注
  • QMCDecode:一键解锁QQ音乐加密格式,让音乐自由流动
  • Spring Boot中的事件机制:如何利用@EventListener简化你的代码
  • 告别手动录入!GLM-OCR快速部署指南:图片文字表格公式全能识别
  • SiameseAOE中文-base企业落地:私有云环境下ABSA服务安全加固与审计日志
  • 一丹一世界FLUX.1效果展示:同一Prompt在不同随机种子下的人脸ID一致性分析
  • Windows Cleaner:释放C盘空间的智能解决方案
  • Phi-3-Mini-128K效果展示:复杂JavaScript代码的智能重构与优化
  • C# NModbus4核心方法实战:从连接到读写,构建稳定工业通信
  • Qwen3-ASR-1.7B模型蒸馏:基于教师-学生框架的轻量化方案
  • Zotero-SciPDF:学术研究者的终极PDF自动化下载神器
  • CogVideoX-2b画质实测:1080P视频细节清晰度全面评估
  • EmbeddingGemma-300m在电商领域的创新应用:商品语义搜索系统
  • 深蓝词库转换:跨平台输入法词库迁移的高效解决方案
  • 告别阴阳师重复操作:OnmyojiAutoScript自动化工具深度解析
  • SGLang-v0.5.6部署进阶:定制Docker镜像、集成中文字体与私有模型
  • UE5实战:如何在运行时动态加载OBJ模型并自动生成碰撞体(附完整代码)
  • MiniCPM-o-4.5代码解释器效果:深入解析开源Python项目源码
  • mPLUG-Owl3-2B工具使用技巧:连续对话、批量处理与错误排查
  • YOLO系列论文必备:评价指标章节的5个高级写法(附实例解析)
  • Java开发者指南:Qwen-Image-Edit-F2P的SDK封装与调用
  • Youtu-VL-4B-Instruct-GGUF与Stable Diffusion联动:文生图效果的提示词优化
  • 优化EasyExcel自适应列宽:解决官方方案中的字符宽度计算问题
  • SDXL 1.0工坊部署教程:Windows Subsystem for Linux图形界面直连方案
  • Stable-Diffusion-V1-5 集成ComfyUI:可视化工作流搭建与自动化图像生成
  • 使用Anaconda管理DeepSeek-R1-Distill-Llama-8B开发环境