Atom feed of this document
  

 创建一个 datastore

一个管理员用户可以为各式各样的数据库创建数据存储。

此节假设你还没有一个MySQL数据存储,然后向你展示了如何创建一个MySQL数据存储,且基于MySQL 5.5版本。

 

要创建一个datastore

  1. 创建一个trove 镜像

    为您要使用的类型的数据库创建一个镜像,例如,MySQL、MongoDB、Cassandra等。

    这个镜像必需安装了 trove guest agent,并且需要有 trove-guestagent.conf 配置文件的配置,连接到您的 OpenStack 环境中。要正确地配置 trove-guestagent.conf 文件,请在您要构建镜像的实例虚拟机上在文件trove-guestagent.conf 中添加下面几行内容:

    rabbit_host = 控制器
    rabbit_password = RABBIT_PASS
    nova_proxy_admin_user = admin
    nova_proxy_admin_pass = ADMIN_PASS
    nova_proxy_admin_tenant_name = service
    trove_auth_url = http://控制器:35357/v2.0

    此例假设你已经创建了一个名为 mysql-5.5.qcow2的Mysql 5.5的镜像。

  2. 向镜像服务注册镜像

    用户需要将客户镜像注册到镜像服务。

    在此例中,你使用glance image-create命令来注册镜像 mysql-5.5.qcow2

    $ glance image-create --name mysql-5.5 --disk-format qcow2 --container-format bare --is-public True < mysql-5.5.qcow2
    +------------------+--------------------------------------+
    | Property         | Value                                |
    +------------------+--------------------------------------+
    | checksum         | d41d8cd98f00b204e9800998ecf8427e     |
    | container_format | bare                                 |
    | created_at       | 2014-05-23T21:01:18                  |
    | deleted          | False                                |
    | deleted_at       | None                                 |
    | disk_format      | qcow2                                |
    | id               | bb75f870-0c33-4907-8467-1367f8cb15b6 |
    | is_public        | True                                 |
    | min_disk         | 0                                    |
    | min_ram          | 0                                    |
    | name             | mysql-5.5                            |
    | owner            | 1448da1223124bb291f5ae8e9af4270d     |
    | protected        | False                                |
    | size             | 0                                    |
    | status           | active                               |
    | updated_at       | 2014-05-23T21:01:22                  |
    | virtual_size     | None                                 |
    +------------------+--------------------------------------+
  3. 创建 datastore

    创建数据存储会使用新的镜像,要完成这步,使用trove-manage命令datastore_update

    此例中使用了下列参数:

    参数 描述 在此例中:

    配置文件

    所使用的配置文件。

    --config-file=/etc/trove/trove.conf

    名称

    为你打算使用的数据存储起一个名称。

    mysql

    默认版本

    你可以为一个数据存储挂接过个版本/镜像。举例来说,你拥有MySQL 5.5版本和5.6版本。你可以指定其中一个版本为默认,当用户对版本没有特别的需求的时候系统来使用。

    ""

    在此处,你无须指定一个默认版本,将之留为空白即可。

    例子:

    $ trove-manage --config-file=/etc/trove/trove.conf datastore_update mysql ""
  4. 为新的数据存储添加一个版本

    现在你拥有了一个 mysql数据存储,你可以使用trove-manage命令 datastore_version_update 为其添加一个版本,版本表明了使用那个guest镜像。

    此例中使用了下列参数:

    参数 描述 在此例中:

    配置文件

    所使用的配置文件。

    --config-file=/etc/trove/trove.conf

    数据存储

    你刚刚通过trove-manage datastore_update所创建的数据存储的名称。

    mysql

    版本名

    你添加的数据存储的版本名。

    mysql-5.5

    数据存储管理器

    用于此版本的数据存储管理器。典型的情况是,数据存储管理器依赖于具体的数据库,有下面的字符串的某一个来鉴别:

    • mysql

    • redis

    • mongodb

    • cassandra

    • couchbase

    • percona

    mysql

    glance ID

    ID是你刚刚为认证服务添加的guest镜像ID。你可以使用glance命令 image-showIMAGE_NAME 来获取此ID。

    bb75f870-0c33-4907-8467-1367f8cb15b6

    软件包

    如果你打算为你创建的此版本的数据存储的每个guest添加额外的软件包,你可以将软件包的名称列到此处:

    ""

    在此例中,guest镜像已经包含了所有需要的软件包,所以将这些参数留为空白。

    激活

    设置此为1或0:

    • 1 =激活

    • 0 = 禁用

    1

    例子:

    $ trove-manage --config-file=/etc/trove/trove.conf datastore_version_update \
      mysql mysql-5.5 mysql GLANCE_ID "" 1

    可选。. 设置你的新版本的数据存储作为默认版本。要完成此步骤,再次使用命令trove-manage datastore_update ,这次你为刚刚创建的数据存储指定了版本。

    $ trove-manage --config-file=/etc/trove/trove.conf datastore_update mysql "mysql-5.5"
  5. 为配置组加载验证规则

    [注意]仅应用MySQL和Percona数据存储
    • 如果你刚刚创建了一个MySQL或Percona数据存储,那么你需要加载对应的验证规则,正如在此步骤中所描述的。

    • 如果你刚创建了一个非MySQL或Percona数据存储,请忽略这步。

    背景。. 你可以使用配置组来管理数据库的配置任务。配置组可以让你设置配置参数,基于块,一个或多个数据库。

    当你设置一个配置组时会用到trove configuration-create命令,此命令会比较你设置的配置值和存储在validation-rules.json文件中的配置值,从而达到验证的效果。

    操作系统 地址是validation-rules.json 注记

    Ubuntu 14.04

    /usr/lib/python2.7/dist-packages/trove/templates/DATASTORE_NAME

    DATASTORE_NAME既可以是MySQL数据库的名称,也可以是Percona数据库的名称。 mysqlpercona通常也是如此。

    RHEL 7, CentOS 7, Fedora 20, 以及 Fedora 21

    /usr/lib/python2.7/site-packages/trove/templates/DATASTORE_NAME

    DATASTORE_NAME既可以是MySQL数据库的名称,也可以是Percona数据库的名称。 mysqlpercona通常也是如此。

    因此,作为创建一个数据存储的一部分,你需要加载validation-rules.json文件,使用trove-manage命令db_load_datastore_config_parameters,此命令后跟下面这些参数:

    • 数据存储名称

    • 数据存储版本

    • 文件validation-rules.json的完整路径

    此例是在Ubuntu 14.04下为一个MySQL数据存储加载了文件 validation-rules.json:

    $ trove-manage db_load_datastore_config_parameters mysql "mysql-5.5" \
    /usr/lib/python2.7/dist-packages/trove/templates/mysql/validation-rules.json
  6. 验证数据存储

    要验证你的新的数据存储和版本,从在你的系统中列出数据存储开始:

    $ trove datastore-list
    +--------------------------------------+--------------+
    |                  id                  |     name     |
    +--------------------------------------+--------------+
    | 10000000-0000-0000-0000-000000000001 | Legacy MySQL |
    | e5dc1da3-f080-4589-a4c2-eff7928f969a |    mysql     |
    +--------------------------------------+--------------+

    拿到 mysql 数据存储的ID,然后将之传送到命令 datastore-version-list 中:

    $ trove datastore-version-list DATASTORE_ID
    +--------------------------------------+-----------+
    |                  id                  |    name   |
    +--------------------------------------+-----------+
    | 36a6306b-efd8-4d83-9b75-8b30dd756381 | mysql-5.5 |
    +--------------------------------------+-----------+
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...