首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》10.5 Trove创建实例过程

关灯直达底部

Trove提供了便捷的图形操作界面,进行数据库创建、管理等,也可以通过命令行方式实现相同的功能。下面通过Trove创建一个数据库实例来讲解Trove的工作流程。

1.创建数据库实例

1)命令行方式,创建一个数据库实例troveabc,并设置数据库用户和密码。

trove create TROVE_INSTANCE_NAME 1---size 10 / --databases troveabc / --users longgeek:password / --datastore_version 5.5 / --datastore mysql / --nic net-id=9cbae051-78c7-4574-968e-2cb9b0f410aa

2)通过图形界面创建一个数据库实例。

创建一个Trove实例,输入实例名字,选择一个Flavor,以及使用的Cinder-volume大小,填入要创建的数据库名、用户名、密码,以及访问限制,完成创建。

通过上面的描述我们可以看出,通过Trove可以很便捷地在云化环境中实现对数据库的自动化创建和管理等。在创建一个数据库实例的过程中,包含了很多隐性的操作,那就看看在创建数据库实例过程中,Trove调用了哪些主键,做了些什么操作。

1)Tove通过OpenStack其他主键的API接口调用了zone、volume、neutron、Security-Group、instance等。

2)admin用户创建的一个共享内网网络,同时也写在了trove.conf中。

3)在创建Trove实例时,分配5G的卷给虚拟机。

4)创建Trove实例时会自动根据datastore_type来指定一个单独的安全组,默认开启了相关数据库服务端口号。

5)给实例添加网络资源浮动IP,可以通过浮动IP连接到数据库。

创建一个数据库实例内容的实现流程

1)启动VM,创建Nova实例。

2)创建数据库实例,执行cloud-init自动扩展根分区、Metadata以及Heat模板中自定义的脚本。

3)重启Tove-guestagent服务,而Trove-guestagent会监听RPC消息队列,Trove-guestagent服务启动后,更新状态为Running,发送RPC消息。

4)Taskmanager收到消息后,发送创建db请求。

5)Trove-guestagent收到请求后创建相应db,最后发送Active状态消息给RPC。

6)Trove-conductor同时收到trove-guestagent Active消息后,去数据库里更新trove instance的状态。