注意:接与上一篇博客内容 进行更新
由于整个开源openstack安装过程过于繁琐,命令太长,太繁琐,于是把整个安装命令写成shell脚本。

脚本数量内容过多,已经推送自我的github源码托管中心了。
这是本篇脚本内容所在的github仓库位置
controller节点
脚本内容介绍

#!/bin/bash
source /etc/xiandian/openrc.sh
source /etc/keystone/admin-openrc.sh
default_network_id=#------------------------------------------------------------------------------------------------
printf "\033[35mPlease wait...\n\033[0m"if [[ `openstack endpoint list | grep -w 'volume' ` == '' ]];thenprintf "\033[35mPlease install the cinder service first! \n\033[0m"exit 1
fiif [[ `openstack endpoint list | grep -w 'object-store' ` == '' ]];thenprintf "\033[35mPlease install the swift service first! \n\033[0m"exit 1
fiif [[ `neutron net-list` == '' ]];thenprintf "\033[35mPlease create network first!\n\033[0m"exit 1
fiif [[ $default_network_id == '' ]]; thennetwork_mode=`cat /etc/neutron/plugin.ini |grep ^tenant_network_types |awk -F= '{print $2}'`if [[ $network_mode == 'flat' ]];thendefault_network_id=`neutron net-list |  sed -e '1,3d'  -e '$d' |awk '{print $2}'`elif [[ $network_mode == 'gre' ]];then# neutron net-list |  sed -e '1,3d'  -e '$d' |awk '{print $2}'for net_name in `neutron net-list |  sed -e '1,3d'  -e '$d' |awk '{print $2}'`;domode=`neutron net-show $net_name |grep "router:external"`if [[ `echo $mode |grep -w "False"` !=  "" ]];thendefault_network_id=$net_namebreakfidone# elif [[ $network_mode == 'vlan' ]] ;then

9 安装Trove服务

9.1 执行脚本进行安装
9.2-9.11编配服务的操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:
#Controller节点
执行脚本iaas-install-trove.sh进行安装
需注意安装Trove服务之前需要配置好网络(flat或gre),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败。

9.2 安装Trove数据库服务的软件包

# yum install openstack-trove-guestagent openstack-trove python-troveclient  openstack-trove-ui –y

9.3 创建数据库

# mysql -u root -p
mysql> CREATE DATABASE trove;
mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'localhost' IDENTIFIED BY '000000';     mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'%' IDENTIFIED BY  '000000';

9.4 创建用户

# openstack user create --domain $DOMAIN_NAME --password 000000 trove
# openstack role add --project service --user trove admin
# openstack service create --name trove --description "Database" database

9.5 创建Endpoint和API端点

# openstack endpoint create --region RegionOne database public http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database internal http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database admin http:// controller:8779/v1.0/%\(tenant_id\)s

9.6 配置trove.conf文件

openstack-config --set /etc/trove/trove.conf DEFAULT log_dir /var/log/trove
openstack-config --set /etc/trove/trove.conf DEFAULT log_file trove-api.log
openstack-config --set /etc/trove/trove.conf DEFAULT trove_auth_url http://controller:35357/v2.0
openstack-config --set /etc/trove/trove.conf DEFAULT notifier_queue_hostname controller
openstack-config --set /etc/trove/trove.conf DEFAULT rpc_backend rabbit
openstack-config --set /etc/trove/trove.conf DEFAULT nova_proxy_admin_user admin
openstack-config --set /etc/trove/trove.conf DEFAULT nova_proxy_admin_pass 000000
openstack-config --set /etc/trove/trove.conf DEFAULT nova_proxy_admin_tenant_name admin
openstack-config --set /etc/trove/trove.conf DEFAULT nova_compute_service_type compute
openstack-config --set /etc/trove/trove.conf DEFAULT cinder_service_type volumev2
openstack-config --set /etc/trove/trove.conf DEFAULT network_driver trove.network.neutron.NeutronDriver
openstack-config --set /etc/trove/trove.conf DEFAULT default_neutron_networks (网络的ID)
openstack-config --set /etc/trove/trove.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/trove/trove.conf DEFAULT add_addresses True
openstack-config --set /etc/trove/trove.conf DEFAULT network_label_regex \.\*
openstack-config --set /etc/trove/trove.conf DEFAULT api_paste_config api-paste.ini
openstack-config --set /etc/trove/trove.conf oslo_messaging_rabbit rabbit_host controller
openstack-config --set /etc/trove/trove.conf oslo_messaging_rabbit rabbit_userid openstack
openstack-config --set /etc/trove/trove.conf oslo_messaging_rabbit rabbit_password 000000
openstack-config --set /etc/trove/trove.conf database connection mysql://trove:000000@controller/trove
openstack-config --set /etc/trove/trove.conf keystone_authtoken auth_uri http://controller:5000
openstack-config --set /etc/trove/trove.conf keystone_authtoken auth_url http://controller:35357
openstack-config --set /etc/trove/trove.conf keystone_authtoken auth_type password
openstack-config --set /etc/trove/trove.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/trove/trove.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/trove/trove.conf keystone_authtoken project_name service
openstack-config --set /etc/trove/trove.conf keystone_authtoken username trove
openstack-config --set /etc/trove/trove.conf keystone_authtoken password  000000

9.7 配置trove-taskmanager.conf

openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT log_dir /var/log/trove
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT log_file trove-taskmanager.log
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT trove_auth_url http://controller:5000/v2.0
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT nova_compute_url  http://controller:8774/v2.1
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT notifier_queue_hostname  controller
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT rpc_backend rabbit
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT nova_proxy_admin_user admin
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT nova_proxy_admin_pass 000000
openstack-config crudini --set /etc/trove/trove-taskmanager.conf DEFAULT nova_proxy_admin_tenant_id $(openstack project list |grep -w 'admin' |awk '{print $2}')
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT taskmanager_manager trove.taskmanager.manager.Manager
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT notification_driver messagingv2
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT network_driver trove.network.neutron.NeutronDriver
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT default_neutron_networks (网络ID)
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT network_label_regex \.\*
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT guest_config /etc/trove/trove-guestagent.conf
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT guest_info guest_info.conf
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT injected_config_location /etc/trove/conf.d
openstack-config --set /etc/trove/trove-taskmanager.conf DEFAULT cloudinit_location /etc/trove/cloudinit
sed -i '/^exists_notification/s/^/#/' /etc/trove/trove-taskmanager.conf
openstack-config --set /etc/trove/trove-taskmanager.conf oslo_messaging_rabbit rabbit_host controller
openstack-config --set /etc/trove/trove-taskmanager.conf oslo_messaging_rabbit rabbit_userid openstack
openstack-config --set /etc/trove/trove-taskmanager.conf oslo_messaging_rabbit rabbit_password 000000
openstack-config --set /etc/trove/trove-taskmanager.conf database connection mysql://trove:000000@controller/trove

9.8 配置trove-conductor.conf文件

openstack-config --set /etc/trove/trove-conductor.conf DEFAULT log_dir /var/log/trove
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT log_file trove-conductor.log
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT trove_auth_url http://controller:5000/v2.0
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT notifier_queue_hostname  controller
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT nova_proxy_admin_user admin
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT nova_proxy_admin_pass 000000
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT nova_proxy_admin_tenant_name admin
openstack-config --set /etc/trove/trove-conductor.conf DEFAULT rpc_backend rabbit
openstack-config --set /etc/trove/trove-conductor.conf oslo_messaging_rabbit rabbit_host controller
openstack-config --set /etc/trove/trove-conductor.conf oslo_messaging_rabbit rabbit_userid openstack
openstack-config --set /etc/trove/trove-conductor.conf oslo_messaging_rabbit rabbit_password 000000
openstack-config --set /etc/trove/trove-conductor.conf database connection mysql://trove:000000@controller/trove

9.9 配置trove-guestagent.conf文件

openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT rpc_backend rabbit
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT nova_proxy_admin_user admin
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT nova_proxy_admin_pass 000000
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT nova_proxy_admin_user admin
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT nova_proxy_admin_tenant_id $(openstack project list |grep -w 'admin' |awk '{print $2}')
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT trove_auth_url http://192.168.100.10:35357/v2.0
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT swift_url http://192.168.100.10:8080/v1/AUTH_
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT os_region_name RegionOne
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT swift_service_type object-store
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT log_file trove-guestagent.log
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT rabbit_password 000000
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT rabbit_host 192.168.100.10
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT rabbit_userid openstack
openstack-config --set /etc/trove/trove-guestagent.conf DEFAULT rabbit_port 5672
openstack-config --set /etc/trove/trove-guestagent.conf oslo_messaging_rabbit rabbit_host 192.168.100.10
openstack-config --set /etc/trove/trove-guestagent.conf oslo_messaging_rabbit rabbit_userid openstack
openstack-config --set /etc/trove/trove-guestagent.conf oslo_messaging_rabbit rabbit_password 000000

9.10 同步数据库

# su -s /bin/sh -c "trove-manage db_sync" trove

9.11 启动服务

# service httpd restart
# systemctl enable openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service
# systemctl restart openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service

以上便是脚本内容
下面的操作不在脚本之中,可以熟悉下该操作

9.12 上传镜像

将提供的MySQL_5.6_xiandian.qcow2 上传到系统内
# glance image-create --name "mysql-5.6" --disk-format qcow2  --container-format bare --progress <  MySQL_5.6_XD.qcow2 

9.13 创建数据库存储

# trove-manage datastore_update mysql ''

9.14 使用上传的镜像更新数据库

# glance_id=$(glance image-list | awk '/ mysql-5.6 / { print $2 }')
# trove-manage datastore_version_update mysql mysql-5.6 mysql ${glance_id} '' 1

9.15 启动数据库实例

使用m1.small类型启动名称为mysql-1、大小为5G、创建数据库名称为myDB,用户为user,密码为r00tme,创建过程一般需要3-4分钟。
# FLAVOR_ID=$(openstack flavor list | awk '/ m1.small / { print $2 }')
# trove create mysql-1  ${FLAVOR_ID} --size 5 --databases myDB --users user:r00tme --datastore_version mysql-5.6 --datastore mysql
创建完成后查询trove列表
[root@controller ~]# trove list
+--------------------------------------+---------+-----------+-------------------+--------+-----------+------+
| ID                                   | Name    | Datastore | Datastore Version | Status | Flavor ID | Size |
+--------------------------------------+---------+-----------+-------------------+--------+-----------+------+
| b9c9208d-5bca-434a-b258-127ff8496c5e | mysql-1 | mysql     | mysql-5.6         | ACTIVE | 2         |    5 |
+--------------------------------------+---------+-----------+-------------------+--------+-----------+------+
trove数据库网页访问数据库备份模块可能会出现异常,可以通过命令行完成相关操作。

下一篇博客内容将更新heat服务组件。

云计算基础设施平台iaas(openstack)超级详细搭建(十三) 安装Trove服务相关推荐

  1. 超级详细VM16虚拟机安装CentOS 6.8创建虚拟机

    VM16虚拟机安装CentOS 6.8详细步骤 1.准备工作 1.1 安装好VM16 VM16超级详细的安装步骤:超级详细VM16下载安装步骤(含最新许可证密钥) - xiejiacheng - 博客 ...

  2. 超级详细 的 Redis 安装教程

    超级详细 的 Redis 安装教程 Windows 版本的 Redis 是 Microsoft 的开源部门提供的 Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux ...

  3. NAS 详细搭建方案 - 安装Windows Server

    目录 1 准备工作 2 安装硬件和操作系统 2.1 安装宿主系统ESXI 6.5 2.2 安装NAS操作系统 2.3 安装Windows Server 2.3.1 添加磁盘 2.4 安装Ubuntu ...

  4. 超级详细的mysql安装和配置教程

    文章目录 一.mysql的下载 百度云链接: 官网下载操作说明: 二.配置环境变量 三.Mysql的配置与安装 1.新建my.ini文件 2. 安装mysql 3.修改密码 一.mysql的下载 参考 ...

  5. 云计算基础平台iaas(openstack)超级详细搭建(一)

    先电云iaas(openstack)搭建(一) 这里我们首先进行基本环境的配置和安装. 由于整个iaas完整安装过程内容过多,我这里将分步进行 为了方便操作和更直观的观察 我这里包括后续步骤主要使用图 ...

  6. 怎么搭建xss平台云服务器,最详细搭建xss平台

    hello 大家好 我是Si Lun 今天来教大家搭建xss平台吧 就在刚刚老夫也是刚刚搭建完了,亲测可用, 拿出来跟大家分享下,其实自己没有必要去搭建,外面一堆xss平台,但是如何搭建的,还是要知道 ...

  7. NVIDIA Jetson NX配置深度学习环境(Pytorch、torchvision)超级详细,torchvision安装避坑总结

    NVIDIA Jetson NX配置深度学习环境 1.准备python环境 2.安装Pytorch 3.torchvision安装 4.torchvision安装报错问题解决 4.1前言 4.2问题描 ...

  8. 超级详细的JDK 安装与配置(包含二个或多个JDK的同时安装)

    一.JDK介绍 1.较常用的四个JDK版本 JDK8(=Java8=JDK1.8),这个版本较为成熟稳定,是JDK的一个重要长期支持版本(LTS),在生产环境中使用非常广泛: JDK11,增加了大量实 ...

  9. 超级详细的Vue安装与配置教程

    Vue web前端三大主流框架之一,是一套用于构建用户界面的渐进式框架,下面这篇文章主要给大家介绍了关于Vue安装与配置教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下 − 目录 一. ...

最新文章

  1. 数据挖掘之关联算法Apriori
  2. 【Python进阶】_JSON
  3. 文件复制函数的效率比较
  4. SAP Spartacus 的 Banner Component 请求
  5. IDEA多Module的Language Level的问题
  6. 如何把自己写的python程序给别人用
  7. 【CVPR 2021联邦学习论文解读】Model-Contrastive Federated Learning (MOON) 联邦学习撞上对比学习
  8. 解决无法下载安装Android SDK的问题
  9. 如何使用Matlab实现数据的拟合
  10. C# Chart之双Y轴图表实现
  11. iOS ☞ SDWebimage 内存暴增问题
  12. 软考成绩什么时候出?
  13. RIV A128显卡维修
  14. fpga在线升级 linux_以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍
  15. CSS display的属性
  16. 求购一个论坛发帖软件
  17. 设置Win8系统U盘启动
  18. mybatis中association的用法
  19. mysql导入dat文件_后缀名为dat的文件肿么导入到sql数据库
  20. 2920集五福_2020支付宝集五福福字图片 最容易扫出敬业福全家福卡福字图片最新一览...

热门文章

  1. 互联网公司程序员和外包公司程序员有什么区别?
  2. 简易 文章发布系统——前台界面
  3. 一起写RPC框架(一)RPC之我所见
  4. 04-MPI几个基本函数
  5. 微信html5 支付接口,黄聪:详解申请微信h5支付方法,开通微信h5网页支付接口(转)...
  6. pycharm新建项目
  7. 何恺明 matlab,[论文复现]何恺明博士CVPR2009去雾算法(1)
  8. C#编写第一个Windows桌面应用
  9. 静态文档,动态文档和活动文档
  10. 项目非组件文件进行路由跳转【react与vue等其他框架均可使用】