VNX:升級支援 SMB2 安全通道通訊的程式碼後DOMAIN_CONTROLLER_NOT_FOUND

摘要: 升級支援 SMB2 安全通道與 DC 通信的代碼後,DOMAIN_CONTROLLER_NOT_FOUND消息。(Dell 可修正)

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

程式碼已升級至上述其中一個版本。

升級到下列其中一個代碼後,記錄中開始出現錯誤訊息,指出網域控制站已關閉:
VNX2:
8.1.9.211
VNX1:
7.1.82.0

訊息看起來如下:

2017-06-20 20:51:27: SMB: 3:[NASSERVER1] OpenAndBind[LSA] DC=DC01 failed: Bind_OpenXFailed DOMAIN_CONTROLLER_NOT_FOUND

 

原因

上述代碼全部新增至新功能中,可讓 NAS 伺服器或資料移動者與 SMB2 中的網域控制站進行通訊。在此代碼之前,域控制器通信都在SMB1中處理(儘管用戶端仍然可以在SMB2/SMB3中與我們通信)。
更改為SMB2后,我們的命令並未全部序列化到域控制器。這似乎會導致某些命令同時並行運行。
例如,嘗試開啟命名的 lsarpc 命名為 pipe。

在此錯誤消息中,請務必注意我們嘗試綁定到的服務:

2017-06-20 20:51:27: SMB: 3:[NASSERVER1] OpenAndBind[LSA] DC=DC01 failed: Bind_OpenXFailed DOMAIN_CONTROLLER_NOT_FOUND

從錯誤訊息中,我們可以看到它正在嘗試開啟 LSA (以紅色強調顯示)。這就是問題所在。在收到來自 DC 的回應之前,我們嘗試多次同時打開 lsarpc 命名管道。第一個請求成功,但後續請求失敗。我們會看到指出「STATUS_PIPE_NOT_AVAILABLE失敗」訊息,並將DOMAIN_CONTROLLER_NOT_FOUND訊息記錄在記錄中。

請務必注意,這些消息並不總是表示此問題。DOMAIN_CONTROLLER_NOT_FOUND錯誤可能有許多原因。
這個特定的記錄中可能會有很多以下資訊性訊息:

2017-06-28 14:37:45: 26041909248: SMB: 6:[NASSERVER1] sendLookupSIDs pipe lsarpc reopened
2017-06-28 14:37:47: 26041909248: SMB: 6:[NASSERVER1] sendLookupSIDs pipe lsarpc reopened

如果對問題是否與問題匹配有任何問題,可以在數據包跟蹤中進行確認。在跟蹤中,我們會看到多個同時打開 lsarpc 的請求,然後收到對其中任何一個的回應,然後第一個成功,後續請求失敗,並在 DC 回應時STATUS_PIPE_NOT_AVAILABLE。

此問題往往主要發生在需要在網域控制站進行大量 SID 查詢的系統上。如果環境中有孤立的 SID,它往往會記錄更多此類錯誤。這是因為傳送到 DC 的流量很大,每次存取 ACL 時,我們都必須傳送要求給 DC,要求 SID 快取中沒有的任何 SID 身分識別。孤立的 SID 永遠不會在 SID 快取中,並且每次增加我們必須對 lsarpc 指定管道執行的打開量時,都會嘗試查找孤立的 SID。

由於第一次打開嘗試成功,這是一個不具影響的事件,可以忽略這些消息。

 

解析度

永久修正方法:
工程部門已察覺到此問題,並正在努力在未來的程式碼版本中進行修正。這是不中斷的問題,在此期間可以放心忽略。但是,如果您確實想要嘗試減少或消除消息,則有一些解決方法可用。

因應措施 1:
有幾種方法可以嘗試阻止這些消息在日誌中出現。由於 lsarpc 管道上的多個併發打開嘗試會導致問題,因此減少消息的最簡單方法是減少所需的 SID 查找量。

孤立的 SID 會導致這些過多的查找。可以修改以下參數以強制查找以查看未知 sid 的 secmap 快取,並應減少流向 DC 的流量:

[nasadmin@CS0 ~]$ server_param server_2 -f cifs -i acl.mappingErrorAction -v
server_2 :
name                    = acl.mappingErrorAction
facility_name           = cifs
default_value           = 8
current_value           = 8
configured_value        = 8
user_action             = none
change_effective        = immediate
range                   = (0,31)
description             = Define rules for an unknown SID/UID/GID mapping

detailed_description
Defines the rules for unknown mapping between SID/UID/GID on ACL settings. Two kinds of errors might occur: the SID set in the ACL is unknown to the Domain Controllers we are using, or the username is not yet mapped to a UID/GID. 0x01: Stores unknown sid. 0x02: Stores sid with no UNIX mapping. 0x04: Enables debug traces. 0x08: Only do lookup in cache (secmap or globalSid cache or per connection SID cache) 0x08 is HIGHLY RECOMMENDED WITH OPTION=0x01. 0x10: Disable log displayed when an unknown SID resolution takes too much time.Maximum value = 0x1F Refer to param cifs.acl.retryAuthSID

這將轉換為以下資訊:
Bit0 = 儲存未知的 sid。
Bit1 = 儲存沒有 UNIX 映射的 sid。
Bit2 = 啟用調試跟蹤。
Bit3 = 僅在快取中進行查詢 (secmap 或 globalSid 快取,或依連線 SID 快取)

如果設定了位元 0 和 1 (0x3值),則允許將孤立的 SID 儲存在檔案系統 ACL 上 (預設情況下不是)。建議將值從 0x3 更改為 0x11,這將打開位 0,1 和 3。這意味著存儲未知的 SID,沒有 unix 映射,並且只查看 secmap 和全域 SID 快取。如果設置為 0x8 或關閉位 0 和 1 的其他組合,則不允許存儲孤立 sid,並且不應對此參數進行任何更改。

如果要修改參數,可以執行以下命令:

server_param server_2 -f cifs -m acl.mappingErrorAction -v 11

 

注意: 如果這些錯誤發生在不同的資料移動者身上,則需要修改上述命令中的server_2。

這可能會減少發生次數,但可能會也可能不會完全消除它們。

因應措施 2:
消除日誌中這些錯誤的可靠方法是將DC通信行為恢復到新代碼之前的狀態(這意味著我們僅與SMB1中的域控制器通信)。

注意:需要短暫的中斷才能更改此參數。CIFS 服務必須重新啟動 (通常需要一兩分鐘的時間)。此外,此參數更改可能會對某些環境產生嚴重影響,因為它限制我們僅使用SMB1進行域控制器通信(用戶端仍然可以使用SMB2/SMB3)。此參數將我們的 dc 通信恢復到上面列出的代碼版本之前的狀態,但從那時起,許多環境已在域控制器上禁用SMB1。如果正在考慮設置此參數,請確保域控制器在更改之前已啟用SMB1通信。如果已設置參數並在所有 DC 上禁用 SMB1,則可能會發生中斷。如果是這樣,則可以將參數恢復為其以前的值。

如果您想要還原至 SMB1 以進行 dc 通訊 (舊的 VNX 行為),請聯絡 Dell 支援並參考此知識文章。

 

受影響的產品

VNX/VNXe

產品

VNX1 Series, VNX2 Series, VNX5100, VNX5200, VNX5300, VNX5400, VNX5500, VNX5600, VNX5700, VNX5800, VNX7500, VNX7600, VNX8000, VNX/VNXe
文章屬性
文章編號: 000055069
文章類型: Solution
上次修改時間: 17 4月 2026
版本:  7
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。