trove mitaka集成

本文介绍ubuntun 14.04 LTS 下openstack trove集成安装的步骤及配置。

1. 安装

1.1 配置apt源:

   echo “debhttp://ubuntu-cloud.archive.canonical.com/ubuntu/ trusty-updates/mitaka main”>/etc/apt/mitaka.list

apt-get -y installubuntu-cloud-keyring

apt-get update 

1.2 创建trove数据库

登录到安装后端数据库的管理节点上,一般的生产环境中可能会部署在controller节点上,并且mysql本身是以HA方式部署的,因此登录到任意一台包含DB的节点上,进行如下操作即可。

mysql–u root –p;

CREATEDATABASE trove

  GRANTALL PRIVILEGES ON trove.* TO 'trove'@'localhost'  IDENTIFIED BY 'TROVE_DBPASS';

GRANTALL PRIVILEGES ON trove.* TO 'trove'@'%'  IDENTIFIED BY 'TROVE_DBPASS'

替换TROVE_DBPASS为合适的密码

1.3 创建trove service

bash运行openstack租户环境变量管理员用户脚本(admin.rc),包含类似如下内容:

OS_AUTH_KEY=”openstack”   

OS_AUTH_URL=”http://localhost:5000/v2.0/”  

OS_PASSWORD=”admin_pass”  

OS_TENANT_NAME=”admin”  

OS_USERNAME=”admin

然后运行如下命令:

openstackuser create --domainlocal –password TROVE_PASS trove (替换local和TROVE_PASS 为环境相应的值)
openstackservice create --name trove --description "Database" database
openstack endpoint create --region nova database public https://controller:8779/v1.0/%\(tenant_id\)s
openstack endpoint create --region nova database adminhttp://controller:8779/v1.0/%\(tenant_id\)s
openstack endpoint create --region nova database internalhttp://controller:8779/v1.0/%\(tenant_id\)s 

(替换nova和controller为环境中正确的region值和IP,一般情况下,生产环境中都会在前端做负载,因此controller 的IP一般为一个VIP,可通过openstack catalog list查看其它服务的service IP查看) 

1.4 安装trove  

在controller节点上执行:  

apt-get install python-pexpect sqlite3   (注意:在执行该命令时,ubuntu官方源并不能完全安装,需要安装其它的源,比如163源,安装完毕后,需要去掉该源,以避免后续的trove安装)

   apt-getinstall python-trove trove-common trove-api trove-taskmanager trove-conductor

1.5 安装dashboard

   pipinstall trove-dashboard==7.0.0.0b2

   cp /usr/local/lib/python2.7/dist-packages/trove_dashboard/enabled/_[0-9]*.py* 

   /usr/share/openstack-dashboard/openstack_dashboard/local/enabled/

   service apache2 restart

2.配置

注意,下面配置文件中的值都需要根据openstack环境中的相应值进行设置。
2.1 配置trove-api

vim /etc/trove/trove.conf

[DEFAULT]
bind_host = controller_ip
log_dir = /var/log/trove
network_label_regex = .*
ip_regex = .*
rpc_backend=rabbit
control_exchange = trove
trove_auth_url = http://controller_ip:5000/v2.0
nova_compute_url = http://controller_ip:8774/v2
cinder_url = http://controller_ip:8776/v1
swift_url = http://controller_ip:8880/v1/AUTH_
neutron_url = http://controller_ip:9696/
notifier_queue_hostname = controller_ip
os_region_name = nova
endpoint_type = pulic
service_type = object-store
trove_volume_support = True
block_device_mapping = sdb
device_path = /dev/sdb
# Maximum volume size for an instance
max_accepted_volume_size = 10   #根据实际情况更改
max_instances_per_tenant = 5	#根据实际情况更改
# Maximum volume capacity (in GB) spanning across all trove volumes per tenant
max_volumes_per_tenant = 100	#根据实际情况更改
max_backups_per_tenant = 5	#根据实际情况更改
volume_time_out=30
network_driver = trove.network.neutron.NeutronDriver
api_paste_config = /etc/trove/api-paste.ini

[keystone_authtoken]
auth_uri = http://controller_ip:5000
auth_url = http://controller_ip:35357
auth_type = password
project_domain_name = local
user_domain_name = local
project_name = service
username = trove
password =TROVE_PASS

[database]
connection = mysql://trove:TROVE_DBPASS@dbnode_ip/trove

[oslo_messaging_rabbit]

rabbit_hosts=rabbitnode1_ip, rabbitnode2_ip, rabbitnode3_ip

rabbit_port=5672

rabbit_userid = admin

rabbit_password = admin

2.2 配置trove-taskmanager

vim /etc/trove/trove-taskmanager.conf

[DEFAULT]
log_dir = /var/log/trove
rpc_backend=rabbit
control_exchange = trove
trove_auth_url = http://172.16.12.112:5000/v2.0
nova_compute_url = http://172.16.12.112:8774/v2
cinder_url = http://172.16.12.112:8776/v1
swift_url = http://172.16.12.112:8880/v1/AUTH_
neutron_url = http://172.16.12.112:9696/
notifier_queue_hostname = 172.16.12.112
trove_volume_support = True
block_device_mapping = sdb
device_path = /dev/sdb
mount_point = /var/lib/mysql
use_nova_server_config_drive = True
nova_proxy_admin_user = admin
nova_proxy_admin_pass = Cloud/123
nova_proxy_admin_tenant_id = a2cf26b3bad0481f9fd7027b27d2c379
nova_proxy_admin_tenant_name = admin
network_driver = trove.network.neutron.NeutronDriver
network_label_regex = .*
guest_config = /etc/trove/trove-guestagent.conf
guest_info = guest_info.conf
injected_config_location = /etc/trove

[database]
connection = mysql://trove:TROVE_DBPASS@172.16.12.112/trove

[oslo_messaging_rabbit]
rabbit_host=172.16.12.112
rabbit_port=5672
rabbit_userid=admin
rabbit_password = admin

[mysql]
tcp_ports = 22, 3306
volume_support = True
device_path = /dev/sdb


2.3 配置trove-conductor

vim /etc/trove/trove-conductor.conf

[DEFAULT]
trove_auth_url = http://172.16.12.112:5000/v2.0
#connection = sqlite:var/lib/trove/trove.sqlite
log_dir = /var/log/trove
nova_compute_url = http://172.16.12.112:8774/v2
cinder_url = http://172.16.12.112:8776/v1
swift_url = http://172.16.12.112:8880/v1/AUTH_
neutron_url = http://172.16.12.112:9696/
notifier_queue_hostname = 172.16.12.112
rpc_backend = rabbit
control_exchange = trove

[database]
connection = mysql://trove:TROVE_DBPASS@172.16.12.112/trove

[oslo_messaging_rabbit]
rabbit_host=172.16.12.112
rabbit_port=5672
rabbit_userid=admin
rabbit_password = admin


2.4 配置guestagent注入文件

vim /etc/trove/trove-guestagent.conf

[DEFAULT]
control_exchange = trove
nova_proxy_admin_user = admin
nova_proxy_admin_pass = Cloud/123
nova_proxy_admin_tenant_name = admin
nova_proxy_admin_tenant_id = a2cf26b3bad0481f9fd7027b27d2c379
trove_auth_url = http://172.16.12.112:35357/v2.0
datastore_manager = mysql
swift_url = http://172.16.12.112:8880/v1/AUTH_
os_region_name = nova
swift_service_type = object-store
log_dir = /var/log/trove/
log_file = trove-guestagent.log

[oslo_messaging_rabbit]
rabbit_host=172.16.12.112
rabbit_port=5672
rabbit_userid=admin
rabbit_password = admin

2.5 数据库同步

trove-managedb_sync








### OpenStack 不同版本概述 OpenStack 是一个不断发展的开源云计算平台,随着时间推移发布了多个版本。每个版本通常会带来新的特性和改进现有功能。 #### 版本发布周期 OpenStack 社区遵循每六个月发布一次新版本的时间表。每次发布的命名方式最初采用美国城市名,后来改为字母顺序的人名[^1]。 #### 关键版本特性 - **Grizzly (2013年4月)** 这一版本引入了多租户网络支持,增强了对象存储Swift的功能,并改善了计算服务Nova的稳定性[^3]。 - **Icehouse (2014年4月)** Icehouse 增加了对更多硬件的支持,优化了Telemetry(Ceilometer)服务的数据收集能力,并加强了安全措施。 - **Juno (2014年10月)** Juno 主要关注用户体验提升,在UI方面做了大量改进;同时提高了系统的稳定性和性能。 - **Kilo (2015年4月)** Kilo 强化了跨区域复制功能,增加了对容器编排工具如Docker的支持,并进一步完善了Orchestration Heat的服务水平。 - **Liberty (2015年10月)** Liberty 对整个架构进行了大规模清理和现代化改造,特别是围绕身份认证Keystone和服务发现机制做出了重要调整。 - **Mitaka (2016年4月)** Mitaka 提升了高可用性(HA),特别是在控制平面组件之间实现了更强大的冗余方案;还推出了统一的身份验证框架Federation。 - **Newton (2016年10月)** Newton 加强了裸机即服务Ironic的能力,扩展了Cinder卷插件生态系统,并且在Neutron中加入了高级路由协议的支持。 - **Ocata (2017年2月)** Ocata 推出了新的Magnum API端点用于容器基础设施管理(Container Infrastructure Management, CIM),并增强了Trove数据库即服务(Database as a Service, DBaaS)的功能。 - **Pike (2017年9月)** Pike 继续推进Placement服务的发展,该服务从Nova分离出来成为独立项目,旨在更好地处理资源分配问题[^4]。 - **Queens (2018年2月)** Queens 改进了Cyborg加速器生命周期管理(Accelerator Lifecycle Management, ALM),以及Octavia负载均衡器(Load Balancer as a Service, LBaaS v2) 的性能和可靠性。 - **Rocky (2018年8月)** Rocky 集成了更多的边缘计算场景解决方案,比如StarlingX集成,同时也继续强化核心组件之间的互操作性。 - **Stein (2019年4月)** Stein 正式推出Placement作为独立服务来替代原有的nova-scheduler角色,显著提升了调度效率和准确性。 - **Train (2019年10月)** Train 完全去除了旧版placement接口,强制使用新版Placement RESTful API进行资源配置请求处理。 这些只是部分具有代表性的版本更新亮点。随着技术进步,后续版本还会持续加入创新元素和技术革新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值