![sharemgr 与 smb 讨厌文件系统挂载点?](https://linux22.com/image/531415/sharemgr%20%E4%B8%8E%20smb%20%E8%AE%A8%E5%8E%8C%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%8C%82%E8%BD%BD%E7%82%B9%EF%BC%9F.png)
我已将我的 zfs 池迁移回 Solaris 11。之前我一直愉快地使用 ZFS-fuse 和 samba 在 linux 上共享文件,而在此之前则使用 samba 在 FreeBSD 8.1 上共享文件。
我在 ZFS 中的数据集中有一些数据集,如下所示:
tank/home/share/
tank/home/share/Photos
tank/home/share/Music
因为照片和音乐需要与基本共享不同的属性。现在使用
zfs set sharesmb=name=Share tank/home/share
可以正常共享基本文件tank/home/share
,但不允许客户端查看Photos
或Music
。这是一个大问题。我似乎也无法让它与 sharemgr 一起工作。这是 SnOracle 的严重疏忽吗?我可以做些什么来让我的数据集在 Share 下共享?我不想在我的客户端上使用 Share_Photos 和 Share_Music。
我是否应该回到 Solaris 11 上使用 samba?安装两个系统似乎非常多余。
答案1
Solaris 内核模式 smb 共享无法共享子挂载。如果每个客户端只需要一个挂载,则必须使用 Samba 或将所有内容放在一个文件系统中。如果我没记错的话,这是因为嵌套挂载点中的文件系统可能截然不同(不同的池、区分大小写、UTF-8、锁定等)。自 2007 年以来,一直有一个 RFE 未解决(请求反馈 6582165),但我不会对此抱有太大希望。
虽然我自己没有这样做过,但你也许可以用DFS 根其中根共享中的每个目录都可以重定向到另一个 CIFS 共享,甚至可能在不同的服务器上,而各个客户端却毫不知情,只能通过单个挂载点进行浏览。如果这只在 Windows 下完美运行,则需要 Active Directory,而 OSX 客户端将需要类似Thursby ADmitMac。