我喜欢这个想法使用 SSD EBS 实例存储作为 L2ARC 和 ZIL 用于由 EBS 支持的 zpool。
更进一步(进入更危险的领域),我是否可以创建一个带有两个实例存储的 zpool 镜像:
zpool create vol1 mirror xvdb xvdc
然后使用 ZFS 快照/复制在 EBS 上保持“温暖”/最终一致的备用?
- 我可以接受丢失几秒钟的数据
- 我不想将 EBS 添加为热备用,因为这会限制整个池的速度
答案1
我不会在镜像卷中混合使用如此不同的磁盘。我宁愿使用频繁的发送/接收迭代来获得主卷的一致、时间点备份。
答案2
我建议不要镜像驱动器。相反,创建 2 个 zpools,每个 zpools 一个驱动器,一个驱动器为临时驱动器,另一个驱动器为 EBS 驱动器。创建一个数据集,然后 zfs 以频繁的间隔从临时 zpool 快照发送到 EBS zpool。您可以在 zpool 在线时使用aws
cli 轻松扩展 EBS 驱动器和 zpool,以扩大 EBS 快照,fdisk
和parted
(zpool online -e
扩展)。使用快照轮换可以节省空间。例如,仅保留最近 24 小时的快照 - 如果您执行快照并以 10 分钟为间隔发送/接收,则您每天至少可以保留 144 个快照。
答案3
在我看来,如果您的备用数据写入 EBS(并且您对其进行了快照),并且您有一些故障转移场景,那么这是一个完全可以接受的设置,因为显然恢复您的实例存储会花费时间。
您所描述的实际上是我们在使用 EBS 之前的唯一设置。人们正是通过这种方式生存了多年。
最后,由于存在额外的故障风险,Netflix 放弃了 EBS 支持的磁盘。他们只是使用实例存储(使用 Casandra)进行复制。