排查适用于企业和教育Microsoft连接缓存的问题

本文包含有关如何排查在使用连接缓存时可能遇到的不同问题的说明。 这些问题按可能遇到的任务进行分类。

已知问题

本部分介绍适用于企业和教育的Microsoft连接缓存的最新版本的已知问题。 有关最新版本中包含的修补程序的更多详细信息,请参阅 发行说明页

Azure 门户用户界面中的缓存节点监视图表显示不正确的信息

在配置为使用日语的Windows 11主机上执行脚本 provisionmcconwsl.ps1 失败

在连接缓存安装脚本 (provisionmcconwsl.ps1) 中,将执行检查处理,直到安装任务的最后一个执行代码 (“最后结果”) 的值在以下处理中变为 0。 但是,在日语 OS 中,返回值为 null,因为显示“最后结果”,并发生异常。

临时解决方法是,通过将本地管理员用户的语言设置从日语更改为英语,然后执行脚本,不会发生上述错误。

获取 Azure 订阅 ID 的步骤

  1. 登录到Azure 门户
  2. 选择“ 订阅”。 如果未看到 “订阅”,请在搜索栏中键入 “订阅 ”。 开始键入时,列表会根据输入进行筛选。
  3. 如果已有 Azure 订阅,请跳到步骤 5。 如果没有 Azure 订阅,请选择左上角的“ + 添加 ”。
  4. 选择“ 即用即付 ”订阅。 系统将要求输入信用额度卡信息,但使用Microsoft连接缓存服务无需付费。
  5. “订阅 ”页上,可以找到有关当前订阅的详细信息。 选择订阅名称。
  6. 选择订阅名称后,会在“ 概述 ”选项卡中找到订阅 ID。选择“订阅 ID”旁边的“ 复制到剪贴板” 图标以复制该值。

排查 Azure 资源创建问题

可以使用 Azure 门户 用户界面或 Azure CLI 命令集启动连接的缓存 Azure 资源创建

如果在资源创建过程中遇到错误,检查你拥有在订阅下创建 Azure 资源所需的权限,并在资源创建过程中填写了所有必填字段。

缓存节点配置故障排除

可以使用Azure 门户用户界面或 Azure CLI 命令集来配置连接的缓存节点

如果遇到验证错误,检查填写了所有必需的配置字段。

如果配置未生效,检查已在Azure 门户用户界面中的配置页面顶部选择了“保存”选项。

如果已更改代理配置,则需要在主机上重新预配连接的缓存软件,使代理配置生效。

对在早期预览期间创建的缓存节点进行故障排除

Microsoft连接缓存企业和教育版早期预览版 期间创建和部署的缓存节点应继续运行,但无法再通过连接的缓存 Azure 服务进行远程管理或监视。

因此,强烈建议 在 Azure 中重新创建现有资源 ,然后使用最新的特定于 OS 的安装程序 将连接的缓存软件重新部署到主机计算机

对 Windows 主机的缓存节点部署进行故障排除

收集 Windows 托管的安装日志

将连接的缓存节点部署到 Windows 主机计算机 涉及运行 Windows 预配包中包含的一系列 PowerShell 脚本。 默认情况下,这些脚本尝试将日志文件写入预配命令中指定的安装目录 (C:\mccwsl01\InstallLogs) 。

有三种类型的安装日志文件:

  1. WSL_Mcc_Install_Transcript:此日志文件记录运行安装脚本时打印到 PowerShell 窗口的行
  2. WSL_Mcc_Install_FromRegisteredTask_Status:此日志文件记录在注册任务安装期间写入的高级状态
  3. WSL_Mcc_Install_FromRegisteredTask_Transcript:此日志文件记录在注册任务安装期间写入的详细状态

已注册的任务脚本通常最适用于诊断安装问题。

收集其他 Windows 托管的日志

在 Windows 主机上成功安装缓存节点后,默认情况下,它会定期将日志文件写入安装目录, C:\mccwsl01\ (默认) 。

可以看到以下类型的日志文件:

  1. WSL_Mcc_Monitor_FromRegisteredTask_Transcript:此日志文件记录负责确保连接缓存继续运行的“MCC_Monitor_Task”计划任务的输出。
  2. WSL_Mcc_UserUninstall_Transcript:此日志文件记录“uninstallmcconwsl.ps1”脚本的输出,用户可以运行该脚本从主机计算机卸载 MCC 软件。
  3. WSL_Mcc_Uninstall_FromRegisteredTask_Transcript:此日志文件记录“uninstallmcconwsl.ps1”脚本调用时负责从主机计算机卸载 MCC 软件的“MCC_Uninstall_Task”计划任务的输出。

WSL2 安装失败,并显示消息“指定的登录会话不存在”

如果尝试在 Windows 主机上运行 PowerShell 命令 wsl.exe --install --no-distribution 时遇到此失败消息,请验证是否以本地管理员身份登录,并从提升的 PowerShell 窗口运行命令。

更新 WSL2 内核

如果连接的缓存安装由于 WSL 相关问题而失败,请尝试运行 wsl.exe --update 以获取最新版本的 WSL 内核。

检查连接的缓存容器是否正在运行

将连接的缓存软件成功部署到 Windows 主机计算机后,可以通过在 Windows 主机上执行以下操作来检查缓存节点是否正常运行:

  1. 在连接缓存安装期间,启动 PowerShell 进程作为指定为运行时帐户的帐户
  2. 运行 wsl -d Ubuntu-22.04-Mcc-Base 以访问托管连接缓存容器的 Linux 分发版
  3. 运行 sudo iotedge list 以显示在IoT Edge运行时中运行的容器

如果它显示 edgeAgentedgeHub 容器,但未显示 MCC,则可以使用 sudo iotedge system logs -- -f查看IoT Edge安全管理器的状态。

还可以使用 sudo systemctl restart iotedge重新启动IoT Edge运行时。

检查连接的缓存计划任务

连接缓存容器运行后,计划的任务将定期在连接的缓存运行时帐户下运行,以阻止 WSL 清理连接的缓存容器。

可以在主机上使用任务计划程序检查此计划任务的状态。

  1. 在主机上打开任务计划程序
  2. 导航到“活动任务”部分,然后双击 “MCC_Monitor_Task
  3. 选择计划任务 MCC_Monitor_Task
  4. 选择“ 触发器 ”选项卡,并确认“状态 ”为“已启用”

注意

如果运行时帐户的密码发生更改,则需要更新所有连接缓存计划任务中的用户,以便连接缓存节点继续正常运行。

已成功部署但未为请求提供服务的缓存节点

如果缓存节点未响应 localhost 外部的请求,则可能是因为在连接缓存安装期间未正确设置主机的端口转发规则。

若要检查主机的端口转发规则,请使用以下 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>

默认情况下,可以从“连接缓存预配”命令中指定的安装目录中的文件中检索 WSL IP 地址 wslip.txt (“c:\mccwsl01”) 。

对 Linux 主机的缓存节点部署进行故障排除

将连接的缓存节点部署到 Linux 主机计算机 涉及运行 Linux 预配包中包含的一系列 Bash 脚本。

将连接的缓存软件成功部署到 Linux 主机计算机后,可以通过在 Linux 主机上执行以下操作来检查缓存节点是否正常运行:

  1. 运行 sudo iotedge list 以显示在IoT Edge运行时中运行的容器

如果它显示 edgeAgentedgeHub 容器,但未显示 MCC,则可以使用 sudo iotedge system logs -- -f查看IoT Edge安全管理器的状态。

还可以使用 sudo systemctl restart iotedge重新启动IoT Edge运行时。

生成缓存节点诊断支持捆绑包

可以通过运行 collectMccDiagnostics.sh 安装包中包含的脚本来生成包含详细诊断信息的支持捆绑包。

对于 Windows 主机,需要执行以下操作:

  1. 在连接缓存安装期间,启动 PowerShell 进程作为指定为运行时帐户的帐户

  2. 将目录更改为提取的连接缓存预配包中的“MccScripts”目录,并验证是否存在 collectmccdiagnostics.sh

  3. 运行 wsl bash collectmccdiagnostics.sh 以生成诊断支持捆绑包

  4. 脚本完成后,记下描述诊断支持捆绑包位置的控制台输出

    例如,“已成功压缩包,请发送在 /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz 创建的文件”

  5. 运行 命令, wsl cp 将支持捆绑包从 Ubuntu 分发版中的位置复制到 Windows 主机 OS

    例如,wsl cp /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz /mnt/c/mccwsl01/SupportBundles

对于 Linux 主机计算机,需要执行以下操作:

  1. 将目录更改为提取的连接缓存预配包中的“MccScripts”目录,并验证是否存在 collectmccdiagnostics.sh

  2. 运行 collectmccdiagnostics.sh 以生成诊断支持捆绑包

  3. 脚本完成后,记下描述诊断支持捆绑包位置的控制台输出

    例如,“已成功压缩包,请发送在 /etc/mccdiagnostics/support_bundle_2024_12_03__11_05_39__AM.tar.gz 创建的文件”

缓存节点监视疑难解答

可以使用Azure 门户用户界面监视连接的缓存节点状态和性能。

如果“概述”选项卡上 的基本监视 视觉对象显示意外值或错误值,请刷新浏览器窗口。

如果问题仍然存在,检查已根据需要配置了“时间跨度”和“缓存”节点筛选器。

诊断和解决

还可以使用 Azure 门户 接口提供的“诊断和解决问题”功能。 Microsoft连接缓存 Azure 资源中的此选项卡将引导你完成一些提示,以帮助缩小问题的解决方案范围。