web-dev-qa-db-ja.com

私のZFS SMB共有はどこにありますか?

ファイルストレージを提供するOpenSolarisサーバーのこのペアを実行します。それらはアクティブ/パッシブで実行され、1分ごとにスナップショットレプリケーションを介して同期を維持します。元々はどちらも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")

SMBはsharemgrで有効になっています:

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 not 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です。ドメインコントローラーでコンピューターアカウントを確認することもできます。

4
Steve F

これはファイルのアクセス許可の問題でした。ドメインユーザーがファイルシステムにアクセスできるようにするACLは、OpenIndianaには明らかに十分ですが、OmniOSには十分ではありません。修正はchmod 555/zpool/dataディレクトリ。

Kerberosエラーについては、 http://solariscat.blogspot.dk/2015/01/solaris-11-samba-zfs-configuration-with.html の指示に従って、手動でキータブファイルを生成しました。 。

2
Steve F