更新快照位置Velero Azure

问题描述

目前velero已启动并运行,并且运行良好。我唯一的问题是,在与原始文件相同的区域中创建了卷的快照,这有点违背了灾难恢复的目的。这个标志

--snapshot-location-config

没有用于区域的arg。我知道认快照位置有一个配置

volumesnapshotlocations.velero.io "default"

有人知道如何修改认设置,以便将快照拍摄到新区域吗?

解决方法

不支持从主区域到其他区域的快照创建。
托管磁盘的Azure区域冗余快照和映像具有不错的99.9999999999%(12 9)耐久性。通常,区域中的可用区在物理上是分开的,即使中断影响一个可用区,您仍然可以从冗余可用区访问数据。

但是,如果您担心灾难可能会影响几平方公里(一个区域中的多个区域),则可以手动将快照移动到其他区域中,甚至自动执行该过程。 Here是这样做的指南。

,

--snapshot-location-config 没有区域参数

--snapshot-location-config 不会创建存储,您必须自己创建。您可以指定不同的区域、不同的 Azure 订阅,甚至是不同的提供商,例如 AWS。

对于 Azure,请按照说明 here 创建您的存储容器。

如果您的提供商支持区域配置(Azure 不支持 - 请参阅 Volume Snapshot Location Config docBackup Storage Location Config doc),则可以使用 --config 对其进行配置,例如--config region=us-west-2。检查您的提供程序插件以查看是否支持不同的区域、键名是什么以及支持哪些可能的值。

有关使用多个快照和备份位置的示例,请参阅 Velero locations documentation

更新:

虽然 velero snapshot-location create 允许您指定 --provider,但 Limitations/Caveats section of the Location documentation 明确指出仅支持一组凭据,此外,Azure 明确不允许在不同的地区:

Velero 仅支持 VolumeSnapshotLocations 的一组凭据。 Velero 将始终使用安装时提供的凭据(存储在云凭据密钥中)用于卷快照。

卷快照仍受提供商允许您创建快照的位置的限制。例如,AWS 和 Azure 不允许您在与卷所在的区域不同的区域中创建卷快照。如果您尝试使用与集群卷所在区域不同的卷快照位置进行 Velero 备份,则备份将失败。

我个人觉得这很令人困惑——如何在不指定凭据的情况下使用不同的提供程序?无论如何,在 Azure 中的不同区域中存储快照似乎是不可能的。