Google cloud platform GCE:持久启动磁盘

Google cloud platform GCE:持久启动磁盘,google-cloud-platform,google-compute-engine,google-persistent-disk,Google Cloud Platform,Google Compute Engine,Google Persistent Disk,对于GCE用户来说,一个简单的问题是:使用持久引导磁盘是否安全,或者是否可能发生数据丢失 我已经看到我可以附加额外的持久性磁盘,但是标准引导磁盘(也应该是持久性的)呢? 在维护、设备故障等过程中会发生什么?这些引导磁盘是否存储在具有内置冗余(raid等)的硬件上 换句话说,具有持久引导磁盘的计算实例是否类似于存储在本地RAID上的非云VM(从数据丢失的角度来看)? 通常云实例是易变的,崩溃、关机、维护等都会破坏存储的所有数据 显然,我会有备份。通常情况下,数据引导盘应该可以重启和其他维护操作。但

对于GCE用户来说,一个简单的问题是:使用持久引导磁盘是否安全,或者是否可能发生数据丢失

我已经看到我可以附加额外的持久性磁盘,但是标准引导磁盘(也应该是持久性的)呢? 在维护、设备故障等过程中会发生什么?这些引导磁盘是否存储在具有内置冗余(raid等)的硬件上

换句话说,具有持久引导磁盘的计算实例是否类似于存储在本地RAID上的非云VM(从数据丢失的角度来看)? 通常云实例是易变的,崩溃、关机、维护等都会破坏存储的所有数据


显然,我会有备份。

通常情况下,数据引导盘应该可以重启和其他维护操作。但默认情况下,它将随计算一起删除

如果使用托管实例组,则可抢占计算。。。如果需要持久数据,则应使用另一个存储系统。如果您只是使用原样计算,备份应该足够安全


我仍然认为增加一个永久磁盘或另一个存储系统是一种更好的方法。但这只是我的观点。

GCE持久磁盘的设计目的是持久性高可用性

持久磁盘是持久的网络存储设备,您的实例可以像桌面或服务器中的物理磁盘一样访问这些设备。每个持久磁盘上的数据分布在多个物理磁盘上计算引擎管理物理磁盘和数据分发,以确保冗余并优化性能。

(强调我自己,来源:)

在基于HDD或SSD的平台上,您可以选择分区区域(目前为公测版)永久磁盘对于启动磁盘,在撰写本文时,仅支持分区磁盘。

顾名思义,分区磁盘只能保证在单个分区内保存其数据;该区域的中断或故障可能导致数据不可用。对区域磁盘的写入将复制到一个区域中的两个区域,以防止任何一个区域中断。Google计算引擎控制台的“磁盘”部分将向您显示实例的引导磁盘是分区持久磁盘

不管持久性如何,显然明智的做法是将您自己的持久性磁盘备份保存在另一种存储形式中,以保护数据丢失的其他机制,例如应用程序损坏或操作员的用户错误。将持久磁盘的快照复制到其他区域;但是,如果父磁盘被删除,请注意它们的生命周期

除了查看上面链接的综合页面外,我建议查看相关的SLA文档,以确定为您提供的准确保证和服务级别

通常云实例是易变的,崩溃、关机、维护等都会破坏存储的所有数据


云模型确实更喜欢无状态的实例,可以随意替换。这提供了许多可伸缩性和健壮性优势,例如,可以使用托管实例组实现这些优势。但是,如果需要,您可以使用VM进行持久存储。

我已设置为在删除映像时不删除启动磁盘,并且我不使用可抢占映像。目前,AFAIK无法将启动磁盘设置为区域。我在创建新实例的地方读过这篇文章。@GandalfCorvotempesta的确,这是正确的。当区域磁盘不再是beta版时,这种情况可能会改变。您可以使用区域磁盘(现在是GA)作为引导磁盘,但不能直接从映像创建一个。您必须首先准备一个带有映像的磁盘,对其进行快照,然后将其恢复到区域设备中。也就是说,依我看,最好的设置是有一个小的启动盘(如果你想修改它,可能来自一个自定义映像),你通常不关心(也就是说,你可以在它上设置自动删除,如果你丢失了磁盘就可以了;你保留映像作为备份),然后将你的所有应用程序数据存储在一个或多个单独的数据盘上,注意:您可以使用通过任何方式创建的持久磁盘(空的,然后填充数据,从快照或从映像创建)来引导VM。当然,从图像创建是最常见的方法。以这种方式创建的磁盘应具有与普通持久磁盘相同的耐久性特征。所有持久性磁盘都以冗余方式存储(如RAID),因此用户看不到硬件故障和维护事件(以非常罕见的事件和bug为模)。本地SSD允许您访问VM上的单个物理SSD卡,并且在崩溃时不会(保证)持久。