【云计算】实验5:Nova配置(控制节点)

news/2024/7/18 15:35:43 标签: 云计算, linux, openstack

文章目录

  • 一、实验目的
  • 二、实验环境
  • 三、实验内容
    • 4.1.在控制节点安装 nova 计算服务
    • 4.2.在 keystone 上面注册 nova 服务
    • 4.3.在控制节点安装 nova 相关服务
    • 4.4.同步 nova 数据(注意同步顺序)
    • 4.5.启动 nova 服务
  • 总结


一、实验目的

  1. 熟悉Linux基本服务配置;
  2. 理解OpenStack基本环境中各组件用途。

二、实验环境

  1. 实验资源 云主机Vultr、DigitalOCean等
  2. 软件环境 CentOS 7

三、实验内容

4.1.在控制节点安装 nova 计算服务

1)创建 nova 相关数据库
nova 服务新增加了两个数据库(Rocky 版)
mysql -u root -p123456

CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
CREATE DATABASE placement;
GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_api.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@‘localhost’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON nova_cell0.* TO ‘nova’@’%’ IDENTIFIED BY ‘nova’;
GRANT ALL PRIVILEGES ON placement.* TO ‘placement’@‘localhost’ IDENTIFIED BY ‘placement’;
GRANT ALL PRIVILEGES ON placement.* TO ‘placement’@’%’ IDENTIFIED BY ‘placement’;
flush privileges;
show databases;
select user,host from mysql.user;
exit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2.在 keystone 上面注册 nova 服务

创建服务证书
1)在 keystone 上创建 nova 用户
source admin-openrc
openstack user create --domain default --password=nova nova
openstack user list
在这里插入图片描述
2)在 keystone 上将 nova 用户配置为 admin 角色并添加进 service 项目
以下命令无输出
openstack role add --project service --user nova admin
在这里插入图片描述
3)创建 nova 计算服务的实体
openstack service create --name nova --description “OpenStack Compute” compute
openstack service list
在这里插入图片描述
4)创建计算服务的 API 端点(endpoint)
计算服务 compute
openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1
openstack endpoint list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5)这个版本的 nova 增加了 placement 项目
创建并注册 placement 项目的服务证书
openstack user create --domain default --password=placement placement
openstack role add --project service --user placement admin
openstack service create --name placement --description “Placement API” placement
创建 placement 项目的 endpoint(API 端口)
openstack endpoint create --region RegionOne placement public http://controller:8778
openstack endpoint create --region RegionOne placement internal http://controller:8778
openstack endpoint create --region RegionOne placement admin http://controller:8778
openstack endpoint list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3.在控制节点安装 nova 相关服务

1)安装 nova 相关软件包
yum install openstack-nova-api openstack-nova-conductor
openstack-nova-console openstack-nova-novncproxy
openstack-nova-scheduler openstack-nova-placement-api -y
在这里插入图片描述
2)快速修改 nova 配置
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 127.0.0.1
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:openstack@controller
openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:nova@controller/nova_api
openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:nova@controller/nova
openstack-config --set /etc/nova/nova.conf placement_database connection mysql+pymysql://placement:placement@controller/placement
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://controller:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password nova
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen ‘ m y i p ′ o p e n s t a c k − c o n f i g − − s e t / e t c / n o v a / n o v a . c o n f v n c s e r v e r p r o x y c l i e n t a d d r e s s ′ my_ip' openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address ' myipopenstackconfigset/etc/nova/nova.confvncserverproxyclientaddressmy_ip’
openstack-config --set /etc/nova/nova.conf glance api_servers http://controller:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://controller:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password placement
openstack-config --set /etc/nova/nova.conf scheduler discover_hosts_in_cells_interval 300
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

校验生效的 nova 配置
egrep -v “#|$” /etc/nova/nova.conf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)修改 nova 的虚拟主机配置文件
vi /etc/httpd/conf.d/00-nova-placement-api.conf
在这里插入图片描述
重启 httpd 服务
systemctl restart httpd
systemctl status httpd
在这里插入图片描述

4.4.同步 nova 数据(注意同步顺序)

nova_api 有 32 张表,placement 有 32 张表,nova_cell0 有 110 张表,nova 也有110 张表
1)初始化 nova-api 和 placement 数据库
su -s /bin/sh -c “nova-manage api_db sync” nova
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)初始化 nova_cell0 和 nova 数据库
注册 cell0 数据库
su -s /bin/sh -c “nova-manage cell_v2 map_cell0” nova
创建 cell1 单元
su -s /bin/sh -c “nova-manage cell_v2 create_cell --name=cell1 --verbose” nova
初始化 nova 数据库
su -s /bin/sh -c “nova-manage db sync” nova
检查确认 cell0 和 cell1 注册成功
su -s /bin/sh -c “nova-manage cell_v2 list_cells” nova
验证数据库
mysql -h127.0.0.1 -unova -pnova -e “use nova_cell0;show tables;”
mysql -h127.0.0.1 -unova -pnova -e “use nova;show tables;”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5)检查确认 cell0 和 cell1 注册成功
su -s /bin/sh -c “nova-manage cell_v2 list_cells” nova
在这里插入图片描述

4.5.启动 nova 服务

1)启动 nova 服务并设置为开机自启动
需要启动 nova 的 5 个服务
systemctl start openstack-nova-api.service openstack-nova-consoleauth.service
openstack-nova-scheduler.service openstack-nova-conductor.service
openstack-nova-novncproxy.service
systemctl status openstack-nova-api.service openstack-nova-consoleauth.service
openstack-nova-scheduler.service openstack-nova-conductor.service
openstack-nova-novncproxy.service
systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service
openstack-nova-scheduler.service openstack-nova-conductor.service
openstack-nova-novncproxy.service
systemctl list-unit-files |grep openstack-nova* |grep enabled
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在控制节点安装 nova 计算服务就完成


总结

  Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。
  功能和特点:
1.实例生命周期管理
2.管理计算资源
3.网络和认证管理
4.REST风格的API
5.异步的一致性通信
6.Hypervisor透明:支持Xen,XenServer/XCP, KVM, UML, VMware vSphere and Hyper-V
7.Nova是openstack中最核心的组件。openstack的其他组件归根结底是为Nova组件服务的
8.Nova服务是由多个子服务构成,子服务是通过RPC实现通信。服务之间有很松的耦合性
9.概念框架与逻辑框架的对应

  Nova 在整个 OpenStack 架构中的位置如下图:
在这里插入图片描述
Nova服务:

  1. nova-API :nova-api是nova组件的接口服务进程;nova-api向外暴露REST API接口(Endpoints)以提供服务; nova-api兼容Amazon EC2 API, 基于nova-api开发的工具可以管理OpenStack和Amazon EC2
  2. nova-compute :nova-compute在计算节点上管理虚拟机实例:创建、删除等的管理
  3. nova-scheduler :创建Instance时,用户需要CPU、内存等资源,nova-scheduler自动实现对CPU等资源的调度;
  4. nova-conductor :nova-conductor实现数据库访问,为nova-compute提供instances信息。
    基于安全和可扩展性的考虑,nova-compute不直接访问数据库,而是分离出nova-conductor来
    访问数据库。
  5. nova-consoleauth :对访问虚拟机控台的请求提供Token认证
  6. Database :使用MySQL,位于控制节点,存放Nova运行时信息

控制节点架构:
控制节点包括以下服务
  管理支持服务
  基础管理服务
  扩展管理服务
  1)管理支持服务包含MySQL与Qpid两个服务
MySQL:数据库作为基础/扩展服务产生的数据存放的地方
Qpid:消息代理(也称消息中间件)为其他各种服务之间提供了统一的消息通信服务
  2)基础管理服务包含Keystone,Glance,Nova,Neutron,Horizon五个服务
Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用MySQL作为统一的数据库
Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理面板
Horizon:控制台服务,提供了以Web的形式对所有节点的所有服务的管理,通常把该服务称为DashBoard
  3)扩展管理服务包含Cinder,Swift,Trove,Heat,Centimeter五个服务
Cinder:提供管理存储节点的Cinder相关,同时提供Cinder在Horizon中的管理面板
Swift:提供管理存储节点的Swift相关,同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库节点的Trove相关,同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性。
Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些数据,对该数据进行分析,在一定条件下触发相应动作
  控制节点一般来说只需要一个网络端口用于通信/管理各个节点


http://www.niftyadmin.cn/n/1771227.html

相关文章

zset获取指定score_Redis-ZSet常用命令

zadd key score member[{score member}...]创建或设置指定key对应的有序集合,根据每个值对应的score来排名,升序。例如有命令 zadd key1 10 A 20 B 30 D 40 C;那么真实排名是 A B D Czrem key member删除指定key对应的集合中的member元素zcard key返回指…

【云计算】实验5:Nova配置(计算节点)

文章目录一、实验目的二、实验环境三、实验内容5.5.安装 nova 计算节点相关软件包5.6.在控制节点进行验证总结一、实验目的 熟悉Linux基本服务配置;理解OpenStack基本环境中各组件用途。 二、实验环境 实验资源 云主机Vultr、DigitalOCean等软件环境 CentOS 7 三…

短文件名漏洞如何修复_如何修复IIS短文件名泄露漏洞?

如何修复IIS短文件名泄露漏洞?轻微IIS短文件名泄露漏洞WASC Threat Classification020发现时间:2013-02-18020漏洞类型:信息泄露020所属建站程序:其他020所属服务器类型:IIS020所属编程语言:其他020描述:M…

【云计算】实验6:Neutron 组件

文章目录一、实验目的二、实验环境三、实验内容6.2.在 keystone 数据库中注册 neutron 相关服务6.3.在控制节点安装 neutron 网络组件 neutron 的网络提供了两种方式6.4.在计算节点安装 neutron 网络组件6.5.在控制节点检查确认 neutron 服务安装成功总结一、实验目的 熟悉Lin…

anacondapython环境配置_Python Anaconda + VS Code 多环境配置

最近开始折腾 py,记录下 Anaconda VS Code 的开发环境配置。用 Anaconda 主要因为虚拟环境管理,可以方便地切换多个环境与 py 版本。安装 Anaconda 后会推荐安装 VSC,这样应该是会自动配置的。不过我已经提前装了,只好手动来了。…

【大数据技术】实验1:Hadoop集群环境搭建和熟悉常用的Linux操作

文章目录一、实验环境二、实验内容0.安装Linux操作系统(虚拟机)1.熟悉常用的Linux操作出现的问题一、实验环境 操作系统:Linux(Centos8.4);Hadoop版本:3.3.1 二、实验内…

dataguard如何实现切换_Oracle dataguard切换实施步骤

Oracle dataguard切换实施步骤主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成,不建议自动执行。主库端 192.168.411.20备库端 192.168.411.221一是Switchover(计划中的切换,不会丢失数据)二…

【大数据技术】实验2:熟悉常用的HDFS操作和基于MapReduce的词频统计

文章目录一、实验环境二、实验内容利用Hadoop提供的Shell命令完成以下任务利用HDFS的Java API编程实现以下任务功能编写MapReduce程序实现以下任务功能出现的问题一、实验环境 操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);Had…