(十)OpenStack的Nova-计算服务介绍及安装配置

 

CONTENTS

1、Nova-计算服务介绍

1.1 Nova是什么?

1.2 组件说明

1.3 组件沟通方式

2、Nova安装配置

2.1 controller节点配置

2.2 compute节点配置

3、验证配置


1、Nova-计算服务介绍

1.1 Nova是什么?

  • Openstack是由Rackspace 和NASA 共同开发的云计算平台
  • 类似于Amazon EC2和S3的云基础架构服务
  • Nova在Openstack 中提供云计算服务
  • 超过140家企业及18470 为开发者参与开发
     

1.2 组件说明

(1)组件说明-API

  • nova-api service 接收并响应终端用户计算API调用。该服务支持OpenStack 计算API,Amazon EC2和特殊的管理特权API
  • nova-api-metadata service 接受从实例元数据发来的请求。该服务通常与nova-network 服务在安装多主机模式下运行

(2)组件说明-Core  

  • nova-compute service 一个守护进程,通过虚拟化层API接口创建和终止虚拟机实例。例如: XenAPI for XenServer/XCP,libvirt for KVM or QEMU,VMwareAPI for Vmware
  • nova-scheduler service 从队列中获取虚拟机实例请求,并确认由哪台计算服务运行该虚拟机
  • nova-conductor module 协调nova-compute 服务和database 之间的交互数据。避免nova-compute服务直接访问云数据库。不要将该模块部署在nova-compute 运行的节点上
     

(3)组件说明-Networking

  • nova- network worker daemon 类似于nova- compute服务,接受来自队列的网络任务和操控网络。比如这只网卡桥接或改变iptables规则
  • nova-consoleauth daemon在控制台代理提供用户授权令牌
  • nova- novneproxy daemon 提供了一个通过VNC连接来访问运行的虚拟机实例的代理。支持基于浏览器的novnc客户端
     
  • nova-spicehtml5proxy daemon 提供了-一个通过spice 连接来访问运行的虚拟机实例的代理。支持基于浏览器的HTML5客户端
  • nova-xvpnvncproxy daemon 提供了一个通过VNC连接来访问运行的虚拟机实例的代理。支持OpenStack-specific Java 客户端
  • nova-cert daemon x509证书
     

(4)组件说明-other

  • nova-objectstore daemon 一个Amazon S3的接口,用于将Amazon S3的镜像注册到OpenStackeuca2ools client 用于兼容于Amazon E2接口的命令行工具
  • nova client nova命令行工具
  • The queue 在进程之间传递消息的中心。通常使用RabbitMQ
  • SQLdatabase保存云基础设置建立和运行时的状态信息

 

1.3  组件沟通方式

(1)组件的位置顺序

(2)Nova内部沟通

(3)Nova同其他组件沟通

(4)虚拟机启动流程

2、Nova安装配置

请在前面实验的基础上继续做以下操作。

2.1 controller节点配置

(1)配置先决条件

#1、创建数据库,完成下列步骤:
#a.使用数据库管理员root登录数据库
mysql-u root -p

#b.创建nova数据库
CREATE DATABASE nova;

#c.创建数据库用户nova,并授予nova用户对nova数据库的完全控制权限。
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

#2、执行admin环境脚本
source admin-openrc.sh

#3、在认证服务中创建计算服务的认证信息。完成下列步骤:
#a.创建nova用户
keystone user-create --name nova --pass NOVA_PASS

#b.链接nova用户到service租户和admin角色
keystone user-role-add --user nova --tenant service --role admin

#c.创建nova服务
#keystone service-create --name nova --type compute --description "OpenStackCompute"

#4、创建计算服务端点
keystone endpoint-create --service-id $(keystone service-list | awk '/ compute / {print $2}') --publicurl http://controller.nice.com:8774/v2/%\(tenant_id\)s --internalurl http://controller.nice.com:8774/v2/%\(tenant_id\)s --adminurl http://controller.nice.com:8774/v2/%\(tenant_id\)s --region regionOne

(2)安装和配置计算控制组件

#1、安装软件包
yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient -y

#2、编辑/etc/nova/nova.conf文件,完成如下操作:
#a.编辑[database]小节,配置数据库访问:
[database]
...
connection=mysql://nova:NOVA_DBPASS@controller.nice.com/nova

#b.编辑[DEFAULT]小节,配置RabbitMQ消息队列访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest

#c.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=nova
admin_password=NOVA_PASS

#d.编辑[DEFAULT]小节,配置my_ip选项为controller节点的管理接口ip:
[DEFAULT]
...
my_ip=192.168.119.181

#e.编辑[DEFAULT]小节,配置VNCdialing服务的使用controller节点的管理接口ip:
[DEFAULT]
...
vncserver_listen=192.168.119.181
vncserver_proxyclient_address=192.168.119.181

#f.编辑[glance]小节,配置镜像服务器的位置:
[glance]
...
host=controller.nice.com
#g.(可选)在[DEFAULT]小节中配置详细日志输出。方便排错。
[DEFAULT]
...
verbose=True

#3、初始化计算数据库
su -s /bin/sh -c "nova-manage db sync" nova

(3)启动计算服务并配置开机自动启动:

systemctl enable openstack-nova-api.service openstack-nova-cert.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-cert.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

 

2.2 compute节点配置

(1)安装并配置计算虚拟化组件

#1、安装软件包
yum install openstack-nova-compute sysfsutils

#2、编辑/etc/nova/nova.conf文件,完成下列步骤:
#a.编辑[DEFAULT]小节,配置RabbitMQ消息队列访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller.nice.com
rabbit_password=guest

#b.编辑[DEFAULT]和[keystone_authtoken]小节,配置认证服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http://controller.nice.com:5000/v2.0
identity_uri=http://controller.nice.com:35357
admin_tenant_name=service
admin_user=nova
admin_password=NOVA_PASS
#c.编辑[DEFAULT]小节,配置my_ip配置项:
[DEFAULT]
...
my_ip=192.168.119.179

#d.编辑[DEFAULT]小节,开启并配置远程控制台访问
[DEFAULT]
...
vnc_enabled=True
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=192.168.119.179
novncproxy_base_url=http://controller.nice.com:6080/vnc_auto.html

#e.编辑[glance]小节,配置镜像服务器位置
[glance]
...
host=controller.nice.com

#f.(可选)在[DEFAULT]小节中配置详细日志输出。方便排错。
[DEFAULT]
...
verbose=True

(2)确认你的计算节点是否支持硬件虚拟化

egrep -c '(vmx|svm)' /proc/cpuinfo
  • 如果返回值>=1,则说明你的计算节点硬件支持虚拟化,无需额外配置。
  • 如果返回值=0,则活命你的计算节点硬件不支持虚拟化,你必须配置libvirt由使用KVM改为QEMU。

因为我用的是VMware,我返回值为0,不支持虚拟化,我们要想在虚拟机再实现虚拟化,需要手动编辑虚拟机设置(需关机进行):

(3)在/etc/nova/nova.conf文件中编辑[libvirt]小节

[libvirt]
...
virt_type=qemu


(4)启动计算服务及依赖服务,并设置他们开机自动启动。

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service
systemctl start openstack-nova-compute.service

 

3、验证配置

(1)compute节点登录数据库,查看nova数据库中的表

(2)先启用admin环境脚本:source admin-openrc.sh。然后列出服务组件确认每一个进程启动成功

(3)列出镜像服务中的镜像列表,确认连接认证服务器和镜像服务器成功。


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值