云计算基础设施平台iaas(openstack)超级详细搭建(十三) 安装Trove服务
注意:接与上一篇博客内容 进行更新
由于整个开源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服务相关推荐
- 超级详细VM16虚拟机安装CentOS 6.8创建虚拟机
VM16虚拟机安装CentOS 6.8详细步骤 1.准备工作 1.1 安装好VM16 VM16超级详细的安装步骤:超级详细VM16下载安装步骤(含最新许可证密钥) - xiejiacheng - 博客 ...
- 超级详细 的 Redis 安装教程
超级详细 的 Redis 安装教程 Windows 版本的 Redis 是 Microsoft 的开源部门提供的 Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux ...
- NAS 详细搭建方案 - 安装Windows Server
目录 1 准备工作 2 安装硬件和操作系统 2.1 安装宿主系统ESXI 6.5 2.2 安装NAS操作系统 2.3 安装Windows Server 2.3.1 添加磁盘 2.4 安装Ubuntu ...
- 超级详细的mysql安装和配置教程
文章目录 一.mysql的下载 百度云链接: 官网下载操作说明: 二.配置环境变量 三.Mysql的配置与安装 1.新建my.ini文件 2. 安装mysql 3.修改密码 一.mysql的下载 参考 ...
- 云计算基础平台iaas(openstack)超级详细搭建(一)
先电云iaas(openstack)搭建(一) 这里我们首先进行基本环境的配置和安装. 由于整个iaas完整安装过程内容过多,我这里将分步进行 为了方便操作和更直观的观察 我这里包括后续步骤主要使用图 ...
- 怎么搭建xss平台云服务器,最详细搭建xss平台
hello 大家好 我是Si Lun 今天来教大家搭建xss平台吧 就在刚刚老夫也是刚刚搭建完了,亲测可用, 拿出来跟大家分享下,其实自己没有必要去搭建,外面一堆xss平台,但是如何搭建的,还是要知道 ...
- NVIDIA Jetson NX配置深度学习环境(Pytorch、torchvision)超级详细,torchvision安装避坑总结
NVIDIA Jetson NX配置深度学习环境 1.准备python环境 2.安装Pytorch 3.torchvision安装 4.torchvision安装报错问题解决 4.1前言 4.2问题描 ...
- 超级详细的JDK 安装与配置(包含二个或多个JDK的同时安装)
一.JDK介绍 1.较常用的四个JDK版本 JDK8(=Java8=JDK1.8),这个版本较为成熟稳定,是JDK的一个重要长期支持版本(LTS),在生产环境中使用非常广泛: JDK11,增加了大量实 ...
- 超级详细的Vue安装与配置教程
Vue web前端三大主流框架之一,是一套用于构建用户界面的渐进式框架,下面这篇文章主要给大家介绍了关于Vue安装与配置教程的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下 − 目录 一. ...
最新文章
- 数据挖掘之关联算法Apriori
- 【Python进阶】_JSON
- 文件复制函数的效率比较
- SAP Spartacus 的 Banner Component 请求
- IDEA多Module的Language Level的问题
- 如何把自己写的python程序给别人用
- 【CVPR 2021联邦学习论文解读】Model-Contrastive Federated Learning (MOON) 联邦学习撞上对比学习
- 解决无法下载安装Android SDK的问题
- 如何使用Matlab实现数据的拟合
- C# Chart之双Y轴图表实现
- iOS ☞ SDWebimage 内存暴增问题
- 软考成绩什么时候出?
- RIV A128显卡维修
- fpga在线升级 linux_以Flash控制器为核心的FPGA在线更新功能实现设计流程介绍
- CSS display的属性
- 求购一个论坛发帖软件
- 设置Win8系统U盘启动
- mybatis中association的用法
- mysql导入dat文件_后缀名为dat的文件肿么导入到sql数据库
- 2920集五福_2020支付宝集五福福字图片 最容易扫出敬业福全家福卡福字图片最新一览...
热门文章
- 互联网公司程序员和外包公司程序员有什么区别?
- 简易 文章发布系统——前台界面
- 一起写RPC框架(一)RPC之我所见
- 04-MPI几个基本函数
- 微信html5 支付接口,黄聪:详解申请微信h5支付方法,开通微信h5网页支付接口(转)...
- pycharm新建项目
- 何恺明 matlab,[论文复现]何恺明博士CVPR2009去雾算法(1)
- C#编写第一个Windows桌面应用
- 静态文档,动态文档和活动文档
- 项目非组件文件进行路由跳转【react与vue等其他框架均可使用】