OpenStack stein安装(五)nova on controller
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日, 用OpenStack计算来托管和管理云计算系统。OpenStack计算是基础设施即服务(IaaS)系统的重要组成部分。主要模块是用Python实现的。 OpenStack计算与OpenStack
千家信息网最后更新 2024年11月24日OpenStack stein安装(五)nova on controller
用OpenStack计算来托管和管理云计算系统。OpenStack计算是基础设施即服务(IaaS)系统的重要组成部分。主要模块是用Python实现的。
OpenStack计算与OpenStack标识进行交互,用于身份验证,用于资源目录跟踪和选择的OpenStack放置,用于磁盘和服务器映像的OpenStack映像服务,以及用于用户和管理界面的OpenStack仪表板。图像访问受到项目和用户的限制;每个项目的配额是有限的(例如,实例的数量)。OpenStack计算可以在标准硬件上水平伸缩,并下载映像来启动实例。
OpenStack计算包括以下组件:
- nova-api service
接受并响应最终用户compute API调用。该服务支持OpenStack计算API。它执行一些策略并启动大多数编排活动,例如运行一个实例。 - nova-api-metadata service
接受来自实例的元数据请求。在使用nova-network安装以多主机模式运行时,通常使用nova-api-metadata服务。 - nova-compute service
一个工作守护进程,它通过管理程序api创建和终止虚拟机实例。例如:- XenAPI for XenServer/XCP
- libvirt for KVM or QEMU
- VMwareAPI for VMware
处理相当复杂。基本上,守护进程接受队列中的操作并执行一系列系统命令,比如启动一个KVM实例并更新它在数据库中的状态.
- nova-scheduler service
从队列中获取一个虚拟机实例请求,并确定它运行在哪个计算服务器主机上。 - nova-conductor module
协调nova-compute服务和数据库之间的交互。它消除了nova-compute服务对云数据库的直接访问。nova-conductor模块水平伸缩。但是,不要在运行nova-compute服务的节点上部署它。 - nova-consoleauth daemon
为控制台代理提供的用户授权令牌。参见nova-novncproxy和nova-xvpvncproxy。要使控制台代理工作,必须运行此服务。您可以对集群配置中的单个nova-consoleauth服务运行这两种类型的代理。 - nova-novncproxy daemon
提供一个代理,用于通过VNC连接访问正在运行的实例。支持基于浏览器的novnc客户端。 - nova-spicehtml5proxy daemon
提供一个代理,用于通过SPICE连接访问正在运行的实例。支持基于浏览器的HTML5客户端。 - nova-xvpvncproxy daemon
提供一个代理,用于通过VNC连接访问正在运行的实例。支持特定于openstack的Java客户机。 - The queue
用于在守护进程之间传递消息的中心集线器。通常用RabbitMQ实现,也可以用另一个AMQP消息队列实现 - SQL database
存储云基础设施的大多数构建时和运行时状态,包括:- Available instance types
- Instances in use
- Available networks
- Projects
理论上,OpenStack计算可以支持SQLAlchemy支持的任何数据库。用于测试和开发工作的公共数据库是SQLite3、MySQL、MariaDB和PostgreSQL。
准备工作
安装之前我们需要先建库,帐号和api endpoint.
- 在数据库服务器上执行如下步骤:
○ 使用root连接数据库服务器: $ mysql -u root -p root123○ 建立nova_api、nova和nova_cell0数据库: MariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]> CREATE DATABASE nova; MariaDB [(none)]> CREATE DATABASE nova_cell0;○ 赋予帐号nova对库的操作权限: MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova123'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova123'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova123'
- 加载admin的访问凭据,执行管理员命令:
$ . admin-openrc
建立计算服务的凭据:
○ 建立nova用户: $ openstack user create --domain default --password-prompt nova User Password:nova123 Repeat User Password:nova123 +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | domain_id | default | | enabled | True | | id | 8a7dbf5279404537b1c7b86c033620fe | | name | nova | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+○ 给用户nova添加admin角色: $ openstack role add --project service --user nova admin 注意:这个命令没有输出○ 建立nova服务实体: $ openstack service create --name nova --description "OpenStack Compute" compute +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Compute | | enabled | True | | id | 060d59eac51b4594815603d75a00aba2 | | name | nova | | type | compute | +-------------+----------------------------------+
Create the Compute API service endpoints:
$ openstack endpoint create --region RegionOne compute public http://stack.flex.net:8774/v2.1+--------------+-------------------------------------------+| Field | Value |+--------------+-------------------------------------------+| enabled | True || id | 3c1caa473bfe4390a11e7177894bcc7b || interface | public || region | RegionOne || region_id | RegionOne || service_id | 060d59eac51b4594815603d75a00aba2 || service_name | nova || service_type | compute || url | http://stack.flex.net:8774/v2.1 |+--------------+-------------------------------------------+$openstack endpoint create --region RegionOne compute internal http://stack.flex.net:8774/v2.1+--------------+-------------------------------------------+| Field | Value |+--------------+-------------------------------------------+| enabled | True || id | e3c918de680746a586eac1f2d9bc10ab || interface | internal || region | RegionOne || region_id | RegionOne || service_id | 060d59eac51b4594815603d75a00aba2 || service_name | nova || service_type | compute || url | http://stack.flex.net:8774/v2.1 |+--------------+-------------------------------------------+$ openstack endpoint create --region RegionOne compute admin http://stack.flex.net:8774/v2.1+--------------+-------------------------------------------+| Field | Value |+--------------+-------------------------------------------+| enabled | True || id | 38f7af91666a47cfb97b4dc790b94424 || interface | admin || region | RegionOne || region_id | RegionOne || service_id | 060d59eac51b4594815603d75a00aba2 || service_name | nova || service_type | compute || url | http://stack.flex.net:8774/v2.1 |+--------------+-------------------------------------------+
安装配置组件
- 安装包:
# yum install openstack-nova-api openstack-nova-conductor \ openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
编辑/etc/nova/nova.conf文件完成下列需求:
○ 在[DEFAULT]区域, 充计compute和元数据API: [DEFAULT] # ... enabled_apis = osapi_compute,metadata○ 在[api_database] 和 [database] sections,配置数据库的访问: [api_database] # ... connection = mysql+pymysql://nova:nova123@dbs.flex.net/nova_api [database] # ... connection = mysql+pymysql://nova:nova123@dbs.flex.net/nova○ 在[DEFAULT]区域, 配置RabbitMQ消息队列访问: [DEFAULT] # ... transport_url = rabbit://openstack:openstack123@dbs.flex.net○ 在[api]和[keystone_authtoken]区域, 配置访问认证服务: [api] # ... auth_strategy = keystone [keystone_authtoken] # ... auth_url = http://stack.flex.net:5000/v3 memcached_servers = dbs.flext.net:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = nova123 注意: 注释或移除在掉在[keystone_authtoken]区域中的其它的选项.○ 在[DEFAULT]区域, 配置管理接口的IP: [DEFAULT] # ... my_ip = 192.168.207.2 #此处为控制节点的管理IP地址○ 在[DEFAULT]区域, 充许支持的网络: [DEFAULT] # ... use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver 缺省的,计算节点使用一内部的防火墙驱动,因为网络服务包含了一个防火墙驱动,你必须禁用防火墙驱动并使用nova.virt.firewall.NoopFirewallDriver firewall driver○ 在[vnc]区域, 使用管理接口的IP做为vnc代理使用: [vnc] enabled = true # ... server_listen = $my_ip server_proxyclient_address = $my_ip○ 在[glance]区域, 配置镜像服务api的位置: [glance] # ... api_servers=http://stack.flex.net:9292○ 在[oslo_concurrency]区域, 配置锁定的路径: [oslo_concurrency] # ... lock_path = /var/lib/nova/tmp○ 在[placement]区域, 配置访问placement服务: [placement] # ... region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://stack.flex.net:5000/v3 username = placement password = placement123 注意: 注释或移除在掉在[placement]区域中的其它的选项○ 由于一个bug, 你必须充许访问placement API, 添加下列的配置到/etc/httpd/conf.d/00-nova-placement-api.conf:
= 2.4> Require all granted Order allow,deny Allow from all - Populate the nova-api database:
# su -s /bin/sh -c "nova-manage api_db sync" nova
- Register the cell0 database:
# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
- Create the cell1 cell:
# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova109e1d4b-536a-40d0-83c6-5f121b82b650
- Populate the nova database:
# su -s /bin/sh -c "nova-manage db sync" nova
- Verify nova cell0 and cell1 are registered correctly:
# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova+-------+--------------------------------------+| Name | UUID |+-------+--------------------------------------+| cell1 | 109e1d4b-536a-40d0-83c6-5f121b82b650 || cell0 | 00000000-0000-0000-0000-000000000000 |+-------+--------------------------------------+
安成安装
○ 允许系统引导时自动启动服务并启动服务: # 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
服务
区域
数据
实例
运行
配置
数据库
代理
支持
管理
用户
服务器
系统
队列
工作
命令
客户
映像
正在
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库系统用户登陆
软件开发是几个点的
数据库原理及应用教程杨晓光pdf
网络安全作品主题作品名称
表是数据库的重要对象吗
贵州网络安全与信息化
苏州企业软件开发机构
数据库技术企业战略
长沙风信子网络技术有限公司
风水软件开发工具
西安一码通使用的服务器
北京字跳网络技术有限公司图片
冥狱网络安全团队
华为服务器南宁代理商
crm链接不了数据库
app软件开发制作哪里有名
人口数据库怎么建
ai服务器批发供应
医药数据库价格
鼎轩网络技术
云数据库反脆弱体系
连不上服务器防火墙设置
网络安全工程师技术实务答案
湖北网络技术开发咨询报价
数据库安全管理原则是什么
平台跟嵌入式软件开发区别
分布式电力服务器配置
苏州企业软件开发机构
致镁互联网和惠保科技
软件开发 后台支持