【问题标题】:Unable to retrieve restored archive from AWS S3 'Invalid size value: 1g'无法从 AWS S3“无效的大小值:1g”检索恢复的档案
【发布时间】:2016-07-20 15:07:13
【问题描述】:

我有一个 430G 的对象,几个月前我使用生命周期策略从 S3 归档到 Glacier。我正在关注Archiving Amazon S3 Data to Amazon Glacier 博客和Transitioning to the GLACIER storage class (Object Archival)

在保留期内,您恢复的对象将同时保留在 Glacier 和 S3 的减少冗余存储 (RRS) 中...... 尽管对象存档在 Glacier 中,但您无法通过 Glacier API 访问它们......因为 Amazon S3 维护您的用户定义的对象名称和 Amazon Glacier 系统定义的标识符之间的映射,所以 Amazon S3 对象是使用 Amazon Glacier 选项存储的数据只能通过 Amazon S3 API 访问

我通过控制台将对象恢复到 S3(大约需要 5 小时)它说它可用,但是当我尝试使用 awscli 下载对象时,我不断收到错误“大小值无效:1g”

我正在尝试使用 aws s3 cp 命令(适用于其他对象)下载到 EC2 实例。此实例具有关联的角色,允许读取/写入该 S3 存储桶/文件夹。我还检查了 ubuntu 用户是否对我尝试下载对象的位置具有写入权限。

aws --version

aws-cli/1.10.17 Python/2.7.10 Linux/4.2.0-30-generic botocore/1.4.8

aws s3 cp s3://cab-arch/Backups/160211_Archive.tar 160211_Archive.tar

任何帮助将不胜感激,我找不到有关此特定错误的任何信息。

【问题讨论】:

  • 您显然混淆了术语... S3 将 对象 存档到冰川,并且在该上下文中不使用“保险库”术语。如果您使用的是aws s3 cp,请显示您的命令行,以便我们了解调用是否存在歧义,或者它是否实际上是我们 aws-cli 中的错误。
  • Looks like 它正在尝试将人类可读的大小转换为字节。无法想象为什么 aws s3 cp 命令会发生这种情况。是的,请显示您正在运行的 CLI 命令。
  • 我使用 boto3 编写了一个 python 脚本来下载对象,并且可以正常工作。我认为这可能是 awscli 中的一个错误,

标签: amazon-s3 amazon-ec2 docker aws-cli amazon-glacier


【解决方案1】:

事实证明,这实际上是由 docker bug 引起的。我尝试下载的文件系统以前已由 docker 容器挂载。尽管docker ps 没有显示任何正在运行的容器,但fd 命令显示该容器在该文件系统上仍有多个“打开”文件。我杀了 docker,一切又好了。 Info on this docker bug

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多