Google cloud platform GCP:是否有区域磁盘';在操作系统fsync之前跨区域写入复制?

Google cloud platform GCP:是否有区域磁盘';在操作系统fsync之前跨区域写入复制?,google-cloud-platform,google-compute-engine,fsync,Google Cloud Platform,Google Compute Engine,Fsync,区域永久性磁盘为 可能没有应用程序级复制的工作负载 如果VM在磁盘写入之后但在fsync之前崩溃,那么该数据是否丢失 何时将磁盘写入复制到另一个区域中的副本磁盘 注意:虚拟机操作系统是默认的Ubuntu,带有默认的文件系统。写入的数据会复制到另一个区域 回答您的问题-在fsync之后 操作系统或应用程序缓冲区中剩余的数据不会被复制——因此,如果发生区域性中断,这些数据将丢失 引用@John Hanley的话: 确切答案取决于您(应用程序)的写入方式 设置(直写或后写)。通常,Linux缓存写操作

区域永久性磁盘为 可能没有应用程序级复制的工作负载

如果VM在磁盘写入之后但在
fsync
之前崩溃,那么该数据是否丢失

何时将磁盘写入复制到另一个区域中的副本磁盘


注意:虚拟机操作系统是默认的Ubuntu,带有默认的文件系统。

写入的数据会复制到另一个区域

回答您的问题-在
fsync
之后

操作系统或应用程序缓冲区中剩余的数据不会被复制——因此,如果发生区域性中断,这些数据将丢失

引用@John Hanley的话:


确切答案取决于您(应用程序)的写入方式 设置(直写或后写)。通常,Linux缓存写操作 并定期将缓存刷新到磁盘(fsync是其中之一 (方式)


确切答案取决于您(应用程序)的写入设置(直写或后写)。通常,Linux缓存写在内存中,并定期将缓存刷新到磁盘(fsync是一种方式)。存储在内存中的任何内容都将丢失。换句话说,答案取决于应用程序的设计方式。一些应用程序将数据缓存在应用程序的内存中,然后写入操作系统,操作系统再写入磁盘。这些步骤中的每一步都是异步的,并且可能会丢失数据。我的理解是,数据有3个位置:(A.保存在磁盘上,B.在操作系统缓冲区中,C.在write fn调用之前在应用程序内存中)。问题是,对于步骤A或步骤B中的状态,是否会发生区域磁盘复制?我猜是第A步,但并没有文档,我的理解是,数据一旦写入磁盘,就被谷歌复制了。您的问题是应用程序和操作系统何时写入磁盘。这个链接可能会帮助你:谢谢@JohnHanley这个链接很有用