如何自动备份Google Cloud虚拟机?

如果您的网站托管在共享主机上,您不需要担心备份问题,因为大多数hosting provider会为您处理备份。

然而,当您将托管迁移到云端,例如Google Cloud或AWS时,有一些您需要自己处理的事情。

备份就是其中之一!

最近,我将Geekflare迁移到了Google Cloud Platform,并且一直在寻找一个一键备份的选项,但不幸的是,这个选项并不存在。

经过一些研究,我了解到备份过程略有不同,而且我很喜欢它。好处是,您对备份有完全控制

备份有多个层次(应用程序、配置、日志等),下面我将讨论如何手动和自动进行完整虚拟机备份

在Google Cloud中,用于进行备份的术语称为“快照”。

一些快照的优点。

  • 您可以在磁盘连接到实例时进行快照 – 备份期间无停机时间
  • 它是增量的,而不是每次创建完整磁盘备份 – 减少备份存储成本并提高操作速度

使用Google Cloud控制台手动备份

Google Cloud控制台有一个可以对磁盘进行快照的选项,操作很简单。

  • 登录Google Cloud并转到Compute Engine下的Disks
  • 点击与实例连接的磁盘名称,您想要进行快照的磁盘
  • 点击“创建快照”。

给快照命名并点击创建

  • 它会花费一些时间(取决于磁盘大小),一旦完成,您将在snapshots section中看到它们。

这表示VM磁盘备份已完成。在需要的时候,您可以使用此快照将VM恢复/创建为与VM备份时相同状态的新VM。

使用脚本自动备份

如果您的应用程序频繁更改,并且希望定期自动进行快照,则以下内容将对您有所帮助。

我从https://github.com/jacksegal/google-compute-snapshot中找到了这个解决方案

  • 登录要进行自动备份的实例
  • 创建一个存储脚本文件的文件夹
  • 下载脚本文件
wget https://github.com/jacksegal/google-compute-snapshot/blob/master/gcloud-snapshot.sh
  • 将文件权限更改为可执行
chmod 755 gcloud-snapshot.sh
  • 通过手动执行脚本来测试脚本是否有效
./gcloud-snapshot.sh

确认它手动工作后,configure crontab to run periodically

  • 按照以下示例在每天05:00运行
0 5 * * * /opt/google-compute-snapshot/gcloud-snapshot.sh >> /var/log/cron/snapshot.log 2>&1

该脚本将默认保留过去七天的快照。如果您需要更改此计划,请编辑脚本文件并更改OLDER_THAN=7的值

使用Google Cloud控制台自动备份

Google最近推出了这些功能,我很喜欢。现在,GCP在控制台中为您提供了从控制台本身安排磁盘快照的选项。

  • 转到Compute Engine>>快照
  • 单击快照调度选项卡,将出现以下弹出窗口。点击创建快照调度
  • 输入必要的信息,然后点击创建

让我们探索一下可用选项。

  • 区域 – 选择您希望存储虚拟机快照(备份)的位置
  • 计划频率 – 选择您希望多久从每天、每周、每小时进行一次备份
  • 开始时间 – 何时应该进行备份?选择低峰时段。
  • 自动删除快照后 – 您希望同时保留多少个最近的快照?
  • 删除规则 – 如果您删除源磁盘(虚拟机)应该发生什么?

创建后,您应该会看到它们列出。

这表示快照计划已准备好附加到磁盘上。

  • 转到“计算引擎”>>“磁盘”
  • 选择要启用快照的磁盘
  • 点击编辑并选择如下所示的新创建的计划。
  • 点击保存

就是这样!

Google Cloud将根据计划进行快照。

您看到,只需要花几分钟设置备份就可以挽救生命。除了快照外,您还应考虑enabling screenshot,它可以帮助了解虚拟机的状态。

如果您对了解更多感兴趣,请查看此链接:GCP certification course

类似文章