对持久存储问题进行故障排除 - 亚马逊 AppStream 2.0

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对持久存储问题进行故障排除

亚马逊 AppStream 2.0 支持以下永久存储选项:主文件夹、G Suite 的 Google 云端硬盘和 OneDrive 企业版。由于这些持久存储解决方案的内容同步行为是一致的,因此我们建议您查看主文件夹内容同步有关预期行为的信息。

以下是您或您的用户使用 AppStream 2.0 永久存储时可能出现的问题。

我的堆栈的主文件夹无法正常工作。

在以下情况下,向 S3 存储桶备份主文件夹可能出现问题:

  • 没有来自流媒体实例的互联网连接,或者无法访问私有 Amazon S3 VPC 终端节点(如果适用)。

  • 网络带宽消耗太多。例如,当服务尝试将包含大文件的主文件夹备份到 Amazon S3 时,用户正在下载或传输多个大文件。

  • 管理员删除了服务创建的存储桶。

  • 管理员错误地编辑了AmazonAppStreamServiceAccess服务角色的 Amazon S3 权限。

有关更多信息,请参阅 Amazon Simple Storage 服务用户指南Amazon Simple Storage 服务用户指南

我的用户无法从我们的应用程序之一访问其主文件夹目录。

有些应用程序无法识别在文件资源管理器中将主文件夹显示为顶级文件夹的重定向。如果出现这种情况,用户可在流会话期间在应用程序内通过从应用程序界面中选择 File Open (打开文件) 并浏览至以下任一目录来访问其主文件夹:

  • Non-domain-joined Windows 实例:C:\UsersPhotonUser\\ 我的文件\ 主文件夹

  • 加入域名的 Windows 实例:C:\Users\ %username%\ My Files\ Home Folder

  • Linux 实例:~/MyFiles/HomeFolder

我在 Amazon S3 中删除或替换了用户主文件夹中的文件,但我的用户在流媒体会话期间看不到队列实例上的主文件夹中的更改。

存储在 S3 存储桶用户主文件夹中的内容与队列实例上用户在流媒体会话期间可用的内容之间的差异可能是由于存储在 Amazon S3 存储桶中的主文件夹内容与存储在 AppStream 2.0 队列实例上的主文件夹内容同步的方式所致。

在用户 AppStream 2.0 流媒体会话开始时,2.0 会对存储在您的Amazon Web Services 账户和区域的 Amazon S3 存储桶中的用户主文件夹文件进行分类。 AppStream 当用户使用流媒体应用程序在其队列实例的主文件夹中打开文件时, AppStream 2.0 会将文件下载到队列实例。

用户在活动流式传输会话期间对队列实例上的文件所做的更改每隔几秒钟或在用户的流式传输会话结束时上传到 S3 存储桶中的主文件夹。

如果用户在流式传输会话期间在队列实例的主文件夹中打开文件,然后在不进行任何更改或保存文件的情况下关闭该文件,并且您在流式传输会话期间从 S3 存储桶中该用户的主文件夹中删除该文件,则如果用户刷新该文件夹,则该文件将从队列实例中删除。如果用户修改文件并将文件保存在本地,则在当前流式传输会话期间,该文件仍可供用户在舰队实例上使用。此时还将文件再次上传到 S3 桶。但是,在下一次流式传输会话中,用户在舰队实例上可能会使用该文件,也可能不可用。

在用户的下一次流式传输会话期间,队列实例上文件的可用性取决于用户是在您更改 S3 存储桶中的文件之前还是之后在队列实例上更改了文件。

有关更多信息,请参阅主文件夹内容同步

永久存储没有按预期运行。我的用户文件保存到永久存储所花费的时间比预期的要长。

在 AppStream 2.0 流式传输会话期间,将与计算密集型应用程序关联的大文件和目录保存到永久存储所花费的时间可能比保存基本生产力应用程序所需的文件和目录要长。例如,与保存执行单个写入操作的应用程序创建的文件相比,应用程序保存大量数据或频繁修改相同文件所花费的时间可能更长。保存许多小文件也可能需要更长的时间。

如果您的用户保存了与计算密集型应用程序相关的文件和目录,并且 AppStream 2.0 永久存储选项的性能未达到预期,我们建议您使用服务器消息块 (SMB) 解决方案,例如 Amazon FSx for Windows File Server 或AWS Storage Gateway文件网关。以下是与计算密集型应用程序相关的文件和目录的示例,这些应用程序更适合与这些 SMB 解决方案一起使用:

  • 集成开发环境 (IDE) 的工作区文件夹

  • 本地数据库文件

  • 由图形模拟应用程序创建的暂存空间文件夹

有关更多信息,请参阅:

注意

在继续进行进一步的故障排除之前,请首先确保您的用户在保存文件和目录时遇到的问题仅与 AppStream 2.0 永久存储有关,而不是其他原因。要排除其他原因,请让您的用户尝试将文件或目录保存到其流媒体实例上可用的临时文件目录中。

我的用户在文件未被使用时会收到错误消息,即文件已经在使用中。

这种行为通常发生在以下情况下:

  • 上次保存文件后用户文件仍在上传时

  • 经常修改的文件(例如,数据库文件)

上传大文件可能需要很长时间。此外,每次尝试上传文件都可能导致另一次文件更新,从而导致重复尝试上传文件。

要解决此问题,我们建议您使用服务器消息块 (SMB) 解决方案,例如适用于 Windows 文件服务器的 Amazon FSx 或AWS Storage Gateway文件网关。有关更多信息,请参阅:

当一个文件夹包含数千个文件时, AppStream 2.0 可能需要很长时间才能显示文件列表。

AppStream 2.0 使用 API 调用来检索存储在 AppStream 2.0 永久存储中的文件夹的内容。每次运行调用时,API 调用可以检索的项目数量是有限制的。因此,如果 AppStream 2.0 必须检索单个文件夹中的数千个文件,则显示所有文件列表所花费的时间可能比显示包含较少文件的文件夹中的文件列表所花费的时间长。

要解决此问题,如果您的一个文件夹中有数千个文件,我们建议您将这些内容分成几个文件组,每组文件存储在不同的文件夹中。这样做可以减少显示每个文件夹中文件列表所需的 API 调用次数。