google 计算虚拟机是否具有高可用性?

Is a google compute virtual machine highly available?

所以我在 google 计算上有一个云虚拟机,这是否意味着它本质上具有高可用性?如果 VM 运行 在 GCE 的单个硬件上,如果硬件损坏,则 VM 可能会宕机。 VM 运行 是否在某种 RAID 上,但用于服务器?因此,如果其中一台机器出现故障,另一台机器将启动并继续 运行 虚拟机?谢谢

机器本身高可用。但是,Google 采取了几个步骤来提高可靠性:

  • 存储被复制并且独立于 VM 运行 所在的物理机器(显然不适用于本地 SSD)。这意味着即使物理机着火,也只是 "runtime" 状态丢失,但附加的磁盘完好无损。
  • VM 可以实时迁移。 This is a setting you can control。如果启用,VM 将在维护事件时迁移到不同的物理机器。当内存等同步到另一台主机但机器没有关闭/重新启动时,实时迁移可能会导致短暂的性能下降。
  • 即使物理主机突然死机,您也可以将您的实例设置为在新机器上自动重启。如果您计划使用此模式,请确保您的实例能够在无需人工干预的情况下干净地启动至服务状态。

如果您需要高可用性,最好的方法是将您的实例分布在同一区域的区域中,并在 Google 的网络架构上使用 network or HTTP(S) loadbalancer. These will automatically stop sending traffic to a machine in case it becomes unhealthy. Also see this short youtube video 以获取更多信息。

为了应用程序数据的高可用性,有一些高可用性选项,例如面向文件的数据 Datastore for database-like usage and Cloud Storage。请记住,Cloud SQL 也在一台 instance/physical 机器上运行,这意味着您必须设置 slaves/replicas 以获得高可用性。但是,如果您愿意自己维护它们,您也可以在普通 Compute Engine 实例上使用您最喜欢的数据库系统来做到这一点。