5.controller部署nova服务

news2024/9/25 23:13:33
nova 服务是 OpenStack service 计算服务,负责维护和管理云环境的计算资源;
例如:
接收客户端请求需要的计算资源;
确定实例在哪个物理机上创建;
通过虚机化的方式将实例启动运行等工作。

controller节点

在安装和配置 nova 服务之前,必须创建服务对应的数据库用于存储相关数据然后授权nova 用户本地访问和远程访问两种访问权限。
mysql -u root -p123456

CREATE DATABASE nova_api;

CREATE DATABASE nova;

CREATE DATABASE nova_cell0;
nova_api数据库中存放全局信息,如:实例模型、实例组、实例配额
DATABASE存储nova本身元数据信息
nova_cell0数据库的模式与nova一样,主要用途就是当实例调度失败时,实例的信息放nova_cell0数据库中

 

#对以上三个库授权用户本地登录并设置密码(密码设置:123)
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123';
#对以上三个库授权用户远程登录并设置密码(密码设置:123)
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123';

 

 

创建认证账号

切换到 admin 用户,创建 nova 用户(密码: 123
source admin-openrc
openstack user create --domain default --password-prompt nova

查看用户列表

nova用户添加到service项目中拥有admin权限  

openstack role add --project service --user nova admin
创建一个 service 服务(供其他服务访问)名称为 nova ,类型为 compute
openstack service create --name nova --description "OpenStack Compute" compute

 

创建nova服务API端点 

admin :管理员访问的 API 端点
internal :内部服务访问的 API 端点
public : 可以被所有项目访问的 API 端点
#创建public端点
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1

#创建internal端点
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1

#创建admin端点
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1

 

nova服务安装和配置

安装nova软件包:
nova-api:用于响应客户的调度;(客户通过这个去实现虚机添加)
nova-conductor:用于和数据库交互
nova-novncproxy:用于通过vnc方式连接实例
nova-scheduler:用于调度虚拟机实例在那台计算节点运行
yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler
修改 nova 配置文件,配置文件: /etc/nova/nova.conf
#查看文件属性
ll /etc/nova/nova.conf

注意属组为nova

#提前备份配置文件
cp /etc/nova/nova.conf{,.bak}
#重新生成配置文件
egrep -v '^#|^$' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
#查看文件属性
ll /etc/nova/nova.conf
-rw-r----- 1 root nova 736 12月 12 16:51 /etc/nova/nova.conf
vim /etc/nova/nova.conf

#指定nova支持的api类型、指定连接的rabbitmq的用户密码123、通过neutron获取虚拟机实例IP地址、禁用nova服务的防火墙驱动、否则会与网络服务neutron防火墙驱动冲突
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:123@controller:5672/
my_ip = 192.168.0.50
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
#认证服务为keystone
[api]
auth_strategy = keystone
#访问nova_api数据库使用的用户及密码:123
[api_database]
connection = mysql+pymysql://nova:123@controller/nova_api
#访问nova数据库使用的用户及密码:123
[database]
connection = mysql+pymysql://nova:123@controller/nova
#指定glacne的api,nova启动实例需要找glance要镜像
[glance]
api_servers = http://controller:9292
#配置keystone认证信息,密码123
[keystone_authtoken]
www_authenticate_uri = http://controller:5000/
auth_url = http://controller:5000/
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = 123
#启动vnc、指定vnc的监听地址为本机IP、server客户端地址为本机地址,此地址是管理网的地址
[vnc]
enabled = true
server_listen = $my_ip
server_proxyclient_address = $my_ip
#配置lock锁的临时存放目录,锁的作用是创建虚拟机时,在执行某个操作的时候,需要等此步骤执行完后才能执行下一个步骤,不能并行执行,保证操作是一步一步的执行
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
#nova需要访问placement获取计算节点的资源使用情况,注意这里的placement密码是:123
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = 123

 

初始化 nova_api 数据库

su -s /bin/sh -c "nova-manage api_db sync" nova

 注册cell0数据库

一般情况下 nova 需要依赖一个逻辑的数据库和消息队列来进行组件之间的相互交换,这就会给整个系统的扩容和灾难迁移带来困难。而数据库和消息队列正在成为openstack 扩展的瓶颈。尤其是消息队列,伴随着集群规模的扩展,其性能下降尤其明显。通常当集群规模扩展到200个节点,一个消息可能要十几秒后才会响应,集群的整体性能大大下降。针对nova 的这个问题,提出了 nova-cell 的概念,这个概念的提出主要是把计算节点分成更多个更小的单元,每一个单元都有自己的数据库和消息队列
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
创建 cell1 单元格
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
初始化 nova 数据库
su -s /bin/sh -c "nova-manage db sync" nova
验证 cell0 cell1 是否注册成功
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

查看数据库中情况

 

mysql -u nova -p123
show databases;
use nova
show tables;
use nova_api
show tables;
use nova_cell0
show tables;

 

启动Nova服务

#设置服务自启动
systemctl enable \
openstack-nova-api.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service
#启动服务
systemctl start \
openstack-nova-api.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service
#查看服务状态
systemctl is-active \
openstack-nova-api.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service
#提示:每次系统关机重启后,需要再次确认nova服务的状态,如果有相关服务
没有启动,则重启nova服务
systemctl restart \
openstack-nova-api.service \
openstack-nova-scheduler.service \
openstack-nova-conductor.service \
openstack-nova-novncproxy.service

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA为什么要面向对象

JAVA是一个面向对象的语言 ok,我们开始,用了那么久的java,看了那么多代码,你是否懂得了面向对象,今天我们的第一个问题就是,为什么java要面向对象,要解释为啥要面向对象,我们首先要…

Python selenium自动化测试模型图解

1、线性测试 优势:每一个脚本都是完整独立的,每一个脚本对应一个测试用例 缺点:开发成本高,会有重复操作重复脚本;维护成本也高,修改重复操作的脚本时,要逐一进行修改。 2、模块化驱动测试 …

2023年计算机专业毕业实习报告最新

2023年计算机专业毕业实习报告最新篇1 一、实习基本情况 按照学校对毕业生的要求,为毕业后的工作和谋职打下良好的基础。我于X年X月来到山西柳林汇丰兴业同德焦煤有限公司进行为期X个月的实习。毕业实习让我们想起那句老话:“让学生赢在起跑线上。”在学…

验证性实验 - 线性回归

练习1:线性回归 介绍 在本练习中,您将实现线性回归并了解其在数据上的工作原理。 在开始练习前,需要下载如下的文件进行数据上传: ex1data1.txt -单变量的线性回归数据集ex1data2.txt -多变量的线性回归数据集 在整个练习中&a…

马斯克撕下美国的遮羞布,美企纷纷背刺,外媒:可怕的还在后面

马斯克访华造成的影响还在持续,随着更多美国企业家访华以及表明态度,可以说他们正撕下美国的遮羞布,今天的美国其实早已背离了当初他们所宣扬的价值,凸显出外强中干的本质。 二.美国企业家纷纷访华撕下美国遮羞布 美国一直都标榜贸…

某购房通小程序解密分析【2023.6.17】

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 主要对小程序返回的加密结果进行解密的分析过程只…

如何在编程中中实现负载均衡和容错处理

什么是容错 容错是指系统(计算机、网络、云集群等)在其一个或多个组件发生故障时继续运行而不会中断的能力。 创建容错系统的目的是防止由单点故障引起的中断,确保任务关键型应用程序或系统的高可用性和业务连续性。 容错系统使用备份组件…

DAY26:回溯算法(一):回溯算法理论

课程链接:https://www.bilibili.com/video/BV1cy4y167mM/?spm_id_from333.788 什么是回溯法 回溯法 - OI Wiki (oi-wiki.org) 回溯法是一种经常被用在 深度优先搜索(DFS) 和 广度优先搜索(BFS) 的技巧。 其本质是…

Elasticsearch 基本使用(一)写入数据

写入数据 查询索引状态写入一条数据查询数据按id查询一条 类比 getById不按id查 写入官方测试数据 查询索引状态 GET _cat/indices写入一条数据 PUT/POST my_index/_doc/1 {"k": "test key" }my_index:索引名 _doc:文档类型&#…

css基础知识三:说说em/px/rem/vh/vw的区别?

一、介绍 传统的项目开发中,我们只会用到px、%、em这几个单位,它可以适用于大部分的项目开发,且拥有比较良好的兼容性 从CSS3开始,浏览器对计量单位的支持又提升到了另外一个境界,新增了rem、vh、vw、vm等一些新的计量…

2023年网络安全竞赛——网页渗透

网页渗透 任务环境说明:  服务器场景:Server2120  服务器场景操作系统:未知(封闭靶机)  用户名:未知 密码:未知 访问服务器的网站主页,猜测后台数据库中本网页中应用的库名称长度,将长度作为flag提交; 通过扫描发现靶机开放80端口,直接访问80 尝试输入一个1,…

Web安全信息收集之CMS指纹识别

1、CMS指纹识别 CMS(内容管理系统),又称整站系统或文章系统网站内容管理。用户只需要下载对应的CMS软 件包,部署搭建,就可以直接利用CMS,简单方便。但是各种CMS都具有其独特的结构命名规则和定 的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本 常见CMs: …

软件管理Linux

1. 获取程序包的途径 系统发行版的光盘或官方的服务器 http://mirrors.aliyun.comhttp://mirrors.sohu.comhttp://mirrors.163.com 项目官方站点第三方组织 Fedora-EPEL(推荐)搜索引擎: http://pkgs.org http://rpmfind.net http://rpm.pbon…

数据库第十章(数据库恢复技术)十一章(并发控制)

目录 1.事务 2.并发控制 1.事务 事务的特点:ACID 原子性 atom 一致性 consistent 隔离性 isolation 持久性 durable 故障的种类 1.事务内部故障 措施:采取redo重做和undo撤销技术 2.系统故障DBMS 措施:重启 3.介质故障 硬件损坏 4.计…

msvcr110.dll丢失的解决方法-dll一键下载修复

我们在运行软件程序或者游戏的时候,如果程序提示“无法启动此程序,因为计算机中丢失msvcr110.dll。尝试重新安装该程序以解决此问题”,如果说明您电脑系统中缺少或者未注册msvcr110.dll这个运行库文件,那么我们要如何解决这个问题…

大学生简历信息填写模板

大学生简历信息填写模板篇1 姓名:__性别:_年龄:22健康状况:良好 籍贯:__家庭背景:职工家庭 所学专业:市场营销学历:本科(在读) 参业意向:可从事文秘工作、贸易、产品营销…

pytorch神经网络及训练(一)

pytorch神经网络及训练(一) 随机梯度下降算法 随机梯度下降算法(SGD)是对梯度下降算法的一种改进。 直观上SG的方法可能效率上更优。考虑这样一个情况,我们的训练数据集合 是由小的数据 集合复制10份得到的。此时&…

Java代码规范的重要性

目录 1 为什么需要代码规范1.1 不规范的案例1.1.1 就因为忘记加个分号,整个程序都崩溃了1.1.2 我为什么没写注释?1.1.3 谁动了我的代码?1.1.4 半小时写的代码,花两个小时调试 1.2 代码编写1.3 在项目架构1.4 数据库设计1.5 编写文…

openpnp - 软件版本的更新记录(机器翻译)

文章目录 openpnp - 软件版本的更新记录(机器翻译)概述openpnp更新历史记录机翻了一个版本, 大概齐参考一下.END openpnp - 软件版本的更新记录(机器翻译) 概述 卡在底部相机矫正上, 底部相机的硬件安装已经很精确了, 基本能排除是硬件问题. 现在问题定位, 大概率是openpnp软…

g++ -v 若显示g++不是内部或外部命令`

MinGW - Minimalist GNU for Windows Files下载地址 下载地址点这里https://sourceforge.net/projects/mingw/files/ . exe文件下载后建议安装在D盘下tools文件夹下(个人习惯) 此次安装在默认路径下,直接傻瓜式安装 安装: 1.…