簡體   English   中英

如果寫入並行進行,則計划快照在Google Cloud中是否會對(實例磁盤/快照磁盤)有影響?

[英]In Google Cloud does Schedule Snapshots have any impact on (instance disk/snapshot disk) if writes are going on parallely?

我正在嘗試為我的GCP實例安排快照,我只是想知道快照數據或實際磁盤數據是否有可能損壞/或將受到任何影響。 我的意思是假設我正在創建快照,同時正在進行一些寫操作,如何確保這不會在實際磁盤或快照中引起任何錯誤?

答案取決於您的操作系統。

Microsoft Windows Server支持快照。 Windows將停止文件系統活動並准備快照。 在操作系統運行時,這是一種安全的操作。

拍攝快照時,Linux並沒有做任何特別的事情(不添加第三方軟件)。 這意味着在操作系統運行時,Linux上的快照並不安全。 關閉操作系統,然后對磁盤進行快照或映像並重新啟動實例。

除非操作系統對快照進行特殊處理,否則打開的文件,緩存,數據庫句柄等將存儲在內存中。 此數據不是快照的一部分。 因此,在某些情況下,這將導致快照不一致。 這意味着數據損壞。

Google不建議使用實時系統快照。 AWS或Azure都沒有。

由於持久性磁盤的快照不是瞬時的,因此並行寫入可能會破壞操作。

通常,請按照以下步驟進行安全的快照過程:

  1. 快照前刷新磁盤緩沖區
  2. 凍結和卸載文件系統
  3. 拍攝快照
  4. 重新安裝永久磁盤

這些最佳做法由Google Cloud直接推薦,並描述如下: https : //cloud.google.com/compute/docs/disks/snapshot-best-practices

是的,建議您在創建快照之前先停止實例,但是根據我的經驗,如果實例仍在運行; 它的I / O似乎沒有受到影響。 但是快照中的實際信息可能已損壞。

切記要按計划快照查看項目的配額,而成本將與網絡流量有關。

我為您提供了有關時間表快照的更多信息的鏈接: https : //cloud.google.com/compute/docs/disks/scheduled-snapshots

沒有。

拍攝快照時對永久磁盤性能沒有影響。

快照將保留所有已完成的IO操作,直到拍攝快照的時間點為止。 但是,根據您使用的應用程序,它可能處於不一致狀態。 例如,如果您使用innodb_flush_log_at_trx_commit = 2運行MySQL,則可能會丟失一些數據,因為某些事務在被確認為應用程序之前可能未刷新為PD。

如果使用innodb_flush_log_at_trx_commit = 0 (默認值)運行MySQL,則理論上它應該能夠進行崩潰恢復並還原所有提交的轉換。 實際上,應用程序和文件系統中可能存在錯誤,因此建議您定期測試恢復過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM