您可以结合使用 Super Slurper 和 Sippy,以最小停机时间有效迁移所有对象。
- 启用 Sippy 并在应用程序中使用 R2 存储桶。
- 这会在应用程序请求对象时,按需将对象从之前的存储桶复制到 R2 存储桶。
- 新上传将写入 R2 存储桶。
- 使用 Super Slurper 触发一次性迁移,将剩余对象复制到 R2 存储桶。
- 在 Destination R2 bucket(目标 R2 存储桶) > Overwrite files?(是否覆盖文件?) 中,选择 Skip existing(跳过已有文件)。
- 使用 Super Slurper 将所有对象复制到 R2 存储桶。
- 注意:Super Slurper 在列出要复制的对象后,可能会跳过之后上传的某些对象。
- 在 R2 存储桶上启用 Sippy,然后在应用程序中使用 R2 存储桶。
- 新上传将写入 R2 存储桶。
- Super Slurper 复制对象期间上传的对象,将在应用程序请求时按需复制(由 Sippy 完成)。
对于每个账户,您可以同时运行三个 Slurper 迁移作业,每个 Slurper 迁移作业每秒可处理一定数量的请求。
为提高整体吞吐量和可靠性,建议使用前缀(或存储桶子路径)选项将迁移拆分为多个并发作业。
创建迁移作业时:
- 进入 Source bucket 步骤。
- 在 Define rules(定义规则) 下的 Bucket subpath(存储桶子路径) 中,指定子路径以按前缀划分数据。
- 完成数据迁移设置。
例如,假设源存储桶包含:
- photos
- 2024
- file1.jpg
- file2.jpg
- 2023
- file3.jpg
- 2019
- file4.jpg
- 2024
您可以创建带有以下前缀的独立作业:
/photos/2024迁移所有 2024 年的文件/photos/202迁移 2023 和 2024 年的所有文件
每个前缀作为独立的迁移作业运行,使 Slurper 能够并行传输数据。这提高了总传输速度,并确保一个作业的失败不会中断其他作业。