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

Samba 共享解决方案:微服务多机共享 `/app` 目录

Samba 共享解决方案:微服务多机共享 /app 目录

背景需求

  • 技术栈‌:Java SpringCloud + Nacos 微服务架构
  • 部署变更‌:从单机开发环境迁移至四台生产服务器
  • 核心问题‌:多服务器需同时读写 /app 目录
  • 选型原因‌:分布式存储改造时间不足,采用 Samba 作为临时共享方案

服务端配置(Ubuntu)

1. 安装 Samba 服务

sudo apt update && sudo apt install samba samba-common-bin -y

2. 配置共享目录

创建目录并设置权限
sudo mkdir -p /app/share  # 推荐使用系统级目录
sudo chmod -R 1777 /appa/share  # 开放读写权限
编辑 Samba 配置 (/etc/samba/smb.conf)
[SharedApp] 
comment = App Samba Share  # 描述
path = /app/share 
browseable = yes 
writable = yes  
read only = no 
guest ok = no  
force create mode = 0775 
force directory mode = 0775 
  • ‌参数说明‌:
  • SharedApp 是url后的名字对应
  • comment 描述
  • path 物理路径
  • browseable 是否可见
  • writable 可写
  • read only 是否 禁用
  • guest ok 是否禁止匿名访问
  • force create mode 文件默认权限
  • force directory mode 目录默认权限

3. 用户与权限管理

# 创建系统用户
sudo adduser smbuser# 设置Samba专用密码(与系统密码隔离)
sudo smbpasswd -a smbuser# 修改目录属主
sudo chown -R smbuser:smbuser /app/share

4. 防火墙与服务重启

sudo ufw allow samba  # 放行139/445端口
sudo systemctl restart smbd
sudo testparm  # 验证配置语法

客户端挂载(其他服务器)

1. 安装依赖工具

sudo apt install cifs-utils -y

2. 挂载共享目录

sudo mount -t cifs //smb服务器ip/SharedApp /app/share -o username=smbuser,password=emacs,vers=3.0

‌注意事项‌:

  • 生产环境建议使用密钥文件替代明文密码
  • 如需开机自动挂载,需将配置写入 /etc/fstab
  • 确保所有客户端服务器的 /app/share 目录存在

方案优缺点

优点缺点
快速实现多机共享单点故障风险
无需改造现有代码网络延迟影响IO性能
权限管理灵活不适合海量小文件场景

建议后续迁移至 MinIO 或 NFS 等分布式存储方案

http://www.dtcms.com/a/292467.html

相关文章:

  • Hugging Face 模型的缓存和直接下载有什么区别?
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页-微博基本信息实现
  • 程序代码篇---PID简介
  • 《计算机“十万个为什么”》之 MQ
  • 卷积神经网络:LeNet模型
  • STM32-GPIO理论部分1
  • 如何将iPad中的视频传输到电脑(6种简单方法)
  • 如何构建FunASR的本地语音识别服务
  • 出货奥地利,稳石氢能AEM氢户储应用方案撬动欧洲市场。
  • 智能文本抽取在法院卷宗管理的技术实现及优势
  • 记录解决问题--使用maven help插件一次性上传所有依赖到离线环境,spring-boot-starter-undertow离线环境缺少依赖
  • windows下nvm的安装及使用
  • 清华大学顶刊发表|破解无人机抓取与投递难题
  • 2025年COR SCI2区,基于多种配送模式的无人机自主配送车辆路径问题,深度解析+性能实测
  • 无人机吊舱与遥控器匹配技术解析
  • 【matlab】无人机控制算法开发与应用流程
  • 从差异到协同:OKR 与 KPI 的管理逻辑,Moka 让适配更简单
  • 进程优先级切换调度-进程概念(6)
  • Linux笔记1——简介安装
  • 高可用架构模式——数据集群和数据分区
  • Kafka监控体系搭建:基于Prometheus+JMX+Grafana的全方位性能观测方案
  • -----------------------------------事务--------------------------
  • 【SpringAI实战】实现仿DeepSeek页面对话机器人
  • 风能革新!5大理由选Canopen转Profinet网关
  • 基于python django深度学习的中文文本检测+识别,可以前端上传图片和后台管理图片
  • Oracle使用小计
  • VUE2 项目学习笔记 ? 语法 v-if/v-show
  • C# 11.0 新特性 u8 后缀
  • 【数学建模|Matlab】Matlab「基础知识」和「基础操作」
  • halcon处理灰度能量图