本文提供如何排除使用 Connected Cache 時可能遇到的不同問題的說明。 這些問題依照可能遇到的任務分類。
已知問題
本節說明最新版本 Microsoft Connected Cache for Enterprise and Education 的已知問題。 請參閱 發布說明頁面 ,了解最新版本中包含的修正細節。
在「Metrics」標籤下的範圍選擇中缺少 Connected Cache Azure 資源
你可以在 Connected Cache Azure 入口網站中,選擇 Connected Cache Azure 資源的監控區塊下的「指標」標籤,建立自訂圖表。 Connected Cache Azure 資源預設被正確選擇為範圍,但若更改所選範圍,將無法重新選取 Connected Cache Azure 資源,導致無法後續建立自訂圖表。
暫時的變通方法是,你可以先離開 指標 分頁,再回到那裡。 連接快取 Azure 資源再次正確被選為範圍。
importCert.ps1 限制
此 importCert.ps1 腳本用於將憑證匯入 Windows 憑證儲存,作為 Windows 託管快取節點 HTTPS 設定流程的一部分。 此腳本目前不支援部署於 Windows Server 2022 或 Windows Server 2025 的快取節點,且使用 gMSA 連接快取執行時帳號。
連接快取 Windows 安裝程式的限制
連接快取 Windows 安裝程式是一個用於部署連接快取到 Windows 主機的 MSIX 套件。 安裝程式目前不支援 Windows Server Core。
最新版本已修補
- 當 Windows 主機設定非 EN 區域時,連接快取安裝會失敗。
- Windows 託管的連接快取節點可以成長超過其設定的快取磁碟容量。
取得 Azure 訂閱 ID 的步驟
- 登入 Azure 入口網站。
- 選擇訂閱。 如果你找不到訂閱,請在搜尋欄輸入訂閱。 開始輸入時,清單會根據你的輸入篩選。
- 如果你已經有 Azure 訂閱,請跳到步驟 5。 如果你沒有 Azure 訂閱,請在左上角選擇 + 新增。
- 選擇 按用量付費 訂閱。 你會被要求輸入信用卡資訊,但使用 Microsoft Connected Cache 服務不會被收費。
- 在 訂閱 頁面,您可以找到目前訂閱的詳細資訊。 選擇訂閱名稱。
- 選擇訂閱名稱後,你會在 「概覽 」標籤中找到訂閱 ID。在訂閱 ID 旁選擇 「複製到剪貼簿 」圖示以複製該數值。
故障排除 Azure 資源創建
連接 Cache Azure 資源建立可以透過 Azure 入口網站的使用者介面或 Azure CLI 指令集啟動。
如果你在建立資源時遇到錯誤,請檢查你是否擁有在訂閱下建立 Azure 資源所需的權限,並且在建立資源過程中填寫了所有必填欄位。
快取節點設定故障排除
連接快取節點的設定可以透過 Azure 入口網站的使用者介面或 Azure CLI 指令集來完成。
如果你遇到驗證錯誤,請檢查你是否填寫了所有必要的設定欄位。
如果你的設定似乎沒有生效,請檢查你是否在 Azure 入口網站的設定頁面頂端選擇了儲存選項。
如果你更改了代理設定,你需要在主機上重新部署 Connected Cache 軟體,代理設定才會生效。
如何排除快取節點部署到 Windows 主機的問題
收集 Windows 主機安裝日誌
將連接快取節點部署到 Windows 主機 上,需要執行一系列包含在連接快取 Windows 應用程式中的 PowerShell 腳本。 這些腳本嘗試將日誌檔寫入連接快取應用程式的腳本目錄,該目錄由 deliveryoptimization-cli mcc-get-scripts-path.
安裝日誌檔案有三種類型:
- WSL_Mcc_Install_Transcript:這個日誌檔記錄執行安裝腳本時列印到 PowerShell 視窗的行數
- WSL_Mcc_Install_FromRegisteredTask_Status:此日誌檔案記錄在註冊任務安裝期間寫入的高階狀態
- WSL_Mcc_Install_FromRegisteredTask_Transcript:此日誌檔案記錄在註冊任務安裝過程中寫入的詳細狀態
註冊任務逐字稿通常是診斷安裝問題最有用的工具。
收集其他 Windows 主機日誌
快取節點成功安裝於 Windows 主機後,會定期將日誌檔案寫入安裝目錄,預設 (C:\mccwsl01\) 。
你可以預期會看到以下類型的日誌檔案:
- WSL_Mcc_Monitor_FromRegisteredTask_Transcript:此日誌檔記錄負責確保已連接快取持續運行的「MCC_Monitor_Task」排程任務的輸出。
- WSL_Mcc_UserUninstall_Transcript:此日誌檔案記錄使用者可執行的「uninstallmcconwsl.ps1」腳本輸出,以從主機卸載連接快取軟體。
- WSL_Mcc_Uninstall_FromRegisteredTask_Transcript:此日誌檔案記錄負責在「uninstallmcconwsl.ps1」腳本呼叫時,負責從主機卸載連接快取軟體的「MCC_Uninstall_Task」排程任務的輸出。
將 PowerShell 程序作為 Connected Cache 執行時帳號釋放
要在 Windows 主機上排查 Connected Cache 軟體的問題,可能需要以 Connected Cache 執行時帳號執行指令。 你可以透過在 Connected Cache 安裝時指定的執行時帳號啟動 PowerShell 程序來達成。
如果執行時帳號是本地帳號,你可以在升格的 PowerShell 視窗中執行以下指令,以執行時帳號啟動 PowerShell 程序:
Start-Process powershell.exe -Credential (Get-Credential "<RuntimeAccountName>") -ArgumentList '-NoExit'如果執行時帳號是網域或服務帳號,你可以在提升的 PowerShell 視窗中執行以下指令,以執行時帳號啟動 PowerShell 程序:
Start-Process powershell.exe -Credential (Get-Credential "<Domain>\<RuntimeAccountName>") -ArgumentList '-NoExit'若執行時帳號是群組管理服務帳號 (gMSA) ,您必須使用 PsExec 在升格的 PowerShell 視窗中執行以下指令,以執行時帳號啟動 PowerShell 程序:
psexec.exe -i -u <DOMAIN\GmsaAccountName$> -p ~ powershell.exe
檢查 Connected Cache 容器是否正在執行
當連接快取軟體成功部署到 Windows 主機後,你可以透過以下步驟檢查快取節點是否正常運作:
- 在 Connected Cache 安裝時,以指定的執行時帳號啟動 PowerShell 程序
- 執行
wsl -d Ubuntu-24.04-Mcc以存取承載 Connected Cache 容器的 Linux 發行版 - 執行
sudo iotedge list以顯示 IoT Edge 執行時中正在運行的容器
如果顯示 edgeAgent 和 edgeHub 容器,但沒有顯示 MCC,你可以用 sudo iotedge system logs -- -f來查看 IoT Edge 安全管理員的狀態。
你也可以用 sudo systemctl restart iotedge. 重新啟動 IoT Edge 執行環境。
連接快取安裝在快取節點註冊時失敗
作為 Windows 主機安裝過程的一部分,連接快取會嘗試透過呼叫註冊端 geomcc.prod.do.dsp.mp.microsoft.com點來向傳遞優化服務註冊。 此呼叫源自承載已連接快取容器的 WSL2 發行版,且必須成功才能安裝快取節點。
為了排除連線問題,你可以嘗試從提升的 PowerShell 視窗中以 Connected Cache 執行時帳號執行以下指令。
首先,存取承載已連接快取容器的 WSL2 發行版:
wsl -d Ubuntu-24.04-Mcc
接著執行以下 bash 指令來檢查註冊端點的 DNS 解析:
nslookup geomcc.prod.do.dsp.mp.microsoft.com
檢查 TCP 連線 (443 埠,確認註冊端點的 HTTPS) :
nc -vz geomcc.prod.do.dsp.mp.microsoft.com 443
檢查註冊端點的 HTTPS 回應:
curl -v https://geomcc.prod.do.dsp.mp.microsoft.com
MCC_Install_Task排程任務無法執行
Windows 主機上的連接快取安裝依賴「MCC_Install_Task」排程任務,作為指定的連接快取執行時帳號執行安裝操作。 如果此任務無法執行,可能是以下原因之一。
群組原則物件與排程任務註冊衝突
啟用群組原則物件:網路存取:不允許儲存密碼與憑證以進行網路認證,將阻止連接快取軟體註冊成功快取節點註冊與運作所需的排程任務。
MCC 執行時帳號沒有權限以批次工作登入
請確保你已授權 Connected Cache 執行時帳號「以批次工作登入」權限。 此權限是 Connected Cache 執行時帳號執行排程任務所必需的。
企業安全政策阻止執行 PowerShell 腳本
確保 Windows 主機上的 PowerShell 執行政策允許執行腳本。 你可以在升高的 PowerShell 視窗中執行以下指令來檢查目前的執行策略:
Get-ExecutionPolicy
WSL2 安裝失敗,顯示「指定的登入會話不存在」
如果你在 Windows 主機上執行 PowerShell 指令 wsl.exe --install --no-distribution 時遇到這個失敗訊息,請確認你是以本地管理員身份登入,並且是在提升的 PowerShell 視窗執行該指令。
更新 WSL2 核心
如果 Connected Cache 安裝因 WSL 相關問題而失敗,請嘗試執行 wsl.exe --update 以取得最新版本的 WSL 核心。
排程MCC_Monitor_Task任務無法執行
當連接快取容器運行時,MCC_Monitor_Task排程任務會定期在連接快取執行時帳號下執行,以防止 WSL 停止連接快取 WSL 的分發。 如果你的快取節點在沒有任何使用者操作的情況下離線,可能是因為「MCC_Monitor_Task」排程任務無法正常執行。
你可以在主機上使用任務排程器來檢查這個排程任務的狀態。
- 在主機上開啟任務排程器
- 請前往「活躍任務」區塊,雙擊點擊 MCC_Monitor_Task
- 請檢查最後執行時間和最後執行結果欄位,看看操作是否成功完成。
- 選擇「 觸發器 」標籤並確認狀態是否 已啟用
- 選擇 「歷史」 標籤,檢查是否有與任務執行相關的錯誤或警告。
如果 MCC_Monitor_Task 無法成功執行,可能是因為 Connected Cache 執行時帳號的憑證過期。 在這種情況下,你可以用腳 updatetaskpasswords.ps1 本更新憑證。
以管理員身份開啟一個 PowerShell 程序。
將目錄改為腳本目錄並確認
updatetaskpasswords.ps1。- 如果你是使用 Public Preview 部署套件安裝 Connected Cache,腳本目錄會位於原始部署指令中指定的 installationFolder ( 預設) “C:\mccwsl01\MccScripts”。
- 如果你使用 Windows 應用程式安裝了 Connected Cache,腳本目錄位於
deliveryoptimization-cli mcc-get-scripts-path。
建立一個名為
$myLocalAccountCredentialPSCredential 的物件,代表已連接快取執行時帳號,並使用新密碼。請用以下指令執行腳
updatetaskpasswords.ps1本:.\updatetaskpasswords.ps1 -Credential $myLocalAccountCredential
快取節點成功部署,但尚未處理請求
如果你的快取節點無法回應 localhost 以外的請求,可能是因為主機在安裝 Connected Cache 時,埠轉發規則沒有正確設定。 由於 WSL2 預設使用虛擬化乙太網路介面卡,因此需要埠轉發規則,才能讓流量從你的 LAN 傳送到 WSL2 實例。 欲了解更多資訊,請參閱 使用 WSL 存取網路應用程式。
要檢查主機的埠轉發規則,請使用以下 PowerShell 指令。
netsh interface portproxy show v4tov4
如果你沒有看到 80 埠轉 0.0.0.0 的埠轉發規則,你可以從提升的 PowerShell 實例執行以下指令,將正確的轉發設定為 WSL。
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=<WSL IP Address>
你可以從 wslip.txt 預設) 連接快取應用程式安裝目錄中應該存在的檔案中取得 WSL IP 位址 (C:\mccwsl01 。
缺少 WSL 埠轉發規則 (443,5000)
為了成功配置你的 Windows 託管快取節點支援 HTTPS,你必須建立一個埠轉發規則,將流量從主機的 443 埠轉接到 WSL2 發行版的 443 埠,該 WSL2 發行版是承載 Connected Cache 容器的。
若要遠端存取你 Windows 所託管快取節點的簡潔摘要頁面,你必須建立一個埠轉發規則,將流量從主機上的埠 5000 轉接到承載已連接快取容器的 WSL2 發行版的埠 5000。
你可以在完成快取節點部署後,透過在升高的 PowerShell 視窗執行以下指令來建立這些埠轉發規則。
$ipFilePath = Join-Path ([System.Environment]::GetEnvironmentVariable("MCC_INSTALLATION_FOLDER", "Machine")) "wslIp.txt"
$ipAddress = (Get-Content $ipFilePath | Select-Object -First 1).Trim()
netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=$ipAddress
netsh interface portproxy add v4tov4 listenport=5000 listenaddress=0.0.0.0 connectport=5000 connectaddress=$ipAddress
你還需要確保主機的防火牆允許 443 和 5000 埠的入站流量。 你可以在提升的 PowerShell 視窗中執行以下指令來達成:
[void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort "443")
[void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Outbound -Action Allow -Protocol TCP -LocalPort "443")
[void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (MCC SUMMARY)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort "5000")
快取節點部署到 Windows 失敗,顯示「ERROR: 無法驗證憑證」
如果您在快取節點部署時遇到錯誤,顯示「ERROR: 無法驗證憑證」,可能是因為網路的 TLS 檢查代理 ((例如 ZScaler)) 攔截了連接快取軟體與交付優化服務之間的通訊。 此攔截會中斷憑證鏈,阻止 Connected Cache 成功部署。
為了解決這個問題,你必須設定網路環境,允許與「*.prod.do.dsp.mp.microsoft.com」之間的通話,以 繞過 TLS 檢查代理。
你也必須設定快取節點的 代理設定 ,然後將代理憑證檔案 (.pem) 放入你想要的 安裝資料夾 路徑,並在部署指令中加入 -proxyTlsCertificatePemFileName "mycert.pem" 。 例如,將 .pem 檔案放入 C:\mccwsl01\mycert.pem 並新增 -proxyTlsCertificatePemFileName "mycert.pem" 到部署指令中。
如何排除快取節點部署到 Linux 主機的問題
將連接快取節點部署到 Linux 主機 時,需執行一系列包含在 Linux 部署套件中的 Bash 腳本。
當 Connected Cache 軟體成功部署到 Linux 主機後,你可以透過在 Linux 主機上執行以下操作來檢查快取節點是否正常運作:
- 執行
sudo iotedge list以顯示 IoT Edge 執行時中正在運行的容器
如果顯示 edgeAgent 和 edgeHub 容器,但沒有顯示 MCC,你可以用 sudo iotedge system logs -- -f來查看 IoT Edge 安全管理員的狀態。
你也可以用 sudo systemctl restart iotedge. 重新啟動 IoT Edge 執行環境。
注意
在重新部署 Linux 快取節點並將其遷移到 GA 發佈容器後,使用者必須執行 chmod 777 -R /cachedrivepath 並重新啟動連接快取容器 sudo iotedge restart MCC。
否則重新部署的節點會正常運作,但內容請求會失敗。
快取節點部署至 Linux 失敗,出現「ERROR: 無法驗證憑證」
如果您在快取節點部署時遇到錯誤,顯示「ERROR: 無法驗證憑證」,可能是因為網路的 TLS 檢查代理 ((例如 ZScaler)) 攔截了連接快取軟體與交付優化服務之間的通訊。 此攔截會中斷憑證鏈,阻止 Connected Cache 成功部署。
為了解決這個問題,你必須設定網路環境,允許與「*.prod.do.dsp.mp.microsoft.com」之間的通話,以 繞過 TLS 檢查代理。
你也必須設定快取節點的 代理設定 ,然後將代理憑證檔案 (.pem) 放入解壓的部署套件目錄,並在部署指令中新增 proxytlscertificatepath="/path/to/pem/file" 。
產生快取節點診斷支援套件
你可以透過執行 collectMccDiagnostics.sh 安裝套件中附帶的腳本,產生包含詳細診斷資訊的支援套件。
對於 Windows 主機,你需要做以下幾件事:
在 Connected Cache 安裝時,以指定的執行時帳號啟動 PowerShell 程序
將目錄變更為 Connected Cache 應用程式安裝目錄中的「MccScripts」目錄, (由
deliveryoptimization-cli mcc-get-scripts-path) 指定並確認collectmccdiagnostics.sh執行
wsl bash collectmccdiagnostics.sh以產生診斷支援套件腳本完成後,請注意主控台輸出中描述診斷支援套件位置的說明
例如,「成功壓縮套件,請發送在 /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz 建立的檔案」
執行
wsl cp指令,將支援套件從 Ubuntu 發行版內的地點複製到 Windows 主機作業系統比如
wsl cp /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz /mnt/c/mccwsl01/SupportBundles/
對於 Linux 主機,你需要做以下幾件事:
將目錄變更為解壓後的 Connected Cache 部署套件中的「MccScripts」目錄,並確認
collectmccdiagnostics.sh執行
collectmccdiagnostics.sh以產生診斷支援套件腳本完成後,請注意主控台輸出中描述診斷支援套件的位置
例如,「成功壓縮套件,請發送在 /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz 建立的檔案」
HTTPS 設定故障排除
如果您的憑證授權中心 (CA) 只能產生 .pem 或 .cer 格式的簽署憑證,您可以將憑證檔案的副檔名改為 .crt,前提是該檔案是 Base64 編碼。
快取節點監控故障排除
連接的快取節點狀態與效能可透過 Azure 入口網站使用者介面監控。
如果概覽標籤中 的基本監控 視覺顯示出意外或錯誤的值,請重新整理瀏覽器視窗。
如果問題依舊,請檢查你是否已設定好時間跨度和快取節點過濾器。
診斷與解決
你也可以使用 Azure 入口網站介面提供的診斷與解決問題功能。 Microsoft Connected Cache Azure 資源中的這個分頁會引導你完成幾個提示,幫助你縮小解決方案範圍。