OpenStack-train版安装之环境准备

环境准备

  • 环境介绍
  • VMware配置
    • WMware虚拟机最低配置
    • WMware添加网卡
    • WMware添加硬盘
  • 基础环境安装
    • 修改各节点的主机名
    • 修改各节点的hosts文件
    • 修改各节点的内核参数
    • 关闭各节点的防火墙和selinux
    • 安装NPT(时间同步)
    • 安装OpenStack基础服务包
  • CentOS升级内核

环境介绍

组件要求说明
OpenStackTrain
操作系统CentOS7 =< 版本 < 8
Controller Node(控制节点)192.168.0.11网卡 > =2
Compute Node(计算节点)192.168.0.31、192.168.0.32网卡 > =2
Block Storage Node(块存储节点)192.168.0.11可以复用控制节点。使用lvm作为存储卷需要1个空硬盘,使用NFS不需要空硬盘。
Object Storage Node(对象存储节点)192.168.0.31、192.168.0.32可以复用计算节点,空硬盘 > =2

注:

  1. Block Storage Node(块存储节点)复用控制节点其采用lvm作为存储卷,则控制节点需要1个空硬盘。
  2. Object Storage Node(对象存储节点)复用计算节点,则计算节点需要2个空硬盘。
  3. 使用VMware虚拟机配置参考章节《WMware虚拟机最低配置》。
  4. VMware添加网卡参考章节《WMware添加网卡》。
  5. VMware添加硬盘参考章节《WMware添加硬盘》。

VMware配置

WMware虚拟机最低配置

  1. **Controller Node一台:**内存 >= 4G、处理器>=1,核心数量>=2
  2. **Compute Node两台:**内存 >= 2G、处理器>=1,核心数量>=1

WMware添加网卡

  1. 点击【编辑虚拟机设置】

编辑虚拟机设置

  1. 点击【添加】

在这里插入图片描述

  1. 选择【网络适配器】,点击【下一步】

在这里插入图片描述

  1. 点击【完成】
    在这里插入图片描述

  2. 选择【LAN区段】,点击【LAN区段】
    在这里插入图片描述

  3. 点击【添加】,输入区段名称,名称无具体含义,尽量与后续配置网络有关系
    在这里插入图片描述

  4. 添加结果
    在这里插入图片描述

  5. 网卡配置(ifcfg-eno33554984为网卡名称,以实际为准)

# cat >> /etc/sysconfig/network-scripts/ifcfg-eno33554984 << EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR=172.16.0.11
NETMASK=255.255.255.0
EOF
  1. 启动网卡
# ifup eno33554984

WMware添加硬盘

  1. 点击【编辑虚拟机设置】
    在这里插入图片描述
  2. 点击【添加】
    在这里插入图片描述
  3. 选择【硬盘】,点击【下一步】
    在这里插入图片描述
  4. 点击【下一步】
    在这里插入图片描述
  5. 点击【下一步】
    在这里插入图片描述
  6. 选择【将虚拟磁盘存储为单个文件】,点击【下一步】
    在这里插入图片描述
  7. 点击【完成】
    在这里插入图片描述
    8. 结果
    在这里插入图片描述

基础环境安装

修改各节点的主机名

Controller Node:

# hostnamectl set-hostname controller

Compute Node1:

# hostnamectl set-hostname compute1

Compute Node2:

# hostnamectl set-hostname compute2

修改各节点的hosts文件

# cat >> /etc/hosts << EOF
192.168.0.11 controller
192.168.0.31 compute1
192.168.0.32 compute2
EOF

修改各节点的内核参数

# cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
# modprobe br_netfilter
# sysctl -p

注: 命令modprobe br_netfilter报错‘modprobe: FATAL: Module br_netfilter not found.’,原因为内核版本太低,升级内核参考章节《CentOS升级内核》。

关闭各节点的防火墙和selinux

关闭selinux:

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# setenforce 0

关闭防火墙并取消开机启动:

# systemctl stop firewalld
# systemctl disable firewalld

安装NPT(时间同步)

  1. 所有节点安装
# yum install chrony -y
  1. Controller Node修改配置文件
# vi /etc/chrony.conf

修改时间服务器以及自身接受同步的网段:
在这里插入图片描述

  1. 其他节点修改配置文件
# vi /etc/chrony.conf

修改时间服务器:
在这里插入图片描述

  1. 所有节点设置开机启动并启动服务:
# systemctl enable chronyd.service 
# systemctl restart chronyd.service
  1. 验证:
# chronyc sources

注:
A)节点不多可以全部使用公网时间服务器

安装OpenStack基础服务包

安装:

# yum install centos-release-openstack-train -y
# yum upgrade -y
# yum install python-openstackclient -y
# yum install openstack-selinux -y

CentOS升级内核

  1. 上传kernel-ml-4.9.6-1.el7.elrepo.x86_64.rpm到服务器上
    内核下载地址:
  • Kernel官网:https://www.kernel.org/
  • 阿里云:https://mirrors.aliyun.com/elrepo/kernel/el7/x86_64/RPMS/
  • elrepo镜像站:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/
  • 历史版本库:http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
  1. 安装
# rpm -ivh kernel-ml-4.9.6-1.el7.elrepo.x86_64.rpm
  1. 查看安装结果,正常输出‘0’
# awk -F \' '$1=="menuentry " {print $2}' /etc/grub2.cfg |awk '{print $3 " "NR-1}'|grep 4.9.6 | awk '{print $2}'
  1. 编辑/etc/default/grub文件,设置GRUB_DEFAULT=0
    在这里插入图片描述
  2. 生成grub配置文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
  1. 重启服务器
# reboot
  1. 验证
# uname -r

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/172526.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】W25Q64 SPI(串行外设接口)

一、SPI通信 0.IIC与SPI的优缺点 https://blog.csdn.net/weixin_44575952/article/details/124182011 1.SPI介绍 同步&#xff08;有时钟线&#xff09;&#xff0c;高速&#xff0c;全双工&#xff08;数据发送和数据接收各占一条线&#xff09; 1&#xff09;SCK:时钟线--&…

ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)

目录 背景遇到的问题及解决步骤1、找不到工程和库问题分析问题解决 2、 实时错误91&#xff0c;对象变量或with块变量未设置问题分析问题解决 3、文件dsn配置问题什么是dsn文件&#xff0c;内容是什么&#xff0c;作用是什么ODBC配置dsn文件配置文件dsn默认路径ODBC 32位和64位…

使用DHorse发布SpringBoot项目到K8S

前言 在介绍DHorse的操作之前&#xff0c;先来介绍一下使用k8s发布应用的步骤&#xff0c;以SpringBoot应用为例进行说明。 1.首先从代码仓库下载代码&#xff0c;比如GitLab&#xff1b; 2.接着进行构建&#xff0c;比如使用Maven&#xff1b; 3.如果要使用k8s作为编排&am…

实在智能出席山东省数据科学大会,构建产学研教数智创新生态

11月18日至19日&#xff0c;由山东大学、山东省科学技术协会、山东省大数据局主办的首届“山东省数据科学大会暨泰山科技论坛”在山东大学&#xff08;中心校区&#xff09;隆重召开&#xff0c;以“数聚慧能 科创未来”为主题&#xff0c;来自全国各地的高校、科研机构、企事业…

数据结构与算法之美学习笔记:24 | 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?

目录 前言二叉查找树&#xff08;Binary Search Tree&#xff09;二叉查找树的时间复杂度分析解答开篇内容小结 前言 本节课程思维导图&#xff1a; 二叉查找树最大的特点就是&#xff0c;支持动态数据集合的快速插入、删除、查找操作。我们之前说过&#xff0c;散列表也是支持…

idea中的sout、psvm快捷键输入,不要太好用了

目录 一、操作环境 二、psvm、sout 操作介绍 2.1 psvm&#xff0c;快捷生成main方法 2.2 sout&#xff0c;快捷生成打印方法 三、探索 psvm、sout 底层逻辑 一、操作环境 语言&#xff1a;Java 工具&#xff1a; 二、psvm、sout 操作介绍 2.1 psvm&#xff0c;快捷生成m…

SpringCloud原理-OpenFeign篇(三、FeignClient的动态代理原理)

文章目录 前言正文一、前戏&#xff0c;FeignClientFactoryBean入口方法的分析1.1 从BeanFactory入手1.2 AbstractBeanFactory#doGetBean(...)中对FactoryBean的处理1.3 结论 FactoryBean#getObject() 二、FeignClientFactoryBean实现的getObject()2.1 FeignClientFactoryBean#…

Flutter笔记:使用相机

Flutter笔记 使用相机 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134493373 【简介】本文介绍在 Fl…

用VS编译ROS包

扩展安装 在扩展中搜索并安装ROS、C、python、CMake和CMake Tools。 打开工作空间 文件→打开文件夹 新建功能包 右键src文件夹&#xff0c;选择新建功能包&#xff08;通常是最后一条命令&#xff09; 编译 如果需要新建终端的话&#xff0c;就点击下图中的加号 创建la…

Git 笔记之gitignore

解释为&#xff1a;git ignore 即&#xff0c;此类型的文件将会被忽略掉&#xff0c;从而不会进行管理 具体的模板可以从 GitHub 网站上来进行设置 GitHub - github/gitignore: A collection of useful .gitignore templates Common_gitignore: gitignoregithub开源项目&…

Spring-IOC-@Value和@PropertySource用法

1、Book.java PropertySource(value"classpath:配置文件地址") 替代 <context:property-placeholder location"配置文件地址"/> Value("${book.bid}") Value("${book.bname}") Value("${book.price}") <bean id&…

C++ STL -->string类

文章目录 STL什么是STL String类string类对象的构造方式string类对象的容量操作string类对象的访问及遍历操作string迭代器函数遍历类对象 stirng类对象的修改操作string类非成员函数 STL 什么是STL STL全称standard template libaray-标准模板库 是C标准库的重要组成部分 不…

枚举 小蓝的漆房

题目 思路 核心思想是枚举 首先利用set记录每一种颜色 然后依次从set取出一种颜色作为targetColor&#xff0c;遍历房子 如果当前房子的颜色和targetColor不相同&#xff0c;就以当前房子为起点&#xff0c;往后长度为k的区间都涂成targetColor&#xff0c;并且需要的天数递增…

华为云cce健康检查有什么用?配置需要注意什么?

华为云cce健康检查 如上图&#xff0c;华为云健康检查可用来探测cce的实例运行状态&#xff0c;必要时cce会自动重启实例&#xff0c;达到cce持续服务。 但是配置时需要注意一下几个方面&#xff0c;否则cce的状态总是有些不正常。 1、http探查比较友好。因为我们的在cce里面…

深入理解强化学习——马尔可夫决策过程:马尔可夫决策过程和马尔可夫过程/马尔可夫奖励过程的区别

分类目录&#xff1a;《深入理解强化学习》总目录 《深入理解强化学习——马尔可夫决策过程》系列前面的文章讨论到的马尔可夫过程和马尔可夫奖励过程都是自发改变的随机过程&#xff0c;而如果有一个外界的“刺激”来共同改变这个随机过程&#xff0c;就有了马尔可夫决策过程&…

【ctfshow】web入门-信息搜集-web11~20

【ctfshow】web入门-信息搜集-web11~17 web11_域名其实也可以隐藏信息&#xff0c;比如flag.ctfshow.com 就隐藏了一条信息web12_有时候网站上的公开信息&#xff0c;就是管理员常用密码web13_技术文档里面不要出现敏感信息&#xff0c;部署到生产环境后及时修改默认密码web14_…

构建和应用卡尔曼滤波器 (KF)--扩展卡尔曼滤波器 (EKF)

作为一名数据科学家&#xff0c;我们偶尔会遇到需要对趋势进行建模以预测未来值的情况。虽然人们倾向于关注基于统计或机器学习的算法&#xff0c;但我在这里提出一个不同的选择&#xff1a;卡尔曼滤波器&#xff08;KF&#xff09;。 1960 年代初期&#xff0c;Rudolf E. Kal…

低代码服务商,中小型数字化软件服务商的新出路

数字化时代大背景下&#xff0c;企业信息化向数字化转型成为所有企业发展的必由之路&#xff0c;企业在对业务模式、流程、组织形式、信息技术等方面进行重新定义时&#xff0c;软件必然参与价值创造的全过程&#xff0c;这势必驱使软件成为推动数字化转型的“引擎”&#xff0…

Motion Plan之搜索算法笔记

背景&#xff1a; 16-18年做过一阵子无人驾驶&#xff0c;那时候痴迷于移动规划&#xff1b;然而当时可学习的资料非常少&#xff0c;网上的论文也不算太多。基本就是Darpa的几十篇无人越野几次比赛的文章&#xff0c;基本没有成系统的文章和代码讲解实现。所以对移动规划的认…

React结合antd5实现整个表格编辑

通过react hooks 结合antd的table实现整个表格新增编辑。 引入组件依赖 import React, { useState } from react; import { Table, InputNumber, Button, Space, Input } from antd;定义数据 const originData [{ key: 1, name: 白银会员, value: 0, equity: 0, reward: 0…