升级集群数据存储¶
警告
数据库集群功能仍处于实验阶段,不应在生产环境中使用。
升级集群实例的数据存储与升级单个实例非常相似。
Trove 尝试执行滚动升级,以避免任何停机时间。但是,并非总是可行,例如,在 Redis 升级的情况下,其某些插槽可能会暂时不可用。
Trove 策略逐个升级整个集群中的每个实例。升级完成后,所有实例都将升级完成。
请查阅数据存储升级指南以检查先决条件。
本示例演示如何为集群升级 Redis 数据存储(版本 3.2.6)。
升级集群¶
检查集群任务
使用 openstack database cluster list 检查集群的任务是否为 NONE。
$ openstack database cluster list +--------------------------------------+---------------+-----------+-------------------+-----------+ | ID | Name | Datastore | Datastore Version | Task Name | +--------------------------------------+---------------+-----------+-------------------+-----------+ | 05f2e7b7-8dac-453f-ad5d-38195cd5718f | redis_cluster | redis | 3.2.6 | NONE | +--------------------------------------+---------------+-----------+-------------------+-----------+
检查目标版本是否可用
使用 openstack datastore version list 列出数据存储的所有可用版本。
$ openstack datastore version list redis +--------------------------------------+-------+ | ID | Name | +--------------------------------------+-------+ | 483debec-b7c3-4167-ab1d-1765795ed7eb | 3.2.6 | | 507f666e-193c-4194-9d9d-da8342dcb4f1 | 3.2.7 | +--------------------------------------+-------+
运行集群升级
使用 openstack database cluster upgrade 命令为所选实例升级数据存储。
$ openstack database cluster upgrade 05f2e7b7-8dac-453f-ad5d-38195cd5718f 3.2.7
等待任务从 UPGRADING_CLUSTER 变为 NONE
您可以使用 openstack database cluster list 检查当前任务。
$ openstack database cluster list +--------------------------------------+---------------+-----------+-------------------+-----------+ | ID | Name | Datastore | Datastore Version | Task Name | +--------------------------------------+---------------+-----------+-------------------+-----------+ | 05f2e7b7-8dac-453f-ad5d-38195cd5718f | redis_cluster | redis | 3.2.7 | NONE | +--------------------------------------+---------------+-----------+-------------------+-----------+
其他集群¶
其他集群的升级方式相同。目前 Trove 支持以下集群数据存储的升级:
MySQL。
MariaDB。
Redis。