升级到新主版本

当主要数据库版本达到生命周期终点(EOL)时,升级到下一个可用版本可确保持续支持和最佳性能。 Redis 版本详细信息可通过 目录、 Cloud Databases CLI 插件或 Cloud Databases API 查找。

简单升级路径

由于 Databases for Redis 的大多数用途充当数据趋向于瞬态的高速缓存,因此最好创建新的部署。 在此简单方法中,使用最新版本的 Databases for Redis 供应新部署,然后将应用程序指向新部署。 这将通过初始使用直接构建高速缓存。

如何升级到新的主要版本

准备在 EOL 日期之前的最新版本上运行,然后迁移到该版本。 更多信息,请参阅 版本控制政策。

不支持回滚版本。

升级到可用于 Databases for Redis的最新版本的 Redis。 从目录页面,Cloud Databases CLI 插件命令 ibmcloud cdb deployables-show或 Cloud Databases API /deployables 端点查找最新版本。

通过将数据的备份 复原 到新部署来处理升级。 从备份复原具有各种优点:

  • 原始数据库保持运行,并且可以不中断生产工作。
  • 可以在生产环境外部测试新数据库,并对任何应用程序不兼容性采取行动。
  • 整个过程可以在任何时候重新运行。
  • 进行一次全新的还原操作,可以降低旧版本数据库中不必要的残留数据被带入新数据库的可能性。

升级路径

主要版本升级路径
当前版本 主要版本升级路径
Databases for Redis V7.2 -> Databases for Redis V8.2

使用 UI 进行升级

对于新的托管模式,目前可通过 CLI 和 API 升级到新的主版本。

从部署的 "概述页面上的 "备份和恢复选项卡升级到新版本 "恢复备份。 单击所选备份的溢出菜单或展开表行上的恢复备份。 这将打开“还原供应”页面,您可以在此选择新部署的选项。 其中一个选项是“数据库版本”,它会自动填充您可用的版本。 选择一个版本,然后单击“还原备份”开始配置和还原过程。

使用 CLI 进行升级

通过 IBM Cloud CLI 从备份升级和复原时,请使用资源控制器中的供应命令。

ibmcloud resource service-instance-create <INSTANCE-NAME> <SERVICE-ID> <SERVICE-PLAN-ID> <REGION>

参数 service-name,service-id,service-plan-id 和 region 都是必需的。 您还可以在 JSON 对象中提供具有版本和备份标识参数的 -p。 在备份时,将使用与源部署相同的磁盘和内存自动调整新部署的大小。

可使用以下命令检索部署的备份和备份 ID 列表。

ibmcloud cdb deployment-backups-list <INSTANCE_NAME_OR_CRN> --json

如下图所示,在资源控制器命令中使用所选备份的 ID 作为参数。

ibmcloud resource service-instance-create example-upgrade databases-for-redis standard us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-redis:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "version":"7.2"
}'

使用 API 进行升级

与通过 API 进行供应类似,您需要先完成 使用资源控制器 API 所需的步骤,然后才能将其用于从备份进行升级。 然后,向 API 发送 POST 请求。 参数 name, target, resource_group, resource_plan_id, backup_id, service_endpoints,和 version 都是必需的。 新部署与备份时的源部署具有相同的内存和磁盘分配。

可使用以下 API 请求检索部署的备份和备份 ID 列表。

curl -X GET  https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/backups  
-H 'Authorization: Bearer <token>' \

在资源控制器 API 请求中使用所选备份的 ID,如下例所示。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "new-instance-name",
    "target": "us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-redis-standard",
    "parameters":{
		  "backup_id": "crn:v1:bluemix:public:databases-for-redis:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
		  "service_endpoints": "private",
		  "version": "7.2"
    }
  }'

备份与恢复:示例

完成以下随需应变备份和复原步骤以进行升级。 本例介绍了升级到最新版本的步骤。

在用户界面中创建手动备份:

  1. 转至 Databases for Redis 实例的 备份和复原 选项卡
  2. 单击创建备份:显示备份正在进行的消息,并将按需备份添加到可用备份列表中。 按需备份可以在概览页面的最近任务面板中看到。

要将备份复原到新的服务实例,请执行以下操作:

  1. 转至 备份和复原 选项卡

  2. 点击相应的行,展开您要还原的按需备份的选项

  3. 单击“还原备份”,将跳转到“还原实例”页面。

  4. 在“还原”页面,您可以修改新实例的服务名称、区域和资源分配值。 缺省情况下,在要从中复原的备份时,会将新实例自动调整到与源实例相同的磁盘和内存分配。 在服务配置下,选择最新可用版本作为数据库版本。

  5. 单击恢复备份。

    在备份恢复过程中保持 "appendonly=yes"。 只有在还原完成后才切换到缓存模式,以防止数据丢失。

    在新实例完成供应后,备份文件中的数据将复原到新实例中。 可从资源列表中访问新升级的实例。

在复原备份时,请勿删除源实例。 在删除旧实例之前,请等待直到供应新实例并复原备份。 删除实例还会删除其备份。

强制升级

如果选择不使用还原和升级功能进行升级,Databases for Redis 将在版本生命周期结束时强制升级到下一个主要版本。

不建议在生产环境中采用此方法。 主要版本升级可能会带来功能、行为、性能特征、配置设置或客户端兼容性方面的变更,从而可能影响现有应用程序。 如需了解更多信息,请参阅 “产品生命周期结束”流程。 为降低出现意外问题的风险,请在产品生命周期结束日期之前进行受控升级,并针对目标版本对您的应用程序进行彻底测试。 此流程可帮助您在升级生产环境之前,识别并解决兼容性问题、运营变更以及对应用程序的影响。

如果需要数据迁移

有关迁移的指导信息,请参阅 迁移到 Databases for Redis。