创建 Samba 共享
Samba 是一个开源的软件套件,它实现了 SMB/CIFS(Server Message Block / Common Internet File System)协议,该协议是 Windows 系统中常用的文件共享协议。通过 Samba,可以在 Linux/Unix 服务器上创建共享目录,允许 Windows 计算机通过网络访问和使用这些共享资源。
在安装了 Samba 的 Linux 系统上通过编辑 smb.conf
配置文件即可将本地目录创建成为共享文件夹,Windows 和 macOS 系统使用文件管理器就可以直接访问读写,Linux 需要安装 Samba 客户端访问。
当需要将 JuiceFS 文件系统中的目录通过 Samba 共享时,只需使用 juicefs mount
命令挂载,然后使用 JuiceFS 挂载点或子目录创建 Samba 共享即可。
备注
juicefs mount
以 FUSE 接口的形式挂载为本地的用户态文件系统,与本地文件系统在形态和用法上无异,因此可以直接被用于创建 Samba 共享。
第 1 步:安装 Samba
主流 Linux 发行版的包管理器都会提供 Samba:
- Debian 及衍生版本
- RHEL 及衍生版本
sudo apt install samba
sudo dnf install samba
如果需要配置 AD/DC,还需要安装其他的软件包,详情参考 Samba 官方安装指南。
第 2 步:启用 JuiceFS 的扩展属性支持
根据 Samba 官方文档,建议使用支持扩展属性(xattr)的文件系统,JuiceFS 文件系统需要在挂载时使用 --enable-xattr
选项来启用扩展属性,例如:
sudo juicefs mount -d --enable-xattr sqlite3://myjfs.db /mnt/myjfs
对于通过 /etc/fstab
配置自动挂载的情况,可以在挂载选项部分添加 enable-xattr
选项,例如:
# <元数据引擎 URL> <挂载点> <文件系统类型> <挂载选项>
redis://127.0.0.1:6379/0 /mnt/myjfs juicefs _netdev,max-uploads=50,writeback,cache-size=1024000,enable-xattr 0 0