当我运行此命令时,它第一次创建完整的磁盘快照:
gcloud compute disks snapshot mydisk1 –-zone=asia-east1-a
但下次它只保存修改后的数据。
是否可以将此命令更改为始终创建完整磁盘快照? 或者还有其他解决方案?
答案1
由于此 GCP 公开文档状态,快照是增量的并且会自动压缩,因此您可以在持久磁盘上创建常规快照,速度比定期创建磁盘的完整映像更快,而且成本更低:
- 持久磁盘的第一个成功快照是包含持久磁盘上所有数据的完整快照。
- 第二个快照仅包含自第一个快照以来的任何新数据或修改的数据。不包括自快照 1 以来未更改的数据。相反,快照 2 包含对快照 1 的任何未更改数据的引用。
- 快照 3 包含自快照 2 以来的任何新的或更改的数据,但不包含来自快照 1 或 2 的任何未更改的数据。相反,快照 3 包含对快照 1 和快照 2 中任何未更改数据的块的引用。
使用上述备份系统有几个优点:
- 创建完整磁盘快照需要更多时间,这会降低系统性能。对于服务于数千名用户的生产系统来说,这可能是一个负面因素。
- 如果从完整快照备份的增量部分恢复某个时间点的丢失数据,则会更容易、更快捷。
如果您希望定期获得虚拟机磁盘的完整副本,可以考虑创建(启动)磁盘的自定义映像,如本公开内容中所述文档。
答案2
正如所述Google 公共文档只要快照名称相同,快照始终基于上次成功的快照创建。您可以尝试更改第二个快照的名称。
gcloud compute --project=[PROJECT-NAME] disks snapshot [SOURCE-DISK] --zone=us-east1-d --snapshot-names=Mydisk2