在上一篇文章中,我们讨论了如何在 ZFS 文件系统中实现 NFS 共享,并详细解释了如何配置和管理这些共享的权限。今天,我们将转向一个新的主题:ZFS SMB 共享。这是一个同样重要的功能,它允许您在 Windows 环境中共享 ZFS 文件系统。在本篇文章中,我们将简单地介绍一下 ZFS SMB 共享的基本概念和用途。
ZFS SMB 共享概述
SMB (Server Message Block) 是一种网络文件共享协议,它主要用于 Windows 环境中,但也可以在其他操作系统(如 Linux 和 macOS)中使用。SMB 共享允许在网络上的设备之间共享文件和打印服务。
ZFS 文件系统支持 SMB 共享,这意味着您可以将 ZFS 数据集在网络上共享,以便其他设备或系统可以访问和使用这些数据。和 NFS 共享一样,ZFS SMB 共享也可以配置为只读或读写模式,取决于您的具体需求。
通过 ZFS SMB 共享,您可以轻松地在多个设备或系统之间共享数据,无需复制或移动数据。这是一种非常高效的数据共享方式,尤其是对于大量数据或需要实时共享数据的场景。
配置 ZFS SMB 共享
配置 ZFS SMB 共享相对简单。您可以使用 zfs set sharesmb=on
命令来启用 SMB 共享,然后使用 zfs sharesmb
命令来查看共享的状态。您也可以使用 zfs set sharesmb=off
命令来关闭 SMB 共享。
权限控制方面,ZFS SMB 共享使用 Windows 的 ACLs (Access Control Lists,访问控制列表) 来管理权限。您可以为每个用户或组设置不同的访问权限,例如读、写、执行等。
# 安装 samba 服务
dnf install samba -y
# 启动并设置开机自启动
systemctl enable --now smb
# 在启用共享的时候,会发现以下错误,但实际共享已开启。
[root@localhost /]# zfs set sharesmb=on SSD
cannot share 'SSD: system error': SMB share creation failed
# 检测共享已开启
[root@localhost /]# zfs get sharesmb
NAME PROPERTY VALUE SOURCE
SSD sharesmb on local
SSD@snap20230615 sharesmb - -
# 重启服务
[root@localhost /]# systemctl restart smb
# 关闭共享
[root@localhost /]# zfs set sharesmb=off SSD
# 添加已有用户为samba用户,这是需要注意虽然用户名是已有用户,但samba密码与操作系统登录密码是不一样的。
[root@localhost /]# smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
# 添加新用户
useradd -g samba -M -s /sbin/nologin admin
# 设置系统账号密码
passwd admin
# 设置共享账号密码
smbpasswd -a admin
# 设置共享目录
cat >> /etc/samba/smb.conf << EOF
[SSD]
path = /SSD
browseable = yes
read only = no
EOF
# 重启服务,生效配置
systemctl restart smb
客户端配置
Windows 客户端直接通过资源管理器输入 \\172.16.0.1
访问即可。
Linux 客户端可以通过 mount
或 smbclient
命令行工具访问。Rocky Linux 推荐使用 cifs-utils
包
# 安装客户端
dnf install cifs-utils
dnf install samba-client
smbclient -L //172.16.0.1 -U username
mount -t cifs //172.16.0.1/SSD /mnt/SSD -o username=username,password=password
写在最后
在这篇文章中,我们专注于 ZFS 的 SMB 共享,并通过实际操作指导你完成了如何在 Linux 上设置并访问 SMB 共享。我们讨论了安装和使用 cifs-utils
与 smbclient
工具的过程,以及如何在 Linux 上挂载和访问 SMB 共享。
我们希望这些信息和步骤能帮助你理解并应用 ZFS 的 SMB 共享功能。在日常的数据存储和共享中,SMB 是一种重要且常用的协议。而 ZFS 通过其强大的功能和灵活性,使得 SMB 共享的实现更加方便和高效。
然而,一个优秀的文件系统不仅需要提供高效的数据访问和共享,还需要有强大的性能监控和管理能力。这就是我们下一篇文章的主题 —— ZFS 性能监控与管理。我们将探讨如何利用 ZFS 的内置工具和第三方工具来监控和管理 ZFS 的性能。通过这些工具,我们可以获取关于 ZFS 性能的详细信息,以便更好地理解和优化我们的 ZFS 系统。
请期待我们的下一篇文章,我们将深入探讨 ZFS 的性能监控与管理。
下篇预告: DIY NAS系列11 — ZFS 性能监控与管理
samba
1.在Windows 的网络中不会显示 ,需要安装一个 wsdd 的服务并在防火墙配置中添加service。这样在win中就不用每次都去输入\192...* 了,直接点击网络里对应的主机名字即可,
2.在MacOS 的网路里显示 需要开启nmb.service, (Linux 没有测试过)
3.在苹果手机的文件app 中显示内容不可用 就是你当前文件夹的名字可能存在特殊符号如 “” 反斜杠