CLI 命令傳回錯誤訊息:utf8 編解碼器無法解碼位置中的位元組 - 資料無效
Summary: 嘗試取得「isi smb shares list」的輸出時,命令行介面 (CLI) 收到錯誤訊息 錯誤訊息指出:utf8 編解碼器無法解碼位置 [value1-value2] - 無效資料中的位元組。 出現此問題的原因是,在共用名稱或描述中放置了無效的utf8字元。CLI 或 WebUI 中不允許使用無效的 utf8 字元。自動共用生成工具和腳本可以繞過此限制並導致問題。 ...
Symptoms
無效的 utf8 字元會導致傳回錯誤訊息,而非列出叢集上的共用。您仍然可以從 WebUI 或在記錄中檢視這些共用。
嘗試取得「isi smb shares list」的輸出時,命令行介面 (CLI) 收到下列錯誤訊息:
utf8 codec can't decode bytes in position [value1-value2] - invalid data.
透過建立新共用或選擇已由 WebUI 確認為不具有不受支援的特殊字元的共用來確認此問題。
isi smb share view <sharename>
使用問題共享時,無法查看以下內容的輸出:
isi smb share view <problem_share_name>
Cause
此問題的原因是將無效的 utf8 字元放入 CLI 或 WebUI 中不允許的共用名稱或描述中。某些自動共用生成工具(如 VIPR 應用程式程式設計介面 (API) 調用)可以繞過此限制並導致問題。
Resolution
使用 WebUI、記錄和 "isi smb shares list --limit=#" 命令以查找導致問題的共用。
步驟 1 - 使用 CLI 命令按字母順序識別共用名稱的位置。
UNIX 中的字母順序以特殊字元開頭,例如首先列出的美元符號 ($) 或百分號 (%)。然後是字母順序的大寫字母,然後是字母順序的小寫字母。請參閱以下範例:
ClusterName# isi smb shares list --format=table --limit=10 Share Name Path -------------------------------------------------------------------------------------- $AutoTest /ifs/data_dr/bi/std1/bi_autotest_fs1/BI_6272_$AutoTest $Booke /ifs/data_dr/shared/std1/sharedhfd_fs1/FACS_6230_$Booke $BudRef /ifs/data_dr/corp/std1/corporate_finance_fs1/FACS_6230_$BudRef $Bureau /ifs/data_dr/corp/std1/corp_6230_corporate_finance_fs2 $CLHomedirs3 /ifs/data_dr/bi/std1/upper_cl18/cl18/CLHomedirs3 $CORE14_NME /ifs/data_dr/oaisys/std1/upper_core14/core14/$CORE14_NME $CORE2_IS_START_FILES /ifs/data_dr/oaisys/std1/upper_core2/core2/$CORE2_IS_START_FILES $CORETSC_PRIM /ifs/data_dr/oaisys/std1/Data_CORETSC_PRIM $Clm_DataHFD_44 /ifs/data_dr/claim/std1/Clm_Data_Clm_DataHFD_44 $Core4_SCRATCH /ifs/data_dr/oaisys/std1/upper_core4/core4/Core4_SCRATCH -------------------------------------------------------------------------------------- Total: 10
在此範例中,當以 11 的限制重複相同的命令時,將顯示以下錯誤。這表示錯誤是清單中的第 11 個項目。
ClusterName# isi smb shares list --format=table --limit=11 'utf8' codec can't decode bytes in position 5-7: invalid data
在此示例中,至少找到一個具有無效 UTF8 編碼字元的條目,並且該條目按字母順序顯示在 $Core 4_SCRATCH 之後。
步驟 2 - 使用 WebUI 或記錄集,依字母順序尋找 $Core 4_SCRATCH 之後的下一個伺服器訊息區塊 (SMB) 共用。確認找到無效的共用名稱項目:
Name: $DTASTAGE Path: /ifs/data_dr/oaisys/std1/upper_ops2/ops2/$DTASTAGE Comment: Share Owner: Wendi Marceaü - LOB Desktop Architecture
在此示例中,請注意“註釋”部分包含字元“ü”。必須更正此問題才能解決此問題。進行變更並儲存共用。
步驟3 - 重複步驟1和步驟2,直到所有股票都可以成功上市 "isi smb shares list" 命令。