我的 ZFS SMB 共享在哪里?

我的 ZFS SMB 共享在哪里?

我们运行这对提供文件存储的 OpenSolaris 服务器。它们以主动/被动方式运行,并通过每分钟左右的快照复制保持同步。最初,它们都运行 OpenIndiana,但由于 OI 的开发似乎停滞不前,我们决定改用开发更积极的 OmniOS。

我们首先升级了备份服务器。一切基本按计划进行,只是我无法看到通过 SMB 从系统共享的 zfs 文件系统。

文件系统上启用了 SMB 共享:

NAME        PROPERTY  VALUE                             SOURCE
zpool/data  sharesmb  abe=true,name=data,guestok=false  local

smb/server 服务及其依赖项均在线:

fmri         svc:/network/smb/server:default
name         smbd daemon
enabled      true
state        online
next_state   none
state_time   Mon Mar  7 14:31:29 2016
logfile      /var/svc/log/network-smb-server:default.log
restarter    svc:/system/svc/restarter:default
contract_id  16253
dependency   require_any/error svc:/milestone/network (online)
dependency   require_all/error svc:/system/filesystem/local (online)
dependency   require_all/none svc:/system/idmap:default (online)
dependency   require_all/none svc:/network/smb/client:default (online)

Sharemgr 知道共享

default nfs=()
smb smb=()
        * /var/smb/cvol
                  c$=/var/smb/cvol       smb=(abe="false" guestok="false")      "Default Share"
zfs smb=() nfs=()
    zfs/zpool/data smb=()
          /zpool/data    smb=(abe="true")
                  data=/zpool/data       smb=(guestok="false")

在 sharemgr 中启用了 SMB:

default enabled nfs
smb     enabled smb
zfs     enabled smb nfs

但是,当我从 Windows 机器浏览到服务器时无法查看共享,使用 进行查询时也无法查看共享smbutil view

与主服务器相比,备份服务器的 smbutil 输出如下:

备份:

Share        Type       Comment
-------------------------------
c$           disk       Default Share
IPC$         IPC        Remote IPC
vss$         disk       VSS

基本的:

Share        Type       Comment
-------------------------------
c$           disk       Default Share
data         disk
IPC$         IPC        Remote IPC
vss$         disk       VSS

文件夹上的 ACL 正确:

d---------+821 Administrators@BUILTIN 2147483650     823 Mar  4 14:52 data
    group:Domain Users@DOMAIN:r-x---a-R-c--s:-------:allow

共享上的 ACL 正确:

-rwxrwxrwx+  1 root     root           0 Nov 30 08:57 /zpool/data/.zfs/shares/data
              everyone@:rwxpdDaARWcCos:-------:allow

我在同一个 zpool 中创建了另一个 ZFS 文件系统,并将其与 SMB 共享,并成功访问了它。这个文件系统似乎有问题。

这些文件系统使用 ZFS 版本 5。

编辑: smbutil view不是smbutil show

编辑:我不确定这是否相关,但我也遇到了 kerberos 问题。我加入域时未生成位于 /etc/krb5/krb5.keytab 的 keytab 文件,kinit 仍然有效,但 idmap 似乎对此不太满意:

tail /var/svc/log/system-idmap:default.log

dc2.my.domain: additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Key table file '/etc/krb5/krb5.keytab' not found)
LDAP: dc1.my.domain:389: Local error
dc1.my.domain: Local error
dc1.my.domain: additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Key table file '/etc/krb5/krb5.keytab' not found)
LDAP: dc2.my.domain:389: Local error
dc2.my.domain: Local error
dc2.my.domain: additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Key table file '/etc/krb5/krb5.keytab' not found)
LDAP: dc1.my.domain:389: Local error
dc1.my.domain: Local error
dc1.my.domain: additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Key table file '/etc/krb5/krb5.keytab' not found)

我的 krb5.conf:

[libdefaults]
        default_realm = MY.DOMAIN

[realms]
        MY.DOMAIN = {
                kdc = <dc1 IP>
                kdc = <dc2 IP>
                admin_server = <dc1 IP>
                kpasswd_server = <dc1 IP>
                kpasswd_protocol = SET_CHANGE
        }
[domain_realm]
        .my.domain = MY.DOMAIN
        my.domain = MY.DOMAIN
[logging]
        default = FILE:/var/krb5/kdc.log
        kdc = FILE:/var/krb5/kdc.log
        kdc_rotate = {
                period = 1d
                versions = 10
        }
[appdefaults]
        kinit = {
                renewable = true
                forwardable= true
        }

我的/etc/resolv.conf:

search my.domain
domain my.domain
nameserver <dc1 IP>

运行smbadm list表明已加入域:

[*] [DOMAIN]
[*] [MY.DOMAIN]
        [+dc1.MY.DOMAIN] [<dc1 IP>]
[.] [ZFS2] [S-1-5-21-XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX]
[*] [DOMAIN] [S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXX]

该机器的名称是 ZFS2。我还可以在域控制器上看到计算机帐户。

答案1

这是文件权限问题。允许域用户访问文件系统的 ACL 显然对 OpenIndiana 来说足够了,但对 OmniOS 来说却不够。修复方法是进入chmod 555/zpool/data 目录。

至于 Kerberos 错误,我按照以下说明进行操作:http://solariscat.blogspot.dk/2015/01/solaris-11-samba-zfs-configuration-with.html手动生成 keytab 文件。

相关内容