升级到新的主要版本
当主要数据库版本达到生命周期终点(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"
}
}'
备份和恢复:示例
完成以下随需应变备份和复原步骤以进行升级。 本例介绍了升级到最新版本的步骤。
在用户界面中创建手动备份:
- 转至 Databases for Redis 实例的 备份和复原 选项卡
- 单击创建备份:显示备份正在进行的消息,并将按需备份添加到可用备份列表中。 按需备份可以在概览页面的最近任务面板中看到。
要将备份复原到新的服务实例,请执行以下操作:
-
转至 备份和复原 选项卡
-
单击相应行,展开要还原的按需备份的选项
-
单击“还原备份”,将跳转到“还原实例”页面。
-
在“还原”页面,您可以修改新实例的服务名称、区域和资源分配值。 缺省情况下,在要从中复原的备份时,会将新实例自动调整到与源实例相同的磁盘和内存分配。 在服务配置下,选择最新可用版本作为数据库版本。
-
单击恢复备份。
在备份恢复过程中保持 "appendonly=yes"。 只有在还原完成后才切换到缓存模式,以防止数据丢失。
在新实例完成供应后,备份文件中的数据将复原到新实例中。 可从资源列表中访问新升级的实例。
在复原备份时,请勿删除源实例。 在删除旧实例之前,请等待直到供应新实例并复原备份。 删除实例还会删除其备份。
强制升级
如果选择不使用还原和升级功能进行升级,Databases for Redis 将在版本生命周期结束时强制升级到下一个主要版本。
如果需要数据迁移
有关迁移的指导信息,请参阅 迁移到 Databases for Redis。