OpenStack 计算服务Nova [四]
2017-06-18 09:14
706 查看
Nova简介:
Nova是openstack最早的两块模块之一,另一个是对象存储
2、计算权值(Weight)提示:我们经常会出现找不到有效的主机?为什么? 因为
经过主机过滤后,需要对主机进行权值的计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)
控制节点设置:
数据库以及keystone修改我们在前面已经完成,所以在此跳过安装软件包
因为
配置
我们nova计算节点IP是
因为需要使用kvm来创建虚拟机,所以我们需要开启虚拟化。如果是服务器需要在bios上开启
环境准备
1、从控制节点scp nova.conf
2、 删除数据库的配置
3、 vnc的配置进行变更
4、 设置一个虚拟化的选项
提示:要注意
如果这个命令返回了
如果这个命令返回了
摘要
Nova是openstack最早的两块模块之一,另一个是对象存储swift。在openstack体系中一个叫做计算节点,一个叫做控制节点。这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。
Nova是openstack最早的两块模块之一,另一个是对象存储
swift。在openstack体系中一个叫做
计算节点,一个叫做
控制节点。这个主要和nova相关,我们把安装为计算节点
nova-compute,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。nova有非常多的组件(服务)Nova服务介绍
API:负责接受和响应外部请求。支持OpenStack API,EC2 API
Cert:负责身份认证EC 2
Scheduler:用于云主机调度
Conductor:计算节点访问数据的中间件
Consoleauth:用于控制台的授权验证
Novncproxy:VNC代理提示:
EC 2是亚马逊云主机的意思Nova scheduler
Nova scheduler模块在openstack中的作用就是决策虚拟机创建在那个主机(计算节点)上决策一个虚拟机应该调度到那个物理节点,需要分两个步骤:1、过滤(Fliter)
2、计算权值(Weight)提示:我们经常会出现找不到有效的主机?为什么? 因为
nova scheduler认为没有资源创建虚拟机,即使你有
100G内存,如果
nova scheduler认为你没有资格照样无法进行创建。
scheduler作用就是决策虚拟机创建在那个主机上
经过主机过滤后,需要对主机进行权值的计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)
控制节点设置:
数据库以及keystone修改我们在前面已经完成,所以在此跳过安装软件包
[root@linux-node1 ~]# yum install openstack-nova-api openstack-nova-conductor \> openstack-nova-console openstack-nova-novncproxy \> openstack-nova-scheduler在配置文件中修改数据库的连接地址
[root@linux-node1 ~]# vim /etc/nova/nova.conf…[database]connection=mysql+pymysql://nova:nova@192.168.56.11/nova…[api_database]connection=mysql+pymysql://nova:nova@192.168.56.11/nova_api提示:不要修改错了,每个都在在相对应的模块下面进行修改同步数据库
[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage api_db sync" nova[root@linux-node1 ~]# su -s /bin/sh -c "nova-manage db sync" nova提示:db的有警告可以忽略检查是否有表结构
[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova -pnova -e "use nova;show tables;"[root@linux-node1 ~]# mysql -h 192.168.56.11 -unova_api -pnova_api -e "use nova_api;show tables;"配置keystone
[root@linux-node1 ~]# vim /etc/nova/nova.conf…[keystone_authtoken]auth_uri = http://192.168.56.11:5000auth_url = http://192.168.56.11:35357memcached_servers = 192.168.56.11:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = nova…[DEFAULT]auth_strategy=keystone#打开注释,此行代表使用keystone进行认证RabbitMq(消息队列配置)
因为
nova服务之间使用消息队列进行沟通,所以我们需要配置
rabbitmq
[root@linux-node1 ~]# vim /etc/nova/nova.conf[DEFAULT]rpc_backend=rabbit#搜索rpc_backend打开注释rabbit_host=192.168.56.11将localhost修改为IP地址rabbit_port=5672端口我们可以开启也可以不开启默认就好rabbit_userid=openstackrabbit_password=openstack这个是我们在rabbitmq上配置的用户配置nova自己的一些功能
设置启用的元数据API[root@linux-node1 ~]# vim /etc/nova/nova.conf[DEFAULT]enabled_apis=osapi_compute,metadata启动网络服务支持use_neutron=true关闭防火墙firewall_driver=nova.virt.firewall.NoopFirewallDriver提示:默认情况下,计算服务使用内置的防火墙服务。由于网络服务包含了防火墙服务,你必须使用
nova.virt.firewall.NoopFirewallDriver防火墙服务来禁用掉计算服务内置的防火墙服务我们不配置
my IP,因为My IP是一个大坑
配置
VNC代理使用控制节点的管理接口IP地址
[root@linux-node1 ~]# vim /etc/nova/nova.confvncserver_listen=192.168.56.11vncserver_proxyclient_address=192.168.56.11配置glance镜像服务API
[root@linux-node1 ~]# vim /etc/nova/nova.conf[glance]api_servers=http://192.168.56.11:9292配置锁路径
[oslo_concurrency]…lock_path=/var/lib/nova/tmpnova配置说明
[root@linux-node1 ~]# grep '^[a-z]' /etc/nova/nova.confenabled_apis=osapi_compute,metadata #启动apiauth_strategy=keystone #设置keystonefirewall_driver=nova.virt.firewall.NoopFirewallDriver #关闭防火墙use_neutron=true #使用neutronrpc_backend=rabbit #使用rabbitmqconnection = mysql+pymysql://nova:nova@192.168.56.11/nova_api #数据库地址connection = mysql+pymysql://nova:nova@192.168.56.11/nova #数据库地址api_servers=http://192.168.56.11:9292 #glance api地址auth_uri = http://192.168.56.11:5000 #keystoneauth_url = http://192.168.56.11:35357 #keystonememcached_servers = 192.168.56.11:11211 #keystoneauth_type = password #keystoneproject_domain_name = default #keystoneuser_domain_name = default #keystoneproject_name = service #keystone username = nova #keystonepassword = nova #keystonelock_path=/var/lib/nova/tmp #锁路径rabbit_host=192.168.56.11 #rabbitmqrabbit_port=5672 #rabbitmqrabbit_userid=openstack #rabbitmqrabbit_password=openstack #rabbitmqvncserver_listen=192.168.56.11 #VNCvncserver_proxyclient_address=192.168.56.11 #VNC设置开机启动,并启动服务
# systemctl enable openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service# systemctl start openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.servicenova启动成功之后还需要去
keystone上进行注册,否则别人无法进行连接创建nova服务
[root@linux-node1 ~]# source admin-openstack.sh [root@linux-node1 ~]# openstack service create --name nova --description "Openstack Compute " compute+-------------+----------------------------------+| Field | Value |+-------------+----------------------------------+| description | Openstack Compute || enabled | True || id | c9aca55493924f2ba9cb5b304cb1322f || name | nova || type | compute |+-------------+----------------------------------+创建Compute服务api端点
[root@linux-node1 ~]# openstack endpoint create --region RegionOne \> compute public http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 71414f00b2834e8190ee25c219e3d3c4 || interface | public || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne compute admin http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 9162f57b72e244f799086eeca3b7df6c || interface | admin || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+[root@linux-node1 ~]# openstack endpoint create --region RegionOne compute internal http://192.168.56.11:8774/v2.1/%\(tenant_id\)s+--------------+----------------------------------------------+| Field | Value |+--------------+----------------------------------------------+| enabled | True || id | 8fb3d0da5ee64ed693b7b4608844d5ff || interface | internal || region | RegionOne || region_id | RegionOne || service_id | c9aca55493924f2ba9cb5b304cb1322f || service_name | nova || service_type | compute || url | http://192.168.56.11:8774/v2.1/%(tenant_id)s |+--------------+----------------------------------------------+检查控制节点是否成功
[root@linux-node1 ~]# openstack host list+---------------------------+-------------+----------+| Host Name | Service | Zone |+---------------------------+-------------+----------+| linux-node1.abcdocker.com | consoleauth | internal || linux-node1.abcdocker.com | conductor | internal || linux-node1.abcdocker.com | scheduler | internal |+---------------------------+-------------+----------+
nova计算节点配置
我们在架构中想构建几个虚拟机就要看计算节点的配置,虚拟化工具我们只能使用VMware,因为VMware支持嵌套虚拟化,其他的虚拟化软件不支持我们nova计算节点IP是
192.168.56.12需要开启虚拟化技术
因为需要使用kvm来创建虚拟机,所以我们需要开启虚拟化。如果是服务器需要在bios上开启
环境准备
[root@linux-node2 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-node2 ~]# uname -r3.10.0-327.36.2.el7.x86_64时间同步
[root@linux-node1 ~]# yum install ntpdate -y[root@linux-node1 ~]# ntpdate time1.aliyun.com[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai #设置时区[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm安装openstack仓库
[root@linux-node2 ~]# yum install -y centos-release-openstack-mitaka安装openstack客户端
[root@linux-node1 ~]# yum install -y python-openstackclient因为控制节点的nova和计算节点的配置除了没有数据库其他的都是相同的,这里我们采取
scp的形式进行修改安装openstack SELinux管理包
[root@linux-node2 ~]# yum install -y openstack-selinux安装nova
[root@linux-node2 ~]# yum install -y openstack-nova-compute步骤:
1、从控制节点scp nova.conf
2、 删除数据库的配置
3、 vnc的配置进行变更
4、 设置一个虚拟化的选项
提示:要注意
nova.conf文件的权限时间必须同步!!!!1.将控制节点的
nova.conf复制到计算节点上
[root@linux-node1 ~]# scp /etc/nova/nova.conf 192.168.56.12:/etc/nova/The authenticity of host '192.168.56.12 (192.168.56.12)' can't be established.ECDSA key fingerprint is 43:50:3c:fa:03:29:7c:3c:5f:aa:d2:76:b5:8e:d9:54.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.56.12' (ECDSA) to the list of known hosts.root@192.168.56.12's password: nova.conf 100% 180KB 180.0KB/s 00:002.进入计算节点进行修改
首先保证权限一致[root@linux-node2 nova]# ll /etc/nova/nova.conf -rw-r----- 1 root nova 184332 Nov 18 17:02 /etc/nova/nova.conf3.修改配置文件
[root@linux-node2 nova]# vim /etc/nova/nova.conf#connection =#connection =搜索mysql将mysql路径注释掉配置vnc
novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.htmlvncserver_listen=0.0.0.0vncserver_proxyclient_address=192.168.56.125384行enabled=true提示:服务器组件监听所有的 IP 地址,而代理组件仅仅监听计算节点管理网络接口的 IP 地址。基本的 URL 指示您可以使用 web 浏览器访问位于该计算节点上实例的远程控制台的位置。选择虚拟化类型确定您的计算节点是否支持
虚拟化的硬件加速。
egrep -c '(vmx|svm)' /proc/cpuinfo
如果这个命令返回了
1或不等于
0的值,那么你的计算节点支持硬件加速且不需要额外的配置。
如果这个命令返回了
0值,那么你的计算节点不支持硬件加速。你必须配置
libvirt来使用
QEMU去代替
KVMKVM文章:http://www.abcdocker.com/abcdocker/1627在
/etc/nova/nova.conf文件的
[libvirt]区域做出如下的编辑:
[libvirt]…virt_type=kvm#配置虚拟化类型总结
nova.conf修改了如下五行
[root@linux-node2 nova]# grep '^[a-z]' /etc/nova/nova.conf…enabled=truevncserver_listen=0.0.0.0vncserver_proxyclient_address=192.168.56.12novncproxy_base_url=http://192.168.56.11:6080/vnc_auto.htmlvirt_type=kvm设置开机启动
[root@linux-node2 ~]# systemctl enable libvirtd openstack-nova-compute[root@linux-node2 ~]# systemctl start libvirtd openstack-nova-compute列出服务组件,以验证是否成功启动并注册了每个进程:
[root@linux-node1 ~]# source admin-openstack.sh [root@linux-node1 ~]# openstack host list+---------------------------+-------------+----------+| Host Name | Service | Zone |+---------------------------+-------------+----------+| linux-node1.abcdocker.com | consoleauth | internal || linux-node1.abcdocker.com | conductor | internal || linux-node1.abcdocker.com | scheduler | internal || linux-node2.abcdocker.com | compute | nova |+---------------------------+-------------+----------+该输出应该显示三个服务组件在控制节点上启用,一个服务组件在计算节点上启用。查看
nova和
keystone是否正常
[root@linux-node1 ~]# nova service-list+----+------------------+---------------------------+----------+---------+-------+----------------------------+-----------------+| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |+----+------------------+---------------------------+----------+---------+-------+----------------------------+-----------------+| 1 | nova-consoleauth | linux-node1.abcdocker.com | internal | enabled | up | 2016-11-18T09:24:23.000000 | - || 2 | nova-conductor | linux-node1.abcdocker.com | internal | enabled | up | 2016-11-18T09:24:22.000000 | - || 3 | nova-scheduler | linux-node1.abcdocker.com | internal | enabled | up | 2016-11-18T09:24:23.000000 | - || 6 | nova-compute | linux-node2.abcdocker.com | nova | enabled | up | 2016-11-18T09:24:23.000000 | - |+----+------------------+---------------------------+----------+---------+-------+----------------------------+-----------------+查看nova和glance服务相互是否正常
[root@linux-node1 ~]# nova image-list+--------------------------------------+--------+--------+--------+| ID | Name | Status | Server |+--------------------------------------+--------+--------+--------+| fc67361d-ad30-40b2-9d96-941e50fc17f5 | cirros | ACTIVE | |+--------------------------------------+--------+--------+--------+再次提示:时间必须同步!!!
nova安装到此截止!
摘要
Nova是openstack最早的两块模块之一,另一个是对象存储swift。在openstack体系中一个叫做计算节点,一个叫做控制节点。这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。
相关文章推荐
- OpenStack-liberty版Nova计算节点部署服务部署(四)
- Centos7手动部署Openstack Mitaka版安装配置--(五)安装nova计算服务
- openstack-8:安装Nova计算服务
- 云计算之openstack(N版)Nova计算服务最佳实践
- OpenStack 计算服务Nova [四]
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++五、Openstack计算服务(nova)下
- OpenStack-M版(Mitaka)搭建- – -计算服务(Nova)篇
- OpenStack实践系列④计算服务Nova
- OpenStack 计算服务 Nova介绍和控制节点部署(七)
- 安装OpenStack计算服务(nova)
- openstack计算服务nova
- 【N版】openstack——计算服务nova(五)
- Centos7 install Openstack - (第四节)添加计算服务(Nova)
- OpenStack —— 计算服务Nova(四)
- OpenStack实践系列④计算服务Nova
- OpenStack入门修炼之nova服务(计算节点)的部署与测试(11)
- openstack的安装(二) 安装nova服务同时建立计算节点
- 浓墨重彩之OpenStack-06-nova计算服务
- OpenStack(kilo版本)计算服务Nova的安装部署
- [ Openstack ] Openstack-Mitaka 高可用之 计算服务(Nova)