openstack-nova源码分析(一)环境搭建

本文介绍了如何搭建openstack-nova的环境,从安装前的准备工作,包括网络配置、关闭不必要的服务和设置DNS,到安装过程中的mysql、rabbitmq、memcache组件配置,以及keystone、glance、nova组件的安装和配置。通过详细步骤,帮助读者理解openstack-nova的部署过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openstack是一个开源的云计算服务解决方案项目,应用相对广泛,值得进行学习一下,首先搭建一套nova环境,对openstack的认识,以及后面的源码分析都很有必要。

(首先准备一台学习主机,个人这里使用个人电脑并搭建一台虚拟机centos7.2)
约定:

  1. 以下所有操作默认都在 root 用户下进行操作,如有特殊将会说明
  2. xxxxxxxx 为密码, 需指定
一. 安装前准备工作
  1. 配置网络,可以访问外网(如果环境是虚拟机,则虚拟机也需要访问外网)

  2. 关闭主机上不用的服务

 systemctl disable NetworkManager
 systemctl stop NetworkManager
 systemctl disable firewalld.service
 systemctl stop firewalld.service
  1. 关闭selinux
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled (重启主机生效)
  1. 修改/etc/hosts 将集群所有主机hosts解析加入列表,如:
192.168.137.15  nova
  1. 配置dns:
    注: (如果是本地虚拟机可以更改为本地主机的dns ip)
vi /etc/resolv.conf
nameserver 8.8.8.8
  1. 配置yum源:
    这里配置阿里源
    (若本地有yum源且有安装需要的所有包,则可以不用访问外网)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

二. 安装
  1. 配置指定安装的openstack版本:
    注: 一些版本官方可能已经停止维护,因此建议使用最新的列表中的版本, 不建议按照网上的命令直接执行,下面有具体的方法

yum list 查看目前支持的openstack 版本,再选择安装

yum list | grep centos-release-openstack

centos-release-openstack-ocata.noarch
centos-release-openstack-pike.x86_64
centos-release-openstack-queens.noarch
centos-release-openstack-rocky.noarch

这里看到支持最新的 O P Q R 4个版本
我这里安装O版

yum install centos-release-openstack-ocata  -y 

安装client

yum install python-openstackclient  -y

这里openstack 的yum源及一些基本配置已经准备完成,下面是各个组件的具体安装


  1. 安装本地mysql库(若已经有mysql库,则创建对应用户即可)
yum install mariadb mariadb-server python2-PyMySQL -y

systemctl enable mariadb.service
systemctl start  mariadb.service

安装完成后可在/etc/my.cnf修改mysql参数,这里先使用默认配置即可

进入myslq验证

[root@nova ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> exit

验证ok,mysql 组件准备完成


  1. 安装rabbitmq:

rabbit是openstack用来传递消息的消息队列,也非常重要

yum install rabbitmq-server  -y


systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

如果有多个controller则需要将rabbitmq配置为集群(这里测试,不做集群,略)

rabbitmqctl add_user  openstack  xxxxx
rabbitmqctl set_permissions openstack  ".*" ".*" ".*"   

  1. 安装memcache
yum install -y memcached

修改配置文件

vi /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="4096"
OPTIONS=""

  1. 安装openstack的rpm包:

这里将openstack的一些组件包一次性安装完成

yum install -y openstack-keystone httpd mod_wsgi openstack-glance  openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler openstack-nova-compute sysfsutils openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch python-openvswi
### 安装 OpenStack Nova 组件 可以通过 `yum` 命令来安装 OpenStack Nova 的相关组件,具体命令如下: ```bash yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-scheduler openstack-nova-novncproxy ``` 此命令将会自动下载并安装所需的依赖项以及指定的服务组件[^1]。 --- ### 配置 OpenStack Nova 服务 完成安装后,需要对这些服务进行必要的配置。以下是主要步骤说明: #### 修改主配置文件 编辑 `/etc/nova/nova.conf` 文件以调整调度器的行为。例如,为了实现定期扫描计算节点的功能,可以在 `[scheduler]` 节下添加以下参数: ```ini [scheduler] discover_hosts_in_cells_interval = 300 ``` 这表示每隔 300 秒(即 5 分钟)扫描次计算节点中的主机状态[^4]。 保存更改后重启 API 服务以使新配置生效: ```bash systemctl restart openstack-nova-api.service ``` --- ### 启动与设置开机自启 安装完成后,需手动启动各个 Nova 相关服务,并将其设为随系统启动而运行: ```bash systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy ``` 以上操作确保了所有核心服务正常运行并能够在下次系统启动时自动加载[^2]。 --- ### 创建管理接口端点 如果尚未创建 Nova 的管理员服务端点,则可通过以下命令完成初始化工作: ```bash openstack endpoint create --region RegionOne nova admin http://<control_node_ip>:8774/v2.1 ``` 其中 `<control_node_ip>` 应替换为实际的控制器节点 IP 地址。成功执行该命令后,将返回包含字段及其对应值的结果表单,确认端点已正确注册到 Keystone 中[^3]。 --- ### 总结 综上所述,通过 Yum 源安装 OpenStack Nova 组件的过程涉及以下几个方面: 1. 使用 `yum` 工具批量安装所需软件包; 2. 编辑配置文件优化功能选项; 3. 手动激活各子服务并将它们加入系统的引导序列; 4. 注册相应的访问入口至身份验证框架内。 按照上述指导即可顺利完成基础环境搭建任务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值