Deepseek存算分离安全部署手册
Deepseek大火后,很多文章教大家部署Dfiy和ollama+deepseek,但是大部分都忽略了数据安全问题,本文重点介绍Deepseek存算分裂安全架设,GPU云主机只负责计算、CPU本地主机负责数据存储,确保数据不上云,保证私有数据。
一、首先请看安全风险问题
登陆https://fofa.info/ 输入 ollama 你会发现一堆的ollama GPU算力服务器可以“白嫖”
你重金租用的服务器在被别人免费调用时候,导致你的token不足时,你是否会心痛,甚至你是否担心知识库信息被下载。所以本文建议大家采用存算分离方式来部署Deepseek


二、存算部署策略
(一)网络架构图

(二)GPU云主机仅运行计算
1、GPu主机找云服务商购买,本文用的是天翼云的deepseep预装版
具体手册详见官网手册
通过应用市场部署和使用专属的DeepSeek服务-算力互联调度平台-最佳实践 - 天翼云
2、ssh登陆GPU主机可以看到deepseek r1:7b预装好了
ollama list

增加下载一个向量模型,这个很重要,后续dify精确查询知识库需要
ollama pull bge-m3

3、将默认的web-ui的docker停掉

查看镜像 docker image ls

删除镜像

4、设置安全组,设置仅允许IP为客户dify-CPU主机访问GPU主机11434端口,其他主机都不能访问11434端口

5、修改ollam的配置
vi /etc/systemd/system/ollama.service
增加 Environment="OLLAMA_HOST=0.0.0.0:11434"

(三)、企业内部cpu主机跑知识库,运行在企业DMA区域,运行docker+dify
1、安装优版图版22.04 (其他版本也行)
lsb_release -a

2、将下载好的 dify-main.tar.gz 上传CPU主机并解压
tar -xzvf dify-main.tar.gz

3、设置Docker的apt仓库
在新主机上首次安装Docker Engine之前,需要先为Docker设置apt仓库,以便可以从仓库中安装和更新Docker。
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
# 这一句没有魔法在国内可能会报错,可以将链接换成清华镜像源,如:
# sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
4.安装Docker
在Ubuntu中运行以下命令即可安装最新版Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

docker ps -ef
docker compse version


确认docker 安装正常了
5、配置镜像源
镜像站可能随时失效,失效后需编辑配置文件更换。以下提供的镜像链接收集自网络,时间截止至2024年11月
# 创建目录
sudo mkdir -p /etc/docker# 写入配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.1panel.dev",
"https://docker.foreverlink.love",
"https://dytt.online",
"https://func.ink",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.zhai.cm",
"https://docker.5z5f.com",
"https://a.ussh.net",
"https://docker.cloudlayer.icu",
"https://docker.linkedbus.com",
"https://docker.m.daocloud.io"
]
}
EOF# 重新加载守护进程
sudo systemctl daemon-reload
# 重启 docker 服务
sudo systemctl restart docker
6、cd /dify/docker 自行 docker compose up

7.成功运行

设置模型IP地址为GPU主机地址,增加deepseek r1:7b模型,增加 bge-m3向量模型



三、安全的将知识库数据传到本地CPU主机了

相关文章:
Deepseek存算分离安全部署手册
Deepseek大火后,很多文章教大家部署Dfiy和ollamadeepseek,但是大部分都忽略了数据安全问题,本文重点介绍Deepseek存算分裂安全架设,GPU云主机只负责计算、CPU本地主机负责数据存储,确保数据不上云,保证私有…...
【Redis原理】底层数据结构 五种数据类型
文章目录 动态字符串SDS(simple dynamic string )SDS结构定义SDS动态扩容 IntSetIntSet 结构定义IntSet的升级 DictDict结构定义Dict的扩容Dict的收缩Dict 的rehash ZipListZipListEntryencoding 编码字符串整数 ZipList的连锁更新问题 QuickListQuickList源码 SkipListRedisOb…...
Java——抽象类
在Java中,抽象类(Abstract Class) 是一种特殊的类,用于定义部分实现的类结构,同时允许子类提供具体的实现。抽象类通常用于定义通用的行为或属性,而将具体的实现细节留给子类。 1. 抽象类的定义 语法&…...
DeepSeek在初创企业、教育和数字营销领域应用思考
如今,像 DeepSeek 这样的人工智能工具正在改变企业的运营方式,优化流程并显著提高生产力。通过重复任务的自动化、大量数据的分析以及内容创建效率的提高,组织正在寻找新的竞争和卓越方式。本文介绍了 DeepSeek 如何用于提高三个关键领域的生…...
java开发——为什么要使用动态代理?
举个例子:假如有一个杀手专杀男的,不杀女的。代码如下: public interface Killer {void kill(String name, String sex);void watch(String name); }public class ManKiller implements Killer {Overridepublic void kill(String name, Stri…...
c++中,什么时候应该使用mutable关键字?
在 C 中,mutable 关键字用于修饰类的成员变量,允许在 const 成员函数中修改这些变量。它的核心作用是区分 物理常量性(对象内存不可修改)和 逻辑常量性(对象对外表现的状态不变)。以下是详细解析࿱…...
deepseek本地部署,ragflow,docker
先下载ollama 1.官网下载 deepseek-r1:14bhttps://ollama.com/library/deepseek-r1:14b 2.GitHub下载GitHub - ollama/ollama: Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 2, and other large language models. 两种方式 安装完后,cmd-&g…...
智能优化算法:莲花算法(Lotus flower algorithm,LFA)介绍,提供MATLAB代码
一、 莲花算法 1.1 算法原理 莲花算法(Lotus flower algorithm,LFA)是一种受自然启发的优化算法,其灵感来源于莲花的自清洁特性和授粉过程。莲花的自清洁特性,即所谓的“莲花效应”,是由其叶片表面的微纳…...
通过AI辅助生成PPT (by quqi99)
作者:张华 发表于:2025-02-23 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明(http://blog.csdn.net/quqi99) 问题 媳妇需要将一个pdf文件中的某些部分做成PPT课件,我在想是…...
P9631 [ICPC 2020 Nanjing R] Just Another Game of Stones Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an),有 m m m 个操作分两种: chmax ( l , r , k ) \operatorname{chmax}(l,r,k) chmax(l,r,k):对每个 i ∈ [ l , r ] i \in [l,r] i∈[l,…...
nodejs:vue 3 + vite 作为前端,将 html 填入<iframe>,在线查询英汉词典
向 doubao.com/chat/ 提问: node.js js-mdict 作为后端,vue 3 vite 作为前端,编写在线查询英汉词典 后端部分(express js-mdict ) 详见上一篇:nodejs:express js-mdict 作为后端ÿ…...
QEMU源码全解析 —— 内存虚拟化(18)
接前一篇文章:QEMU源码全解析 —— 内存虚拟化(17) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 QEMU内存管理模型...
Spring Boot 日志管理(官网文档解读)
摘要 本篇文章详细介绍了SpringBoot 日志管理相关的内容,文章主要参考官网文章的描述内容,并在其基础上进行一定的总结和拓展,以方便学习Spring Boot 的小伙伴能快速掌握Spring Boot 日志管理相关的内容。 日志实现方式 Sping Boot 的日志管…...
MATLAB进阶之路:数据导入与处理
在MATLAB的学习旅程中,我们已经初步了解了它的基础操作。如今,我们将沿着这条充满惊喜的道路,迈向下一个重要的站点——数据导入与处理。这部分内容就像是为MATLAB注入了强大的能量,使其能够从现实的数据世界中汲取信息,然后像一位智慧的魔法师一样,巧妙地处理这些数据,…...
fcntl()函数的概念和使用案例 c语言
在 Linux 系统编程中,fcntl() 函数(File Control)是用于操作文件描述符的核心函数,可控制文件或套接字的底层属性。它支持多种操作,包括设置非阻塞模式、获取/设置文件状态标志、管理文件锁等。以下是详细概念和使用案…...
Linux红帽:RHCSA认证知识讲解(一)RedHat背景与环境配置
Linux红帽:RHCSA认证知识讲解(一)RedHat背景与环境配置 前言一、RedHat公司背景二、RedHat环境安装步骤三、windows使用远程工具连接环境并上传文件到redhat方法: 前言 在接下来的博客中,我们从基础开始将介绍红帽Linu…...
Windows11安装GPU版本Pytorch2.6教程
1: 准备工作 针对已经安装好的Windows11系统,先检查Nvidia驱动和使用的CUDA版本情况。先打开Windows PowerShell,通过nvidia-smi命令查看GPU的情况,结果如下图1所示,从结果中可知使用的CUDA版本为12.8。 图1:检测安装…...
网络传输的七层协议
网络传输的七层协议是 OSI模型(开放系统互联模型) 中的七个层次,每一层都负责不同的网络功能。具体如下: 物理层(Physical Layer) 负责在物理媒介上传输比特流,即将数据以电信号、光信号等形式在…...
【蓝桥杯集训·每日一题2025】 AcWing 6134. 哞叫时间II python
6134. 哞叫时间II Week 1 2月20日 农夫约翰正在试图向埃尔茜描述他最喜欢的 USACO 竞赛,但她很难理解为什么他这么喜欢它。 他说「竞赛中我最喜欢的部分是贝茜说『现在是哞哞时间』并在整个竞赛中一直哞哞叫」。 埃尔茜仍然不理解,所以农夫约翰将竞赛…...
Spring Boot数据访问(JDBC)全解析:从基础配置到高级调优
文章目录 引言一、Spring Boot JDBC核心架构1.1 核心组件关系图1.2 自动配置逻辑 二、基础配置实践2.1 数据源配置2.2 多数据源配置 三、JdbcTemplate深度使用3.1 基础CRUD操作3.2 批处理优化 四、事务管理4.1 声明式事务4.2 事务传播机制 五、异常处理5.1 Spring异常体系5.2 自…...
23-Java 构造函数
Java 构造函数 在本教程中,您将在示例的帮助下了解Java构造函数,如何创建和使用它们以及不同类型的构造函数。 什么是构造函数? 在Java中,每个类都有它的构造函数,当类的对象被创建时,该构造函数将被自动…...
3分钟掌握Xbox控制器性能测试:XInputTest终极指南
3分钟掌握Xbox控制器性能测试:XInputTest终极指南 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 想要知道你的游戏手柄是否真的"零延迟"吗࿱…...
Qt 6.0.0 + VS2019 保姆级配置指南:从清华镜像下载到第一个窗口程序
Qt 6.0.0与VS2019开发环境配置全攻略:从零开始构建第一个窗口应用 在Windows平台上搭建Qt与Visual Studio的联合开发环境,是许多C开发者入门GUI编程的第一步。但面对版本选择、组件配置、环境变量设置等一系列操作,新手往往会在某个环节卡壳…...
WebPlotDigitizer:当计算机视觉遇见科研数据挖掘的智能革命
WebPlotDigitizer:当计算机视觉遇见科研数据挖掘的智能革命 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 在科研和工程领…...
ESP-IDF实战:从零构建物联网设备核心功能
1. 环境搭建与基础工程创建 第一次接触ESP-IDF时,最让人头疼的就是环境配置。我当初在Windows 10上折腾了整整两天才搞定所有依赖,这里分享几个避坑要点。首先需要安装的不仅仅是ESP-IDF工具链,还包括Python环境、Git和VSCode插件全家桶。建议…...
【20年.NET架构师亲测有效】:C# 14 AOT下Dify客户端HttpClientFactory注入失效的7层调用栈溯源与零配置热修复方案
第一章:C# 14 原生 AOT 部署 Dify 客户端报错解决方法在使用 C# 14 的原生 AOT(Ahead-of-Time)编译方式部署 Dify 官方 .NET SDK 客户端时,常见因反射、动态代码生成或 JSON 序列化元数据缺失导致的运行时异常,典型错误…...
告别云服务器:用随身Wifi+Debian搭建PupBot,实现零月供的QQ机器人
随身WifiDebian打造零月供QQ机器人:私有化部署全指南 当大多数开发者习惯性地将服务部署在云端时,一个被忽视的事实是:我们正以数据安全和系统控制权为代价换取所谓的便利性。本文将带你探索一种颠覆性的解决方案——利用随身Wifi设备配合Deb…...
别再为定位精度发愁了!手把手教你用VICON+ROS搭建高精度真值系统(附避坑指南)
高精度运动捕捉与ROS集成实战:从VICON配置到算法验证全流程 在机器人定位算法开发中,获取可靠的基准数据往往比算法设计本身更具挑战性。传统GPS在室内环境完全失效,而里程计又存在累积误差,这使得运动捕捉系统成为验证SLAM和导航…...
2025届学术党必备的降AI率工具解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作跟内容创作这两个领域当中,原创性方面的要求变得越发严格起来。降重网…...
互联网大厂 Java 求职者面试趣谈:Java SE 与微服务在电商场景中的应用
面试趣谈:Java SE 与微服务在电商场景中的应用 在今天的面试中,我们将看到严肃的面试官与搞笑的程序员燕双非的对话,围绕Java SE与微服务在电商场景中的应用展开。第一轮提问 面试官: 你好,燕双非,首先请你…...
