OpenStack-train版安装之环境准备

news2025/1/19 11:23:53

环境准备

  • 环境介绍
  • 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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[点云分割] 条件欧氏聚类分割

介绍 条件欧氏聚类分割是一种基于欧氏距离和条件限制的点云分割方法。它通过计算点云中点与点之间的欧氏距离&#xff0c;并结合一定的条件限制来将点云分割成不同的区域或聚类。 在条件欧氏聚类分割中&#xff0c;通常会定义以下两个条件来判断两个点是否属于同一个聚类&…

8款宝藏级别的云端设计工具推荐

早年&#xff0c;UI设计师选择的工具有限&#xff0c;功能相对单一&#xff0c;大多数在线原型设计工具都是国外的&#xff0c;语言和网络都增加了设计工作的负担。如今&#xff0c;国内外有许多在线原型设计工具&#xff0c;不仅可以在浏览器上使用&#xff0c;而且还具有团队…

你的关联申请已发起,请等待企业微信的管理员确认你的申请

微信支付对接时&#xff0c;需要申请AppID,具体在下面的位置&#xff1a; 关联AppID&#xff0c;发起申请时&#xff0c;会提示这么一句话&#xff1a; 此时需要登录企业微信网页版&#xff0c;使用注册人的企业微信扫码登录进去&#xff0c;然后按照下面的步骤操作即可。 点击…

二进制插桩:静态插桩和动态intel pin插桩

目前有两类插桩平台&#xff1a;静态插桩&#xff08;SBI&#xff09;和动态插桩&#xff08;DBI&#xff09; SBI使用二进制重写方法永久修改磁盘上的二进制文件&#xff1b;DBI不会修改磁盘上的二进制程序&#xff0c;而是监视二进制程序的执行状态&#xff0c;并在其运行时…

C++ Day04 this指针,友元函数,重载

this指针 概念 谁调用 this 所在的函数 ,this 就存储谁的地址 特点 1, 在当前类的非静态成员函数中调用本类非静态成员时 , 默认有 this 关键字 2, 静态成员函数 , 没有 this 指针。 示例 #include <iostream> #include <cstring> using namespace std; class S…

羊大师教你如何有效解决工作中的挑战与压力?

在现代社会&#xff0c;工作问题一直是许多人头疼的难题。无论是从工作压力到职业发展&#xff0c;工作问题不仅会影响个人的心理健康&#xff0c;还可能对整个工作团队的效率和和谐产生负面影响。因此&#xff0c;如何有效解决工作问题成为了每个职场人士都需要面对的挑战。 …

什么是Zero-shot(零次学习)

1 Zero-shot介绍 Zero-shot学习&#xff08;ZSL&#xff09;是机器学习领域的一种先进方法&#xff0c;它旨在使模型能够识别、分类或理解在训练过程中未见过的类别或概念。这种学习方法对于解决现实世界中常见的长尾分布问题至关重要&#xff0c;即对于一些罕见或未知类别的样…

vue2指令的使用和自定义指令

前言 个人认为vue的指令,对比react来说,给开发者节省了很大的学习成本。比如在react中,你想渲染一个列表,需要用Array.map的方法return<div>,而在vue中,一个简单的v-for就解决了问题。 在学习成本和入手体验上,vue的作者确实后来者居上,能让人更快的使用vue开发。不过也…

vs调试输出,不显示线程已退出

如题&#xff1a;一堆线程退出的信息&#xff0c;招人烦。 其实在vs设置里可以关闭&#xff1a; 工具-->选项-->调试-->输出窗口&#xff1a;

【Linux】权限的理解和使用

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

Linux程序之可变参数选项那些事!

一、linux应用程序如何接收参数&#xff1f; 1. argc、argv Linux应用程序执行时&#xff0c;我们往往通过命令行带入参数给程序&#xff0c;比如 ls /dev/ -l 其中参数 /dev/ 、-l都是作为参数传递给命令 ls 应用程序又是如何接收这些参数的&#xff1f; 通常应用程序都…

程序的执行原理(上)

文章目录 hello world程序源文件的本质是0和1hello world文件的ASCII表示程序被其他程序翻译成不同的格式预处理阶段编译阶段汇编阶段链接阶段 为什么需要了解编译系统的工作原理&#xff1f;优化程序性能理解链接时出现的错误避免安全漏洞 运行程序参考 hello world 程序源文件…

基于ZLMediaKit的GB28181视频平台demo

GB28181 主要内容 国标的20位id是按照标准来定的&#xff0c;前8位是地域信息&#xff0c;9-10位是行业信息&#xff0c;11-13是设备类型、14是网络标识、后6位为序号 约定以SIP协议作为会话通道的使用标准&#xff0c;以RTP作为语言和视频的载体。联网系统在进行音视频传输及…

AQS和ReentrantLock还能这样理解?

1.公平锁和非公平锁 1.1含义 公平锁:在竞争环境下&#xff0c;先到临界区的线程比后到的线程一定更快地获取得到锁。非公平锁:先到临界区的线程未必比后到的线程更快地获取得到锁。 1.2如何自我实现 公平锁实现&#xff1a;可以把竞争的线程放在一个先进先出的队列上。只要…

webpack plugin

1、基本写法及使用 这里用到 emit 钩子 及make 钩子&#xff0c;前者是串行后者是并行 /*** 1.webpack加载webpack.config.js中所有配置&#xff0c;此时就会new TestPlugin()&#xff0c;执行插件的constructor2.webpack创建compiler对象3.遍历所有plugins中插件&#xff0…

404 - File or directory not found.

iis部署的时候容易出现以下错误&#xff0c;造成的主要原因可能是IIS没有安装好某个组件或插件: 04-找不到文件或目录。 您要查找的资源可能已被删除、名称已更改或暂时不可用。 如果遇到该问题&#xff0c;安装iis的时候记得安装以下

AIGC ChatGPT4总结SQL优化细节操作

数据库SQL优化是一个复杂的过程,它通常涉及到许多不同的技术和方法。以下是一些常用的SQL优化策略: 1. **索引使用**:索引可以极大地加速查询速度。但是,索引并不总是有好处的,因为它们需要额外的空间来存储,并且在插入和更新数据时可能会减慢速度。因此,选择正确的字段…

【C++】类和对象——构造函数和析构函数

今天要学习两个特殊的函数&#xff0c;分别是构造函数和析构函数&#xff0c;它们究竟有什么用呢&#xff1f; 比如说&#xff0c;我们先写一个简单的日期的类 class Date { public:void Init() {_year 1;_month 1;_day 1;}void Print() {cout << _year << &qu…

字符串和内存函数(2)

文章目录 2.13 memcpy2.14 memmove2.15 memcmp2.16 memset 2.13 memcpy void* memcpy(void* destination, const void* source, size_t num); 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。这个函数在遇到 ‘\0’ 的时候并不会停下来。如果so…

企业计算机服务器中了locked勒索病毒怎么办,勒索病毒解密恢复

计算机网络为企业的生产生活提供了极大帮助&#xff0c;让企业逐步走向数字化办公&#xff0c;但随之而来的网络安全威胁也不断增多&#xff0c;网络勒索病毒病毒攻击企业计算机的事件频发&#xff0c;并且攻击加密手段也在不断提升。近期&#xff0c;云天数据恢复中心再次接到…