计算服务(Nova)安装配置,这一篇就够了!

实验目标
使用 OpenStack 计算服务来托管和管理云计算系统。OpenStack 计算服务是基础设施即服务(IaaS)系统的主要部分,模块主要由 Python 实现。
OpenStack 计算组件请求 OpenStack Identity 服务进行认证;
请求 OpenStack Image 服务提供磁盘镜像;
为 OpenStack dashboard 提供用户与管理员接口。磁盘镜像访问限制在项目与用户上;配额以每个项目进行设定(例如,每个项目下可以创建多少实例)。OpenStack 组件可以在标准硬件上水平大规模扩展,并且下载磁盘镜像启动虚拟机实例: 熟悉计算服务 Nova 的安装配置。

控制节点创建数据库、服务凭证和 API endpoint

1、实现要求
在控制节点创建 nova_api 和 nova 数据库、用户并授权,创建服务凭证和API endpoint
2、实现过程
创建 nova_api 数据库,创建 nova 用户(密码为 123456)并授权

MariaDB > CREATE DATABASE nova_api;
MariaDB > GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'controller' IDENTIFIED BY '123456';

创建 nova 数据库,授权 nova 用户(密码为 123456)

MariaDB > CREATE DATABASE nova;
MariaDB > GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
MariaDB > GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'controller' IDENTIFIED BY '123456';

在这里插入图片描述
重启数据库

# systemctl restart mariadb

获得 admin 权限

# . admin-openrc

创建 nova 用户,会提示输入密码,我这里是 123456

# openstack user create --domain default --password-prompt nova

在这里插入图片描述
添加 admin 角色到 nova 用户,没有输出

# openstack role add --project service --user nova admin

创建 nova 服务实体

# openstack service create --name nova --description "OpenStack Compute" compute

在这里插入图片描述
创建 endpoint

# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s

在这里插入图片描述

# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s

在这里插入图片描述

# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

在这里插入图片描述

控制节点安装服务及配置

1、实现要求
控制节点安装 Nova 服务并修改配置
2、实现过程
安装 Nova 服务

# yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-novanovncproxy openstack-nova-scheduler

安装完成以后进入/etc/nova/目录,备份 nova.conf 文件 nova.conf.bak

# cp nova.conf nova.conf.bak

修改 nova.conf,如下:vi nova.conf

[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url=rabbit://openstack:123456@controller
auth_strategy = keystone
rpc_backend = rabbit
my_ip = 192.168.23.101
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
connection = mysql+pymysql://nova:123456@controller/nova_api
[database]
connection = mysql+pymysql://nova:123456@controller/nova
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[vnc]
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp

同步 Compute 数据库,忽略告警信息,注意检查数据库里有没有表,如果没有,检查日志/var/log/nova/ nova-manage.log

# su -s /bin/sh -c "nova-manage api_db sync" nova
# su -s /bin/sh -c "nova-manage db sync" nova

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动 Compute 服务并将其设置为随系统启动

# systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-novascheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
# systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-novascheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

在这里插入图片描述
验证控制节点的 nova 是否配置成功
执行 admin-openrc

# . admin-openrc

执行以下命令,有结果即为正确

# openstack host list
# nova service-list

在这里插入图片描述

计算节点安装服务及配置

1、实现要求
在计算节点安装并配置 Nova 服务
2、实现过程
安装服务

# yum install openstack-nova-compute -y

安装完成以后,执行以下命令,检查计算节点是否支持硬件加速

# egrep -c '(vmx|svm)' /proc/cpuinfo

在这里插入图片描述
如果这个命令返回 1 或者更大的值,说明计算节点支持硬件加速,不需要进行额外的配置。如果这个命令返回 0,则计算节点不支持硬件加速,必须配置 libvirt 使用 QEMU 而不是使用KVM,修改 virt_type 属性为 qemu 即可 vi /etc/nova/nova.conf

[libvirt]
virt_type = qemu

进入/etc/nova/目录,修改 nova.conf 配置文件,修改前备份以下

# cd /etc/nova/
# cp nova.conf nova.conf.bak
# vi nova.conf

修改内容如下(注意别忘加上面的 qemu 的修改):

[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url=rabbit://openstack:123456@controller
auth_strategy = keystone
my_ip = 192.168.23.102
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
# egrep -c '(vmx|svm)' /proc/cpuinfo
# cd /etc/nova/
# cp nova.conf nova.conf.bak
# vi nova.conf
文档密级:内部 A
9
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp

启动计算服务及其依赖,并将其配置为开机自动启动

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

在这里插入图片描述

控制节点验证操作

1、实现要求
在控制节点验证 nova 的配置是否正确
2、实现过程
获得 admin 凭证

# . admin-openrc

在控制节点上执行新节点的检查

# openstack compute service list

在这里插入图片描述
列出服务组件,以验证是否成功启动并注册了每个进程

# nova service-list

在这里插入图片描述
出现如图所示即为正确。
参考资料:《OpenStack 从零开始学》–卢万龙著,电子工业出版社第 2 篇安装配置篇,第 13章(P130)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃香菜的斌斌

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值