nova各个服务的作用

openstack-cinder-api.service                                                     
openstack-cinder-scheduler.service                                               
openstack-cinder-volume.service                                                  
openstack-glance-api.service                                                     
openstack-glance-registry.service                                                
openstack-nova-api.service                                                      
openstack-nova-cert.service                                                      
openstack-nova-conductor.service                                                
openstack-nova-consoleauth.service                                               
openstack-nova-novncproxy.service                                                
openstack-nova-scheduler.service
openstack-nova-metadata-api.service
openstack-nova-compute.service                                                   

openstack-nova-metadata-api.service           

openstack-nova-network.service                                 

  

nova-api负责接受和响应终端用户有关虚拟机和云硬盘的请求,提供了openstackAPI,亚马逊EC2AP以及管理员控制API,一句话:nova-api是整个nova的入口。它接受用户请求,将指令发送至消息队列,由相应的服务执行相关的指令信息。

nova-compute是主要的执行守护进程,职责是基于各种虚拟化技术Hypervisior实现创建和终止虚拟机。nova-compute有两个工作,接受消息队列中的执行指令,并执行相关指令,如部署虚拟机。维护数据库相关模型的状态数据。

nova-compute整合了计算资源CPU,存储,网络三类资源部署管理虚拟机,实现计算能力的交付。包括如下内容:运行虚拟机,终止虚拟机,重启虚机,挂载虚拟机,挂载云硬盘,卸载云硬盘,控制台输出。

nova-volume/Cinder的职责是创建,挂载,和卸载持久化的磁盘虚拟机,运行机制类似nova-compute。同样是接受消息队列中的执行指令,并执行相关指令,volume的职责包括如下:创建云硬盘,删除云硬盘,弹性计算硬盘。一句话:就是为虚拟机增加块设备存储。

nova-network的职责是实现网络资源池的管理,包括IP池,网桥接口,VLAN,防火墙的管理。接受消息队列指令消息并执行。network的职责包括如下:分配私有云,VLAN,配置计算节点网络。nova-network解决云计算网络资源池的网络问题。

nova-schedule的职责是调度虚拟机在哪个物理宿主机上部署,接受消息队列指令并执行。

Queue也就是消息队列,他就像是网络上的一个hub,nova各个组件之间的通信几乎都是靠它进行的,当前的Queue是用RabbitMQ实现的,它和database一起为各个守护进程之间传递消息。

组件:
API
Nova-api请求和回复一个用户计算的API,支持openstack 计算API,Amazon EC2 api和Admin Api对特权用户执行管理操作,另外启动最新的任务,如运行一个实例,安装一个虚拟机
Nova-api-metadata 接受来自实例的元数据请求

Comput core
Nova-comput
进程,一个守护进程,通过虚拟机管理程序的API创建和终止虚拟机实例,如xenapi for xenserver/xcp libvirt适用于kvm 或qemu vmwareapi 适用于vmware
Nova-scheduler 进程,调度,从消息队列中取一个虚拟机实例的请求,并执行在其虚拟主机上。
Nova-conductor 模式,介于nova-computer和database之间,设计目的在于消除直接nova-computer直接访问云数据库。

Networking for VMs
Nova-network 工作守护进程,类nova-computer它接受消息队列中的任务闭幕式执行,如设立桥接接口或者更改iptables规则,
Nova-dhcpbridge 脚本,跟踪IP地址租约,并通过使用dnsmasq的DHCP脚本记录在数据库中。

Console interface
Noca-consoleauth 守护进程,由用户的console控制台代理提供授权tokens,两种模式nova-novncproxy和nova-xvpnvcproxy
nova-novncproxy 守护进程,提供了VNC连接访问正在运行的实例的代表,基于novnc客户浏览器
Nova-console 已经弃用,被 nova-xvpnvncproxy取代
nova-xvpnvncproxy 守护进程,通过vnc连接访问正在运行的实例代理,支持专门设计的Openstack的java客户端
Nova-cert 守护进程,管理x509证书

Image management
nova-objectstore 提供了一个用于注册S3接口的镜像服务,主要必须支持euca2ools安装,nova-objectstore转换S3请求镜像服务的请求
Euca2ools 客户端,一组命令解释器来管理云资源,可以配置nova-api来支持EC2接口。
Command-line clients and other interfaces
Nova 客户端 使用户、租客管理员提交命令
Nova-manage 客户端,使云管理员提交命令

Other components
The queue 消息队列 rabbitmq,apache qpid zeromq
Sql database 数据库mysql,sqlite,PostgreSQL









<think>好的,用户想安装和配置OpenStack Nova计算服务,我需要根据提供的引用内容来整理步骤。首先,引用[1]、[2]、[3]提到了安装nova软件包的具体命令,包括不同的组件如api、conductor、scheduler、novncproxy等。用户需要先安装这些包,可能需要用yum命令。 然后,配置文件的编辑部分也很重要,引用[1]和[2]提到需要编辑nova.conf文件,设置数据库连接、消息队列、认证信息等。这里要指导用户如何修改各个部分,比如连接MySQL、RabbitMQ,以及Keystone的认证参数。 接下来是初始化数据库,引用[1]提到使用su -s和nova-manage命令来同步数据库,这一步不能漏掉,否则数据库结构不会正确创建。 服务启动和开机自启,引用[3]有具体的systemctl命令,需要启动各个nova服务并设置enable,确保重启后自动运行。用户可能还需要验证服务状态,引用[4]中的openstack compute service list可以检查服务是否正常。 另外,引用[5]提到nova与其他组件的交互,比如Keystone、Glance、Neutron,这部分可能需要在配置文件中正确设置各个服务的endpoint,确保Nova能与其他服务通信。 用户的问题可能还包括安装后的验证步骤,比如查看服务列表,检查日志是否有错误等。需要提醒用户完成这些步骤以确保安装成功。同时,可能需要指导防火墙配置和SELinux设置,但引用中没有提到,可能需要根据经验补充。 最后,生成的相关问题应该围绕安装后的配置、常见错误排查、组件交互等,帮助用户进一步学习。比如如何验证Nova安装是否正确,或者如何配置调度策略,这些都是用户可能会遇到的问题。</think>### OpenStack Nova计算服务安装与配置指南 以下是基于CentOS系统的安装流程(以控制节点为例): #### 一、安装软件包 ```bash # 安装核心组件 yum install -y openstack-nova-api openstack-nova-conductor \ openstack-nova-scheduler openstack-nova-novncproxy \ openstack-nova-placement-api ``` 注意:计算节点需额外安装`openstack-nova-compute`[^1][^2][^3] #### 二、配置Nova服务 1. 编辑`/etc/nova/nova.conf`: ```ini [DEFAULT] transport_url = rabbit://openstack:密码@控制节点IP my_ip = 当前节点IP use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver [api_database] connection = mysql+pymysql://nova:密码@控制节点IP/nova_api [database] connection = mysql+pymysql://nova:密码@控制节点IP/nova [api] auth_strategy = keystone [keystone_authtoken] www_authenticate_uri = http://控制节点IP:5000 auth_url = http://控制节点IP:5000 memcached_servers = 控制节点IP:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = 密码 [vnc] enabled = true server_listen = $my_ip server_proxyclient_address = $my_ip [glance] api_servers = http://控制节点IP:9292 [oslo_concurrency] lock_path = /var/lib/nova/tmp [placement] region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://控制节点IP:5000/v3 username = placement password = 密码 ``` #### 三、初始化数据库 ```bash su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova su -s /bin/sh -c "nova-manage db sync" nova ``` #### 四、启动服务并设置自启 ```bash systemctl enable --now openstack-nova-api \ openstack-nova-scheduler \ openstack-nova-conductor \ openstack-nova-novncproxy ``` #### 五、验证安装 ```bash # 查看服务列表 openstack compute service list # 预期输出应包含各组件状态为"enabled"和"up"[^4] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值