概述MySQL 配置管理功能允许Trove 用户重载由Trove服务的操作者提供的缺省MySQL配置环境。这是通过影响MySQL 的includedir 命令来实现的。
这些MySQL 的includedir 命令已经预先定义在/etc/mysql/conf.d 中了。 保存到这个目录的配置文件将在MySQL启动时被解释。my.cnf文件 或者 MySQL的缺省目录里的值将被替换。
为了实现这个管理功能, 当一个实例被创建时,一个数据库实例可以(可选的)关联到一个配置上。也可以当实例被创建后附加一个配置到这个实例上。一个配置是一个 key / value对的集合。 这些有效的key / value在MySQL手册上有定义,地址: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html。 一些命令可以自动生效,另外一些命令需要服务器重启来生效。
当通过增加新的key/value 对 或者 修改原有的 key/value对来更新一个配置时, 服务将为每个与配置相关的实例更新overrides.cnf 文件。
如果值允许自动更新的话,服务将尝试自动更新运行的MySQL实例。
MySQL 配置管理功能特性将集成进由https://blueprints.launchpad.net/trove/+spec/quotas 规定的两个最大定额值:(1)每个租户的最大配置组个数 (2) 每个配置组的最大值个数。
系统允许操作者配置 key/value 对的有效规则 。 该规则能够赋予配置组上去。 这些有效规则在 configuration-validation.conf文件中定义, 用户通过API 得到这些规则。这些API定义在下面的文档中。
服务选项Mysql 见https://wiki.openstack.org/wiki/Trove/Configurations/mysql-optionsCassandra 见 http://www.datastax.com/documentation/cassandra/2.0/cassandra/configuration/configCassandra_yaml_r.htmlAPI两种新的资源:configurations 和 configuration-parameters 将作为 Trove 的 API暴露给用户。configurations 资源允许用户创建一个新的配置组,组里包含用户定义的名字,描述以及 一组将要写入到MySQL overrides.cnf文件里去的 key value对。 配置组资源提供以下数据: •id – 第一次创建配置组时系统分配的UUID值.•name – 用户定义的配置组名字.•description – 用户定义的配置组描述 (可选).•values – 赋予配置组的一组键值对.•instances - 与配置组关联的一组实例(如果可用). 配置参数资源包含以下信息: •name – 键的名字.•description – 可选项/设置 的 描述.•default - 由MySQL提供的键的缺省值。服务提供者可以根据实例的大小或者硬件的配置来选择重载一定的MySQL缺省值。缺省由MySQL 的缺省值提供.•configurable – 是否允许被配置。•dynamic – 是否允许在MySQL 运行时动态更新值•type – 键的数据类型 (Boolean, String, Integer)
API 细节 Create / Modify / List Instance 为了实现这个功能,create/modify/list 实例的操作将不能破坏目前的1.0规则。 这些操作允许用户将一个配置组关联到一个新的或者已经存在的实例上,并决定那个配置组已经通过这些操作关联到已经运行的实例上了。Get an Instance Default Configuration (GET)根据套餐应用到实例上的缺省配置应答结构

Create an Instance (POST)请求消息






API 细节:配置 Get Configuration (GET)请求(无消息体)应答{   "configurations": {       "id": "12345678-1111-2222-3333-444444444444",       "name": "Enhanced Performance Settings",       "description": "Performance Enhancing Settings",       "values": {           "ft_min_word_len": "2",           "key_buffer_size": "300M"       },       "instances": [           {               "id": "dea5a2f7-3ec7-4496-adab-0abb5a42d635",               "name": "json_rack_instance"           }       ]   }}Get Configurations (GET)请求(无消息体)应答{   "configurations": [       {           "id": "12345678-1111-2222-3333-444444444444",           "name": "Enhanced Performance Settings",           "description": "Performance Enhancing Settings"       },       {           "id": "11111111-2222-3333-4444-444444444444",           "name": "Another great configuration group",           "description": "Super Speed MySQL"       }   ]} Create a Configuration (POST)创建这个配置时,调用者必须提供一个名字和至少一个值。描述项是可选的。 请求 {  "configuration" : {     "name" : "Enhanced Performance Settings",     "description" : "Performance Enhancing Settings",     "values" : {         "ft_min_word_len" : "2",         "key_buffer_size" : "300M"       }   }}应答 {  "configuration" : {     “id” : “12345678-1111-2222-3333-444444444444”,     "name" : "Enhanced Performance Settings",     "description" : "Performance Enhancing Settings",     "values" : {        "ft_min_word_len" : "2",         "key_buffer_size" : "300M"       }   }} Update a Configuration Parameter (GET)更新一个配置时,用户必须提供ID 以及更新所需的属性。当更新值数组时,调用者必须提供一组完全的值,该值将代替目前条目中的值。 请求{  "configuration" : {     "values" : {         "join_buffer_size": 1048576       }   }}应答

(无应答体)

 

Update all Configuration Parameters (PUT) 更新一个配置时,用户必须提供ID 以及更新所需的属性。当更新值数组时,调用者必须提供一组完全的值,该值将代替目前条目中的值 请求{  "configuration" : {     "values" : {         "key_buffer_size" : 102400       }   }} 应答{  "configuration" : {     “id” : “12345678-1111-2222-3333-444444444444”,     "name" : "Enhanced Performance Settings",     "description" : "Performance Enhancing Settings",     "values" : {         "key_buffer_size" : 102400       }   }}请求(无消息体)应答{  "parameters":[     {        "name":"autocommit",        "description":"Enable or disable MySQLs autocommit feature",        "default":"true",        "configurable":"true",        "dynamic":"true",        "type":"boolean"     }  ]}
数据库模式在trove 数据库中添加了两个条目:configuration_group 和 configuration_item。 这些条目保存由用户提供的配置组的数据。本表描述了本配置组所包含的 ID, 名字,描述 和 租户ID。配置组 本表描述了本配置组所包含的 ID, 名字,描述 和 租户ID。配置项 本表通过外键configuration_group_id 维护了 配置组的 多对一的关系。数据存储配置参数 本表包含了医嘱配置参数并将他们与指定的存储版本相关联:管理命令trove-manage 命令如下,对于每一个数据存储版本来说,该命令提供了加载指定目录下的配置参数json文件的功能。
trove-manage load_datastore_config_parameters [datastore_version_id] [full path to the json file]

posted @ 2017-08-17 21:12 孤独剑客zzy 阅读(816) 评论(1) 推荐(0) 编辑
摘要: 描述提供各种复制功能的支持对于Trove来说是很关键的.本章节将描述各种使用案例和相关的用户需求。并依次提出了MySQL的初始阶段的实现。Mysql的复制功能介绍概述先介绍一下MySQL的复制功能原理,以便更好的理解Trove 的Mysql的复制功能。MySQLReplicaion本身是一个比较简单 阅读全文
posted @ 2017-08-17 21:09 孤独剑客zzy 阅读(793) 评论(0) 推荐(0) 编辑
摘要: Trove的安全组功能功能描述用户目前没有办法在Trove guest 实例上配置安全组 和 安全组规则。 我们建议按照以下指导原则创建一个简单的安全组操作规则。本功能作为Trove 的附加功能实现(类似于安全组作为Nova的附加功能实现)l我们将为每一个客户端实例创建一个新的安全组,所以 每个安全 阅读全文
posted @ 2017-08-17 21:08 孤独剑客zzy 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 功能描述数据存储管理程序(Datastore)类型管理允许Trove的用户从操作者列出的名单中选择数据库存储管理程序和版本。操作者将可以控制数据库存储管理程序的类型,添加一个新的版本并去活一个老版本。为了实现这个功能,用户可以指定数据库存储管理程序类型和可选择的版本。数据库存储管理程序类型是一种数据 阅读全文
posted @ 2017-08-17 21:07 孤独剑客zzy 阅读(1265) 评论(0) 推荐(0) 编辑
摘要: Trove 快照用于支持DbaaS 备份,复制等功能。在Trove API (guest_agent)上将支持本功能。本功能将能够支持快照,从而用来进行副本设置,主数据库克隆和备份,以及数据恢复。目前有许多备份的设计,诸如带有master-data选项的mysqldump,Perconas' Xtr 阅读全文
posted @ 2017-08-17 21:06 孤独剑客zzy 阅读(542) 评论(0) 推荐(0) 编辑
摘要: Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能。 本管理功能只适用于激活/去活全系统的功能。唯一例外的是数据存储功能列表功能,该功能对所有的用户都适用, 用户能够据此决定一个指定数据库版本的行为。一个具体的例子: “卷支持”, 具有此功能 阅读全文
posted @ 2017-08-17 21:03 孤独剑客zzy 阅读(531) 评论(0) 推荐(0) 编辑
摘要: Trove主要逻辑目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理。数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未来通过Cinder API)作为存储,然后在Nova Instance里加载预定义的带有MySQL的 阅读全文
posted @ 2017-08-17 21:01 孤独剑客zzy 阅读(1216) 评论(1) 推荐(0) 编辑
摘要: 概述DBaaS是目前云计算服务的重要部分,数据库作为一种特殊的应用程序,在应用中普遍存在。而其独特性不仅在于普遍性,而且其性能对应用的表现是至关重要的。数据库的通用性和重要性使得维护一个健壮的数据库实例变得极为复杂和繁琐,DBaaS服务旨在解决让用户能够在云中轻松设置、操作和扩展关系数据库。 在承担 阅读全文
posted @ 2017-08-17 21:00 孤独剑客zzy 阅读(3945) 评论(0) 推荐(0) 编辑
摘要: DBaaS是什么? 字面上理解数据库即是服务,简单来说就是以服务的形式为用户提供数据库服务。 在云平台上使用trove有什么优势? 简化IT操作流程,降低使用数据库使用门槛举个例子,曾经我搭建一个LAMP网站,数据库要自己安装,创建,授权,必要的话,还要自己做主从很繁琐,而且不是专业人员也搞不定,有 阅读全文
posted @ 2017-08-17 20:58 孤独剑客zzy 阅读(4187) 评论(0) 推荐(0) 编辑
摘要: 转自:http://geek.csdn.net/news/detail/73332 无架构,不系统,架构是大型系统的关键。从形上看,架构是系统的骨架,支撑和链接各个部分;从神上看,架构是系统的灵魂,深刻体现业务本质。 架构可细分为业务架构、应用架构、技术架构,业务架构是战略,应用架构是战术,技术架构 阅读全文
posted @ 2016-05-13 10:19 孤独剑客zzy 阅读(217) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示