linux - 将 dd stdout 从 ec2 流式传输到 s3

标签 linux amazon-web-services amazon-s3 amazon-ec2 dd

试图在 EBS 快照上节省资金,因此我们的想法是手动复制文件系统(使用 dd)并手动存储在 S3 中以实现 IA 和 Glacier 的生命周期。

以下内容对于较小的文件(使用 1GB 进行测试)效果很好,但对于较大的文件(~800GB),在大约 40GB 后,一切都会变慢并且永远不会完成

sudo dd if=/dev/sdb bs=64M status=progress | aws s3 cp - s3://my-bucket/sdb_backup.img --sse AES256 --storage-class STANDARD_IA

从 m4.4xlarge 实例(16 个 vcpu,64GB RAM)运行此程序

不太确定为什么它会慢慢停止,或者这是否是解决此问题的最佳方法(在 s3 不频繁访问存储类上手动存储文件系统)

有什么想法吗?

谢谢!!

最佳答案

这不是一个好主意,因为快照是增量的,因此从接下来的几个手工制作的快照开始,您将花费更多的钱。

如果您仍然想要这种方式,请考虑分段上传( block 最多 5GB)。

关于linux - 将 dd stdout 从 ec2 流式传输到 s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45639224/

相关文章:

c - 如何在 C 中捕获进程输出?

linux - 如何在 linux 进程中找到属于堆的页面?

python - 无法将数据插入到使用 Python 代码中的触摸创建的空文件中

java - Java SDK中如何退出SQS读取

amazon-s3 - 替换 Amazon S3 中上传文件的字节

amazon-web-services - 将输出文件保存到 AWS S3 存储桶中

c# - Amazon S3 - 如何正确构建指向存储桶中对象的 URL?

c++ - 用不同版本编译的相同代码提供不同的结果

amazon-web-services - 如何在 CLI 中获取 ec2 实例状态?

amazon-web-services - AWS 弹性 Beanstalk : How to use environment variables in ebextensions?