如何在 Storage Gateway 上自动执行 RefreshCache 操作?

1 分钟阅读
0

我的 AWS Storage Gateway 文件网关上有网络文件系统 (NFS) 或服务器消息块 (SMB) 文件共享。文件网关与 Amazon Simple Storage Service (Amazon S3) 存储桶相关联。但是,当我将文件直接上传到存储桶时,我看不到我的文件共享中的文件。

解决方法

使用文件共享将文件写入本地缓存时,Storage Gateway 会自动更新文件共享缓存。但是,如果将文件直接上传到 Amazon S3 时,Storage Gateway 不会自动更新缓存。将文件直接上传到 Amazon S3 时,必须执行 RefreshCache 操作才能看到对文件共享的更改。

Storage Gateway 允许您根据生存时间 (TTL) 值自动执行 RefreshCache 操作。TTL 是自上次刷新以来的时间长度。当您在 TTL 值之后访问文件目录时,文件网关会刷新 Amazon S3 存储桶中该目录的内容。自动执行 RefreshCache 操作的有效 TTL 值范围从 300 秒到 2,592,000 秒不等。

**注意:**在您的 TTL 值到期后,文件网关会在文件夹级别发起 ListObjects Amazon S3 API 调用。如果您将 TTL 设置为较低的值,则 Amazon S3 API 请求和相关成本可能会增加。

您可以使用 Storage Gateway 控制台自动执行 RefreshCache 操作,也可以使用 UpdateNFSFileShareUpdateSMBFileShare Storage Gateway API 来执行此操作。对于这两个 API 调用,必须更新 CacheAttributes 参数并在 CacheStaleTimeoutInSeconds 中指定 TTL 值。

要使用该控制台,请完成以下步骤:

  1. 打开 Storage Gateway 控制台
  2. 选择 File shares(文件共享)。
  3. 选择要自动执行 RefreshCache 操作的文件共享。
  4. 选择 Actions(操作),然后选择 Edit file share settings(编辑文件共享设置)。
  5. Non-gateway file cache refresh time(非网关文件缓存刷新时间)下,选择 Set refresh interval(设置刷新间隔)。
  6. 以天、小时和分钟为单位设置时间,以使用 TTL 刷新文件共享的缓存。有效值介于 5 分钟到 30 天之间。
  7. 选择 Save(保存)。

要仅在一个时间点运行 RefreshCache,可以手动刷新缓存

完成刷新过程所需的时间取决于以下条件:

  • 网关上缓存的对象的数量。
  • 上次刷新后您在存储桶中添加或移除的对象的数量。

注意:刷新缓存时,即启动 RefreshCache。但是,文件刷新是一个单独的过程。您可以设置刷新缓存通知以获取文件刷新过程的更新。当您收到刷新完成通知时,文件刷新过程即已完成。

AWS 官方
AWS 官方已更新 23 天前