前言
本教程提供了在CentOS 7系统上挂载SMB共享的两种方法:使用rclone工具和原生SMB挂载。rclone方法提供了更好的跨平台兼容性和网络恢复能力,适合需要访问多种云存储或网络不稳定的环境;而原生SMB挂载则提供了更高的性能和更低的系统资源占用,适合稳定的内网环境。可以根据实际需求选择适合的方法。
(1)性能对比
指标 | 原生SMB挂载 | Rclone挂载 |
---|---|---|
传输速度 | ★★★★★ | ★★★☆☆ |
CPU占用 | ★★☆☆☆ | ★★★★☆ |
内存占用 | ★★☆☆☆ | ★★★☆☆ |
小文件操作 | ★★★★☆ | ★★☆☆☆ |
大文件传输 | ★★★★★ | ★★★★☆ |
网络恢复能力 | ★★☆☆☆ | ★★★★☆ |
(2)推荐选择
对于Linux环境,如果:
- 是稳定的内网环境且需要高性能 → 选择原生SMB挂载
- 需要更灵活的管理或网络不稳定 → 选择Rclone挂载
- 需要访问多种云存储 → 选择Rclone
- 是长期持久化挂载 → 原生SMB可能更合适
方法一:使用rclone挂载SMB共享
一、安装rclone及依赖
yum install epel-release -y
yum install fuse fuse3 fuse3-libs -y
curl https://rclone.org/install.sh | bash
二、配置 rclone 连接 smb
方法一,直接创建配置文件
mkdir -p /root/.config/rclone
vi /root/.config/rclone/rclone.conf
[mysmb]
type = smb
host = 192.168.24.29
pass = hIiMTo***********3l_Q
关于密文,可以手动加密后写入配置
使用 rclone obscure 加密密码:
rclone obscure your_password
方法二,使用配置向导(1)进入 rclone 配置模式
(1)进入 rclone 配置模式
rclone config
(2)添加新的 smb 远程存储
- 选择
n
(新建远程) -
输入远程名称(如
mysmb
)
- 选择存储类型 smb:47
- 输入 SFTP 服务器地址(如
example.com
或192.168.1.100
):192.168.24.29 - 输入用户名:root
-
输入密码:
-
其他选项默认(直接回车):
-
确认配置:
y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
- 退出配置模式:
q) Quit config
e/n/d/q> q
三、测试 smb 连接
先查看配置文件 (记下远程名称mysmb,后面都要使用)
cat /root/.config/rclone/rclone.conf
# 列出远程目录(验证连接)
rclone lsf mysmb:/

四、 挂载SMB共享
(1)创建本地挂载点
sudo mkdir -p /mnt/smb_share
(2)使用
rclone mount
挂载
# 前台运行测试
rclone mount mysmb:home /mnt/smb_share --allow-other --vfs-cache-mode full
# 新开窗户验证
df -h|grep mysmb
# 如果测试正常,可以后台运行
rclone mount mysmb:home /mnt/smb_share --allow-other --vfs-cache-mode full --daemon
(3)验证挂载
df -h | grep mysmb
ls /mnt/smb_share


五、其它
(1)常见问题解决
-
权限问题:
- 确保挂载点目录有正确的权限
- 使用
--allow-other
选项允许其他用户访问
-
连接问题:
- 检查防火墙是否放行了445端口
- 确认SMB服务器允许来自CentOS的访问
-
性能优化:
- 可以调整
--buffer-size
和--vfs-cache-mode
参数提高性能 - 对于大量小文件,可以增加
--dir-cache-time
- 可以调整
方法二:原生SMB挂载(快速参考)
1. 安装软件包并创建挂载点
yum install -y cifs-utils
sudo mkdir -p /mnt/smb_home
2. 创建凭据文件 /etc/smb_credentials
# 内容
username=root
password=*****
# 设置权限
chmod 600 /etc/smb_credentials
3. 手动挂载共享
mount -t cifs //192.168.24.29/home /mnt/smb_home -o credentials=/etc/smb_credentials,vers=2.0
4. 设置开机自动挂载
编辑/etc/fstab
:
//192.168.24.29/home /mnt/smb_home cifs credentials=/etc/smb_credentials,vers=2.0 0 0