Skip to main content

Ubuntu 24.04 上的 RAGFlow 需要挂载 Windows SMB 共享

你的场景本质是:Ubuntu 24.04 上的 RAGFlow 需要挂载 Windows SMB 共享(域环境/或工作组共享),让知识库可以读取文件。

下面给你一套可落地的方案(推荐用 CIFS 挂载)。


一、核心思路

Linux 访问 Windows 共享 = SMB/CIFS 挂载成本地目录

最终目标类似:

\\192.168.0.83\市场部
↓
/mnt/ragflow/share/market

然后 RAGFlow 直接读 Linux 本地路径即可。


二、安装必要组件(Ubuntu 24.04)

sudo apt update
sudo apt install -y cifs-utils

三、创建挂载目录

sudo mkdir -p /mnt/ragflow/market

四、创建凭据文件(强烈推荐,不要明文写在 mount 命令里)

sudo nano /etc/smb-cred-shuncom

写入:

username=xxxx
password=xxxxxxxxx
domain=shuncom

⚠️ 如果你们是 AD 域用户,这个 domain 很关键
如果不确定,也可以尝试:

domain=SHUNCOM

保存后:

sudo chmod 600 /etc/smb-cred-shuncom

五、手动测试挂载(关键步骤)

sudo mount -t cifs //192.168.0.83/市场部 /mnt/ragflow/market \
-o credentials=/etc/smb-cred-shuncom,vers=3.0,iocharset=utf8

六、如果报错(非常常见,逐个排查)

1️⃣ 如果提示 authentication failed

尝试改:

vers=2.1
或
vers=3.0
或
vers=1.0(不推荐但兼容老系统)

2️⃣ 如果域认证失败(AD环境常见)

改成:

-o username=xxxx,domain=xxxxxx,sec=ntlmssp

或:

sec=ntlmv2

3️⃣ 如果中文目录乱码或无法访问

确保:

iocharset=utf8

4️⃣ 如果 ping 通但 mount 不通

检查 SMB 端口:

nc -zv 192.168.0.83 445

必须通:

445/tcp open

七、设置开机自动挂载(推荐)

编辑:

sudo nano /etc/fstab

加入:

//192.168.0.83/市场部 /mnt/ragflow/market cifs credentials=/etc/smb-cred-shuncom,vers=3.0,iocharset=utf8,_netdev 0 0

#安全的写法
//192.168.0.83/市场部 /mnt/ragflow/market cifs credentials=/etc/smb-cred-shuncom,vers=3.0,iocharset=utf8,_netdev,nofail,x-systemd.automount,x-systemd.device-timeout=10 0 0

三、每个关键参数解释(非常重要)

1️⃣ _netdev

👉 告诉系统这是网络文件系统

  • 延迟到网络可用后再挂载
  • 防止系统启动阶段卡死

2️⃣ nofail ⭐(最重要)

👉 即使挂载失败,也:

  • 不阻塞启动
  • 不进入 emergency mode
  • 系统正常进桌面

3️⃣ x-systemd.automount ⭐(强烈推荐)

👉 这是关键优化:

  • 开机不立即挂载
  • 访问目录时才挂载(按需挂载)
  • 极大减少启动依赖风险

效果:

你 ls /mnt/ragflow/market 才触发挂载

4️⃣ x-systemd.device-timeout=10

👉 最多等 10 秒

  • 避免 Windows 服务器挂起时 Linux 卡死

5️⃣ vers=3.0

保持 SMB3(Windows 11 / Server 2019+ 推荐)


八、RAGFlow 接入方式

RAGFlow 通常支持:

方法1(推荐)

直接使用本地路径:

/mnt/ragflow/market

作为知识库数据源


方法2(如果是 Docker 部署 RAGFlow)

需要挂载 volume:

volumes:
  - /mnt/ragflow/market:/data/market

然后 RAGFlow 读:

/data/market

九、你当前环境特别说明(很关键)

你提供的信息:

  • Ubuntu 24.04:✔ OK

  • DNS 可解析 shuncom.local:✔ AD 正常

  • Windows 共享可访问(Win11测试OK):✔ SMB正常

  • 域账号:shuncom/7004:✔ AD用户

👉 说明问题大概率只在:

Linux CIFS 参数 / SMB版本 / 域认证方式


十、如果你想“一步到位稳定方案”(推荐)

在 AD 环境里最稳定写法:

sudo mount -t cifs //192.168.0.83/市场部 /mnt/ragflow/market \
-o username=7004,domain=shuncom,sec=ntlmssp,vers=3.0,iocharset=utf8

如果你愿意,我可以帮你进一步做:

✔ 自动诊断挂载失败原因(根据报错日志)

✔ RAGFlow + SMB + Docker 最佳生产部署方案

✔ AD域统一权限映射(避免权限乱)

✔ 多共享目录自动同步方案(rsync / inotify)

只要把你 mount 报错贴出来就能精确定位。