【OpenStack】【Nova】安装与配置详解 (1)
文章目录
- centos-openstack-rocky仓库中Nova相关的包
- openstack-nova-common包
- openstack-nova-api包
- openstack-nova-conductor包
- openstack-nova-console包
- openstack-nova-novncproxy包
- openstack-nova-scheduler包
- openstack-nova-placement-api包
- openstack-nova-compute包
- python-nova包
- python2-novaclient包
- nova相关的服务
- openstack-nova-api服务
centos-openstack-rocky仓库中Nova相关的包
[tony@tony-controller ~]$ yum_repo_package_list centos-openstack-rocky | grep nova
openstack-nova-api.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-common.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-compute.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-conductor.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-console.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-novncproxy.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-placement-api.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
openstack-nova-scheduler.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
python-nova.noarch 1:18.2.0-1.el7 @centos-openstack-rocky
python2-novaclient.noarch 1:11.0.0-1.el7 @centos-openstack-rocky
openstack-nova.noarch 1:18.2.0-1.el7 centos-openstack-rocky
openstack-nova-cells.noarch 1:18.2.0-1.el7 centos-openstack-rocky
openstack-nova-migration.noarch 1:18.2.0-1.el7 centos-openstack-rocky
openstack-nova-network.noarch 1:18.2.0-1.el7 centos-openstack-rocky
openstack-nova-serialproxy.noarch 1:18.2.0-1.el7 centos-openstack-rocky
openstack-nova-spicehtml5proxy.noarch 1:18.2.0-1.el7 centos-openstack-rocky
puppet-nova.noarch 13.3.1-1.el7 centos-openstack-rocky
python-nova-tests.noarch 1:18.2.0-1.el7 centos-openstack-rocky
python-novaclient-doc.noarch 1:11.0.0-1.el7 centos-openstack-rocky
python-novajoin.noarch 1.1.1-2.el7 centos-openstack-rocky
python-novajoin-doc.noarch 1.1.1-2.el7 centos-openstack-rocky
python-novajoin-tests-tempest-doc.noarch
python-novajoin-tests-unit.noarch 1.1.1-2.el7 centos-openstack-rocky
python2-novajoin-tests-tempest.noarch 0.0.1-0.2.f657712git.el7
openstack-nova-common包
这个包中包含了重要的配置文件,命令行接口以及被其他的nova服务依赖的公共库等。
- /etc/nova/nova.conf
- /usr/bin/nova-manage
- /usr/bin/nova-status
[tony@tony-controller ~]$ yum_info openstack-nova-common
sudo yum info openstack-nova-common
...
Description :: ...: This package contains scripts, config and dependencies shared: between all the OpenStack nova services.sudo rpm -ql openstack-nova-common
/etc/logrotate.d/openstack-nova
/etc/nova
/etc/nova/api-paste.ini
/etc/nova/nova.conf
/etc/nova/policy.json
/etc/nova/release
/etc/nova/rootwrap.conf
/etc/sudoers.d/nova
/usr/bin/nova-manage
/usr/bin/nova-policy
/usr/bin/nova-rootwrap
/usr/bin/nova-rootwrap-daemon
/usr/bin/nova-status
/usr/share/doc/openstack-nova-common-18.2.0
/usr/share/doc/openstack-nova-common-18.2.0/policy.yaml.sample
/usr/share/licenses/openstack-nova-common-18.2.0
/usr/share/licenses/openstack-nova-common-18.2.0/LICENSE
/usr/share/locale/cs/LC_MESSAGES/nova.mo
...
/usr/share/locale/zh_TW/LC_MESSAGES/nova.mo
/usr/share/nova
/usr/share/nova/interfaces.template
/usr/share/nova/nova-dist.conf
/usr/share/nova/rootwrap/network.filters
/var/lib/nova
/var/lib/nova/buckets
/var/lib/nova/instances
/var/lib/nova/keys
/var/lib/nova/networks
/var/lib/nova/tmp
/var/log/nova
/var/run/nova
openstack-nova-api包
这个包里包含了nova-api服务的配置文件,以及可执行文件。
在Rocky的最简安装配置中,只启用的nova-api服务。另外两个nova-metadata-api服务与nova-os-compute-api服务没有启用。
[tony@tony-controller ~]$ yum_info openstack-nova-api
sudo yum info openstack-nova-api
Name : openstack-nova-api
Description :: ...: This package contains the Nova services providing programmatic access.sudo rpm -ql openstack-nova-api
/usr/bin/nova-api
/usr/bin/nova-api-metadata
/usr/bin/nova-api-os-compute
/usr/bin/nova-api-wsgi
/usr/bin/nova-metadata-wsgi
/usr/lib/systemd/system/openstack-nova-api.service
/usr/lib/systemd/system/openstack-nova-metadata-api.service
/usr/lib/systemd/system/openstack-nova-os-compute-api.service
/usr/share/nova/rootwrap/api-metadata.filters
openstack-nova-conductor包
这个包为compute服务提供数据库访问。conductor并不是一个服务。
[tony@tony-controller ~]$ yum_info openstack-nova-conductor
sudo yum info openstack-nova-conductor
Name : openstack-nova-conductor
Description :: ...: This package contains the Nova services providing database access for: the compute servicesudo rpm -ql openstack-nova-conductor
/usr/bin/nova-conductor
/usr/lib/systemd/system/openstack-nova-conductor.service
openstack-nova-console包
这个包为虚拟机提供了console服务。
[tony@tony-controller ~]$ yum_info openstack-nova-console
sudo yum info openstack-nova-console
Name : openstack-nova-console
Description :: ...: This package contains the Nova services providing: console access services to Virtual Machines.sudo rpm -ql openstack-nova-console
/usr/bin/nova-console
/usr/bin/nova-consoleauth
/usr/bin/nova-xvpvncproxy
/usr/lib/systemd/system/openstack-nova-console.service
/usr/lib/systemd/system/openstack-nova-consoleauth.service
/usr/lib/systemd/system/openstack-nova-xvpvncproxy.service
openstack-nova-novncproxy包
这个包包含了Nova noVNC Proxy服务,使用浏览器webstockets连接来代理VNC访问。
[tony@tony-controller ~]$ yum_info openstack-nova-novncproxy
sudo yum info openstack-nova-novncproxy
Name : openstack-nova-novncproxy
Description :: ...: This package contains the Nova noVNC Proxy service that can proxy: VNC traffic over browser websockets connections.sudo rpm -ql openstack-nova-novncproxy
/etc/sysconfig/openstack-nova-novncproxy
/usr/bin/nova-novncproxy
/usr/lib/systemd/system/openstack-nova-novncproxy.service
openstack-nova-scheduler包
这个包包含了调度服务,用于调度虚拟机在云中的运行。
[tony@tony-controller ~]$ yum_info openstack-nova-scheduler
sudo yum info openstack-nova-scheduler
Name : openstack-nova-scheduler
Description : ...: This package contains the service for scheduling where: to run Virtual Machines in the cloud.sudo rpm -ql openstack-nova-scheduler
/usr/bin/nova-scheduler
/usr/lib/systemd/system/openstack-nova-scheduler.service
openstack-nova-placement-api包
这个包包含了Nova placement服务,这个服务最初允许对资源提供者的管理。
[tony@tony-controller ~]$ yum_info openstack-nova-placement-api
sudo yum info openstack-nova-placement-api
Name : openstack-nova-placement-api
Description : ...: This package contains the Nova placement service, which will initially: allow for the management of resource providers.sudo rpm -ql openstack-nova-placement-api
/etc/httpd/conf.d/00-nova-placement-api.conf
/usr/bin/nova-placement-api
openstack-nova-compute包
这个包包含了控制虚拟机的服务
[tony@tony-controller ~]$ yum_info openstack-nova-compute
sudo yum info openstack-nova-compute
Name : openstack-nova-compute
Description :...: This package contains the Nova service for controlling Virtual Machines.sudo rpm -ql openstack-nova-compute
/usr/bin/nova-compute
/usr/lib/systemd/system/openstack-nova-compute.service
/usr/share/nova/rootwrap/compute.filters
python-nova包
这个包包括了nova的python库。
[tony@tony-controller ~]$ yum_info python-nova
sudo yum info python-nova
Name : python-nova
Description : ...: This package contains the nova Python library.
nova的库所在的主要目录
[tony@tony-controller ~]$ sudo rpm -ql python-nova | grep -v "\.py"
/usr/lib/python2.7/site-packages/nova
/usr/lib/python2.7/site-packages/nova-18.2.0-py2.7.egg-info
…
/usr/lib/python2.7/site-packages/nova/api
/usr/lib/python2.7/site-packages/nova/api/ec2
/usr/lib/python2.7/site-packages/nova/api/metadata
/usr/lib/python2.7/site-packages/nova/api/openstack
/usr/lib/python2.7/site-packages/nova/api/openstack/compute
/usr/lib/python2.7/site-packages/nova/api/openstack/compute/rest_api_version_history.rst
/usr/lib/python2.7/site-packages/nova/api/openstack/compute/schemas
/usr/lib/python2.7/site-packages/nova/api/openstack/compute/views
/usr/lib/python2.7/site-packages/nova/api/openstack/placement
/usr/lib/python2.7/site-packages/nova/api/openstack/placement/handlers
/usr/lib/python2.7/site-packages/nova/api/openstack/placement/objects
/usr/lib/python2.7/site-packages/nova/api/openstack/placement/policies
/usr/lib/python2.7/site-packages/nova/api/openstack/placement/rest_api_version_history.rst
/usr/lib/python2.7/site-packages/nova/api/openstack/placement/schemas
/usr/lib/python2.7/site-packages/nova/api/validation
/usr/lib/python2.7/site-packages/nova/cells
/usr/lib/python2.7/site-packages/nova/cells/filters
/usr/lib/python2.7/site-packages/nova/cells/weights
/usr/lib/python2.7/site-packages/nova/cmd
/usr/lib/python2.7/site-packages/nova/common
/usr/lib/python2.7/site-packages/nova/compute
/usr/lib/python2.7/site-packages/nova/compute/monitors
/usr/lib/python2.7/site-packages/nova/compute/monitors/cpu
/usr/lib/python2.7/site-packages/nova/conductor
/usr/lib/python2.7/site-packages/nova/conductor/tasks
/usr/lib/python2.7/site-packages/nova/conf
/usr/lib/python2.7/site-packages/nova/console
/usr/lib/python2.7/site-packages/nova/console/rfb
/usr/lib/python2.7/site-packages/nova/console/securityproxy
/usr/lib/python2.7/site-packages/nova/console/xvp.conf.template
/usr/lib/python2.7/site-packages/nova/consoleauth
/usr/lib/python2.7/site-packages/nova/db
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api_migrations
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api_migrations/migrate_repo
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api_migrations/migrate_repo/README
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api_migrations/migrate_repo/migrate.cfg
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api_migrations/migrate_repo/versions
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo/README
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo/migrate.cfg
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo/versions
/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo/versions/246_sqlite_upgrade.sql
/usr/lib/python2.7/site-packages/nova/hacking
/usr/lib/python2.7/site-packages/nova/image
/usr/lib/python2.7/site-packages/nova/image/download
/usr/lib/python2.7/site-packages/nova/ipv6
/usr/lib/python2.7/site-packages/nova/keymgr
/usr/lib/python2.7/site-packages/nova/network
/usr/lib/python2.7/site-packages/nova/network/neutronv2
/usr/lib/python2.7/site-packages/nova/network/security_group
/usr/lib/python2.7/site-packages/nova/notifications
/usr/lib/python2.7/site-packages/nova/notifications/objects
/usr/lib/python2.7/site-packages/nova/objects
/usr/lib/python2.7/site-packages/nova/pci
/usr/lib/python2.7/site-packages/nova/policies
/usr/lib/python2.7/site-packages/nova/privsep
/usr/lib/python2.7/site-packages/nova/scheduler
/usr/lib/python2.7/site-packages/nova/scheduler/client
/usr/lib/python2.7/site-packages/nova/scheduler/filters
/usr/lib/python2.7/site-packages/nova/scheduler/weights
/usr/lib/python2.7/site-packages/nova/servicegroup
/usr/lib/python2.7/site-packages/nova/servicegroup/drivers
/usr/lib/python2.7/site-packages/nova/virt
/usr/lib/python2.7/site-packages/nova/virt/disk
/usr/lib/python2.7/site-packages/nova/virt/disk/mount
/usr/lib/python2.7/site-packages/nova/virt/disk/vfs
/usr/lib/python2.7/site-packages/nova/virt/hyperv
/usr/lib/python2.7/site-packages/nova/virt/hyperv/README.rst
/usr/lib/python2.7/site-packages/nova/virt/image
/usr/lib/python2.7/site-packages/nova/virt/interfaces.template
/usr/lib/python2.7/site-packages/nova/virt/ironic
/usr/lib/python2.7/site-packages/nova/virt/libvirt
/usr/lib/python2.7/site-packages/nova/virt/libvirt/storage
/usr/lib/python2.7/site-packages/nova/virt/libvirt/volume
/usr/lib/python2.7/site-packages/nova/virt/powervm
/usr/lib/python2.7/site-packages/nova/virt/powervm/disk
/usr/lib/python2.7/site-packages/nova/virt/powervm/tasks
/usr/lib/python2.7/site-packages/nova/virt/powervm/volume
/usr/lib/python2.7/site-packages/nova/virt/vmwareapi
/usr/lib/python2.7/site-packages/nova/virt/xenapi
/usr/lib/python2.7/site-packages/nova/virt/xenapi/image
/usr/lib/python2.7/site-packages/nova/virt/zvm
/usr/lib/python2.7/site-packages/nova/vnc
/usr/lib/python2.7/site-packages/nova/volume
…
python2-novaclient包
这个包包括nova命令行接口/usr/bin/nova,以及nova client相应的库。
[tony@tony-controller ~]$ yum_info python2-novaclient
sudo yum info python2-novaclient
Name : python2-novaclient
Description :: This is a client for the OpenStack Nova API. There's a Python API (the: novaclient module), and a command-line script (nova). Each implements 100% of: the OpenStack Nova API.sudo rpm -ql python2-novaclient
/etc/bash_completion.d
/etc/bash_completion.d/nova
/usr/bin/nova
/usr/bin/nova-2
/usr/bin/nova-2.7
/usr/lib/python2.7/site-packages/novaclient
/usr/lib/python2.7/site-packages/novaclient/__init__.py
/usr/lib/python2.7/site-packages/novaclient/__init__.pyc
/usr/lib/python2.7/site-packages/novaclient/__init__.pyo
...
nova相关的服务
[tony@tony-controller ~]$ sudo systemctl | grep openstack-nova
Service Name | Description | Entry Executable |
---|---|---|
openstack-nova-api.service | OpenStack Nova API Server | /usr/bin/nova-api |
openstack-nova-compute.service | OpenStack Nova Compute Server | /usr/bin/nova-compute |
openstack-nova-conductor.service | OpenStack Nova Conductor Server | /usr/bin/nova-conductor |
openstack-nova-consoleauth.service | OpenStack Nova VNC console auth Server | /usr/bin/nova-consoleauth |
openstack-nova-novncproxy.service | OpenStack Nova NoVNC Proxy Server | /usr/bin/nova-novncproxy --web /usr/share/novnc/ $OPTIONS |
openstack-nova-scheduler.service | OpenStack Nova Scheduler Server | /usr/bin/nova-scheduler |
openstack-nova-api服务
nova-api服务的入口程序是/usr/bin/nova-api,这是一个python程序。
[tony@tony-controller ~]$ systemctl_status openstack-nova-api.service
● openstack-nova-api.service - OpenStack Nova API ServerLoaded: loaded (/usr/lib/systemd/system/openstack-nova-api.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2019-04-15 15:26:18 CST; 2 days agoMain PID: 8567 (nova-api)Tasks: 3CGroup: /system.slice/openstack-nova-api.service├─8567 /usr/bin/python2 /usr/bin/nova-api├─8607 /usr/bin/python2 /usr/bin/nova-api└─8609 /usr/bin/python2 /usr/bin/nova-apiApr 15 15:26:09 tony-controller systemd[1]: Stopped OpenStack Nova API Server.
Apr 15 15:26:09 tony-controller systemd[1]: Starting OpenStack Nova API Server...
Apr 15 15:26:18 tony-controller systemd[1]: Started OpenStack Nova API Server.
查看一下源代码,非常简单:从nova.cmd.api中导入main(),然后执行,main()退出后,main()的返回值送给sys.exit()函数。
[tony@tony-controller ~]$ cat /usr/bin/nova-api
#!/usr/bin/python2
# PBR Generated from u'console_scripts'import sysfrom nova.cmd.api import mainif __name__ == "__main__":sys.exit(main())
Python语言编写的nova.cmd.api包位于/usr/lib/python2.7/site-packages/nova/cmd/api.py中,由python-nova安装包提供,而python-nova安装包对应的源代码即是OpenStack网站上的nova git库:https://git.openstack.org/openstack/nova。
[tony@tony-controller cmd]$ yum_provides /usr/lib/python2.7/site-packages/nova/cmd/api.py
1:python-nova-18.0.0-0.3.0rc3.el7.noarch : Nova Python libraries
Repo : centos-openstack-rocky
Matched from:
Filename : /usr/lib/python2.7/site-packages/nova/cmd/api.py
nova git库
# git库所在目录
[tony@tony-controller nova]$ pwd
/home/tony/nova# git库的远程库
[tony@tony-controller nova]$ git remote -v
origin https://git.openstack.org/openstack/nova (fetch)
origin https://git.openstack.org/openstack/nova (push)# 进入到nova子目录
[tony@tony-controller nova]$ cd nova
[tony@tony-controller nova]$ pwd
/home/tony/nova/nova# 这个目录中的文件对应着安装到/usr/lib/python2.7/site-packages/nova/目录中的Nova Python库
# 例如cmd/api*即是/usr/bin/nova-api可执行文件导入的Python包 nova.cmd.api
[tony@tony-controller nova]$ ls -F
api/ conf/ filters.py manager.py quota.py utils.py
availability_zones.py config.py hacking/ monkey_patch.py rc_fields.py version.py
baserpc.py console/ hooks.py network/ rpc.py virt/
block_device.py consoleauth/ i18n.py notifications/ safe_utils.py vnc/
cache_utils.py context.py image/ objects/ scheduler/ volume/
cells/ crypto.py __init__.py pci/ service_auth.py weights.py
cmd/ db/ ipv6/ policies/ servicegroup/ wsgi.py
common/ debugger.py keymgr/ policy.py service.py
compute/ exception.py loadables.py privsep/ test.py
conductor/ exception_wrapper.py locale/ profiler.py tests/[tony@tony-controller nova]$ ls -l cmd/api.py
-rw-rw-r--. 1 tony tony 2246 Apr 18 14:08 cmd/api.py
【OpenStack】【Nova】安装与配置详解 (1)相关推荐
- Nagios远程监控软件的安装与配置详解
Nagios远程监控软件的安装与配置详解 作者:redhat_hu Nagios是一款功能强大的网络监视工具,它可以有效的监控windows.linux.unix主机状态以及路由器交换机的网络设置,打 ...
- Julia的安装与配置详解(包含在Ubuntu 18.04和Windows 10系统上Julia的安装)
Julia的安装与配置详解((包含在Ubuntu 18.04和Windows 10系统上Julia的安装) Julia的安装 使用二进制文件安装Julia 在Ubuntu上安装Julia 在Windo ...
- gulp的安装和配置详解
gulp的安装和配置详解 1.安装node.js 先下载一个node.js安装包. 下载完成后双击即可. 打开cmd,命令行输入node -v,回车输出nodejs版本号,表示安装成功. 命令行输入n ...
- node.js卸载、安装、配置详解
node.js卸载.安装.配置详解 一. node.js卸载 二.下载安装 2.1 下载 2.2 安装 2.2.1 选择msi安装 2.2.2 选择zip安装 三.配置 3.1 环境变量配置 3.2 ...
- Gradle安装和配置详解
Gradle安装和配置详解 gradle是基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,也提供了很多第三方插件.在Java Web项目中通常会用到 java.war. ...
- keepalived介绍、安装及配置详解
文章目录 keepalived简介 keeplived和LVS关系 VRRP工作原理 keepalived体系结构及工作原理 keepalived安装 keepalived配置详解 keepalive ...
- Linux中Nginx安装与配置详解及常见问题
3 Nginx安装 3.1 安装前的准备 1)准备 pcre-8.12.tar.gz.该文件为正则表达式库.让nginx支持rewrite需要安装这个库. 2) 准备 nginx-1. ...
- Tomcat安装及配置详解
转载:http://www.ttlsa.com/tomcat/tomcat-install-and-configure/ 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用 ...
- 01 Redis安装、配置详解、数据备份与恢复
缓存简介 简介 缓存是为了调节速度不一致的两个或者多个不同的物质的速度,在中间对速度访问较快的一方起到一个加速访问速度较慢的一方的作用,比如cpu的一级,二级缓存是为了保存cpu最近经常访问的数据,内 ...
最新文章
- MapReduce开发总结
- 记事本写python怎么运行-python入门之一个简单记事本
- win8/Metro开发系列二 Xaml数据绑定
- 如何處理不同版本的 Gem 執行檔,以 Rake 0.9.0 地雷為例
- Spring mvc 注解@ResponseBody 返回内容编码问题
- erlang精要(13)-基本语法(1)
- 广东计算机好的2a学校,广东专插本2A院校排名情况
- sublime同步配置和插件
- win32 ipv6 bind 10014问题
- 转《JAVA和C#得相同点和不同点》
- C程序设计--文件1--文件的分类+文件的打开和关闭
- 凸透镜成像实验软件_凸透镜成像模拟实验软件介绍
- 2019第二届中国天津国际智慧消防高峰论坛
- 如何清除 iPhone 上的其他存储来释放空间
- MATLAB-Simulink中BusCreator/Selector 和 Mux/Demux有什么区别?
- lightroom初学
- 大厂真题泄漏:高频自动化测试面试题,看完面试成功率高达99%
- iphone导出视频 无法连接到设备_拷贝iphone照片,显示无法连接设备?TRIZ 3秒钟解决...
- 在即将欢度春节的日子里,七大姑八大姨们问我程序员是啥子,我应该怎么介绍?
- 排序算法,最全的10大排序算法详解(Sort Algorithm)
热门文章
- linux 硬盘响,完美解决Ubuntu Linux关机异响[SATA硬盘]
- ann2snn的代码分析
- 一行代码解决:jupyter中OSError: [Errno 99] Cannot assign requested address错误
- 大学计算机基础应当掌握的内容,大学计算机基础课程教学大纲2014版.pdf
- cad vba编程从入门到精通_【CAD教程】CAD2020零基础入门到精通全套视频教程
- python十进制转换_Python进制转换
- tlc5620输出三角波流程图_TLC5620(电压输出型)_pdf
- HTML通过java信息保存,如何使用java邮件API将HTML格式的数据保存为java邮件的主体?...
- python 在线字典_python3
- python 装饰器的讲解