告别“服务器繁忙”:JuiceFS 助力打造专属 DeepSeek 牧场

2025-02-08
朱唯唯

春节期间,DeepSeek 的横空出世引发了广泛关注。作为一款强大的语言模型,DeepSeek 因其强大的功能和广泛的应用而受到用户的热烈追捧。然而,随着使用量的不断增加,我们在使用过程中经常遇到“服务器繁忙”,令人破防。

为了解决这一问题,本文将探讨如何通过本地部署 DeepSeek 服务,打造一个高效自主的使用环境。通过结合 JuiceFS 的存储能力和 Ollama 的部署优势,用户可以轻松建立自己的“DeepSeek 牧场”,从而实现更灵活、更高效的模型使用体验。

JuiceFS:打造数字牧场

JuiceFS 是一款性能卓越的分布式文件系统,同时支持数据预热、分布式缓存等功能,天然地适合作为大模型的共享存储。在大模型服务就绪前,其模型文件就已经在本地,不需要另外从远端拉取,进一步节省 GPU 的运行时间。并且,在启动多个 Ollama 服务时,可以共享模型文件,不需要重复拉取。

只需要将 JuiceFS 挂载在 Ollama 的模型文件路径即可。准备 JuiceFS 只需一行命令:

$ juicefs mount weiwei-oss /root/.ollama --subdir=ollama
..OK, weiwei-oss is ready at /root/.ollama

Ollama:牧场的得力农场主

Ollama 是一个简化大模型部署和运行的工具,一方面通过提供类 Docker 的使用方式,运行一个大模型实例就和启动一个容器一样简单,另一方面,通过提供 OpenAI 兼容的 API,磨平大模型之间的使用差异。

从官方下载并安装 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

养殖 DeepSeek 模型

按需选择拉取模型,本文以 8b 模型为例:

$ ollama pull deepseek-r1:8b
pulling manifest
pulling 6340dc3229b0... 100% ▕██████████████████████████████████████████████████████████████▏ 4.9 GB
pulling 369ca498f347... 100% ▕██████████████████████████████████████████████████████████████▏  387 B
pulling 6e4c38e1172f... 100% ▕██████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕██████████████████████████████████████████████████████████████▏  148 B
pulling 0cb05c6e4e02... 100% ▕██████████████████████████████████████████████████████████████▏  487 B
verifying sha256 digest
writing manifest
success

放牧模型群

一切准备就绪后,可以在各个环境都运行 Ollama,并提供 DeepSeek 服务。

Linux 环境

在 Linux 环境中,JuiceFS 支持一键将挂载信息写入 /etc/fstab,实现开机自动挂载。

$ sudo juicefs mount --update-fstab weiwei-oss /root/.ollama --subdir=ollama

Ollama 可以用 systemd 安装,且设置在 JuiceFS 后启动:

$ cat > /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network.target jfs.mount

[Service]
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment=HOME=/root
Environment=OLLAMA_HOST="0.0.0.0"

[Install]
WantedBy=default.target
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl start ollama

Kubernetes 环境

在 Kubernetes 集群中也可以快速部署。JuiceFS 提供了 CSI Driver,只需要声明 PVC 和 PV,即可使用:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ollama-vol
  labels:
    juicefs-name: ollama-vol
spec:
  capacity:
    storage: 10Pi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: csi.juicefs.com
    volumeHandle: ollama-vol
    fsType: juicefs
    nodePublishSecretRef:
      name: ollama-vol
      namespace: kube-system
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ollama-vol
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  volumeMode: Filesystem
  resources:
    requests:
      storage: 10Gi
  selector:
    matchLabels:
      juicefs-name: ollama-vol

部署 Ollama 时使用 JuiceFS 的 PVC:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ollama
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ollama
  template:
    metadata:
      labels:
        app: ollama
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/hdls/ollama:0.5.7
        env:
        - name: OLLAMA_HOST
          value: "0.0.0.0"
        ports:
        - name: ollama
          containerPort: 11434
        args:
        - "serve"
        name: ollama
        volumeMounts:
        - mountPath: /root/.ollama
          name: shared-data
          subPath: ollama
      volumes:
      - name: shared-data
        persistentVolumeClaim:
          claimName: ollama-vol
---
apiVersion: v1
kind: Service
metadata:
  name: ollama-svc
spec:
  selector:
    app: ollama
  ports:
    - name: http
      protocol: TCP
      port: 11434
      targetPort: 11434

Chatbox:顾客的最终消费

ChatBox 提供了一个用户友好的界面,用于与大模型对话。在其官方网站可以选择任何系统的客户端下载安装。安装完成后,只需在设置页面的 “Model Provider” 选择 “OLLAMA API”,并配置上之前部署的 Ollama 的服务地址即可。Chatbox 会自动识别 Ollama 中已有的模型。

随后,就可以愉快地在本地使用 DeepSeek 了。

Author

朱唯唯
Juicedata 全栈工程师

相关博客

加速 AI 训推:Lepton AI 如何构建多租户、低延迟云存储平台

2025-01-17
制显著加速了文件操作,显著降低了由于对象存储引发的延迟问题,存储成本降低了 30 到 50 倍。

从 CephFS 到 JuiceFS:同程旅行亿级文件存储平台构建之路

2024-12-13
同程旅游已在 JuiceFS 上构建了一个企业级存储平台,平台规模涵盖了超过 20 个文件系统和 2000 多个客户端挂载点,能够高效管理亿级文件和百 TiB 级别的数据量。

Conda + JuiceFS :增强 AI 开发环境共享能力

2024-12-04
本文简要分享了在多机环境下,如何利用 JuiceFS 复用 Conda 虚拟环境的具体方法与注意事项。希望这篇文章中的技巧和经验能够为读者的日常开发和团队协作提供帮助,并提升工作效率。我们鼓励感兴趣…

海柔仿真系统存储实践:混合云架构下实现高可用与极简运维

2024-11-08
海柔科技仿真平台的数据特征包括:大量小文件、并发写入、跨云架构等。经过对比 Longhorn、Ceph 等多种系统后选择了 JuiceFS