如何正确管理 Jelastic 中的存储

How to properly manage storage in Jelastic

好的,另一个问题。 在 AWS 中,我有 EBS,它允许我创建卷,为它们定义 iops/size,安装到所需的 EC2 机器并拍摄快照。

如何在 Jelastic 中实现相同的功能?我可以选择创建 "Storage Container" 但它只属于一个环境。如何备份此卷?

此外,管理数据库等存储设备的最佳做法是什么?使用单独的存储容器?

I have option to create "Storage Container" but it belongs only to one environment.

是的,Storage Container 属于 1 个环境(您的其他环境的一部分,或者它自己的环境),但您可以将它安装在 1 个以上的其他容器中(即其他环境的容器内)。

您基本上可以认为存储容器与 AWS EBS 类似:它可以安装在同一区域环境中容器中您喜欢的任何位置(甚至多次)。

How can I backup this volume?

检查您的托管服务提供商的备份政策。在我们的案例中,我们免费为客户执行所有容器的备份。客户不需要自己进行额外的备份。不需要这些额外的费用和步骤...其他一些 Jelastic 提供商可能会有所不同,因此请与您选择的提供商核实。

如果你想自己做备份,你可以定义一个脚本来做,例如在 cron 中设置它。该脚本可以将存档传输到 S3 或任何你想要的东西。

what's the best practice of managing storage devices for things like databases?

就像 AWS 一样,如果您使用远程存储进行数据库访问,您可能会遇到性能问题。 Jelastic 通常应该为您提供比 EBS 更低的延迟,但即便如此我还是建议将您的数据库存储在本地(而不是通过存储容器)。

与 AWS EC2 不同,您没有本地存储消失的一般风险(即您的 Jelastic 容器本地存储 不是 短暂的;您可以安全地在那里写入数据并期待它要坚持不懈)。

如果您需要多个数据库节点,建议使用数据库软件级别的集群功能(例如主-主或主-从复制)而不是共享文件系统。

请记住,任何共享文件系统都是共享(单点)故障点。您在应用程序/软件便利性方面获得的好处也可能在可靠性/高可用性方面有所损失。通常值得在您的应用程序中采取额外步骤以另一种方式处理此问题,或者考虑使用 lsyncd(有 Jelastic 市场插件)来复制您的文件系统的一部分,而不是安装共享存储容器。