OpenStack环境部署

2023-05-16

这里写目录标题

  • 虚拟机资源信息
    • 部署思路
    • 资源规划
    • 基础环境配置
      • 关闭防火墙和系统按群机制,修改主机名
      • 安装基础环境依赖包
      • VMnet1网卡配置参数
    • 配置主机映射文件
      • 三台节点做免交互
      • 配置DNS,配置控制节点时间同步
    • 系统环境配置
      • 执行MariaDB安装配置脚本
      • 安装RabbitMQ
    • 安装memcached
    • 安装edcd
      • 修改配置文件
    • 开机自启动、开启服务,检测端口

虚拟机资源信息

1,控制节点CT
CPU:双核双线程-CPU虚拟化开启
内核:8G硬盘:300G
双网卡:VM1-(局域网)和NAT-(外网)
操作系统:Centos7.6(版本1810及以上)-最小化安装

2,计算节点C1
CPU:双核双线程-CPU虚拟化开启
内存:8G硬盘:300G
双网卡:VM1-(局域网)和NAT-(外网)
操作系统:centos7最小化安装

3.计算节点C2
CPU:双核双线程-CPU虚拟化开启
内存:8G硬盘:300G
双网卡:VM1-(局域网)和NAT-(外网)
操作系统:Centos7–最小化安装

注释:如果内存不够,可减少内存大小,最小内存6G

部署思路

1,配置操作系统+OPenStack运行环境
2.配置OPenstack平台基础服务(rabbitmq,mariadb,么么cache,Apache)
3.配置openstack keystone组件
4.配置OpenStack Glsnce组件
5.配置Openstack服务
6.配置Openstack Nova组件
7.配置Opendtack Neytron组件
8.配置Openstack dashboard组件
9.配置Openstack Cinder组件
10,常用云主机操作

资源规划

主机内存硬盘网卡
CT8300
C18300
C28300

基础环境配置

1修改添加NAT网卡配置
在这里插入图片描述

关闭防火墙和系统按群机制,修改主机名

主机名ip映射,节点免交互登录,时间同步

在这里插入图片描述

安装基础环境依赖包

都要需要重复安装,保证每个组件都是最新

yum -y install net-tools bash-completion vim gcc gcc-c++ make pcre  pcre-devel expat-devel cmake  bzip2 lrzsz 

在这里插入图片描述
各字段解释

net-tools:ifconfig命令行工具
bash-completion:辅助自动补全工具
vim:vim工具
gcc gcc-c++:编译环境
make:编译器
pcre pcre-devel:是一个Perl库,包括 perl 兼容的正则表达式库
expat-devel:Expat库,Expat是一个面向流的xml解析器
cmake:CMake是一个跨平台的编译工具,CMkae目前主要使用场景是作为make的上层工具,产生可移植的makefile文件
lrzsz:可使用rz、sz命令上传、下载数据

yum -y install centos-release-openstack-train python-openstackclient openstack-selinux openstack-utils

在这里插入图片描述

各字段解释

OpenStack 的 train 版本仓库源安装包,同时安装 OpenStack 客户端和 openstack-selinux 安装包

VMnet1网卡配置参数

查看VMnet1网卡名称

修改VMnet1网卡配置

在这里插入图片描述

配置主机映射文件

所有节点
将VMnet1 IP与主机名注入到主机映射文件中,用于区分主机,便于相互访问

echo ‘192.168.80.12 ct’ >> /etc/hosts
echo '192.168.80.15 c1' >> /etc/hosts
echo '192.168.50.13 c2' >> /etc/hosts

在这里插入图片描述

三台节点做免交互

创建非对称密钥,上传公钥文件

ssh-keygen -t rsa
#一路回车
ssh-copy-id ct
ssh-copy-id c1
ssh-copy-id c2

在这里插入图片描述
在这里插入图片描述

配置DNS,配置控制节点时间同步

echo 'nameserver 114.114.114.114' >> /etc/resolv.conf

控制节点ct192.168.50.11

yum install chrony -y

vim /etc/chrony.conf 

#server 0.centos.pool.ntp.org iburst						
#server 1.centos.pool.ntp.org iburst						
#server 2.centos.pool.ntp.org iburst						
#server 3.centos.pool.ntp.org iburst	

server ntp6.aliyun.com iburst		#配置阿里云时钟服务器源
allow 192.168.80.0/24				#允许192.168.80.0/24网段的主机来同步时钟服务
		
#使用chronyc sources命令查询时间同步信息

systemctl enable chronyd
systemctl restart chronyd
chronyc sources

在这里插入图片描述
在这里插入图片描述
所有节点,配置计划性任务,每隔两分钟同步一次

crontab -e		
*/2 * * * * /usr/bin/chronyc sources >>/var/log/chronyc.log

crontab -l

在这里插入图片描述

系统环境配置

安装,配置MariaDBB
控制节点ct:192.168.50.11

yum -y install mariadb mariadb-server python2-PyMySQL

在这里插入图片描述
mariadb:是mysql的一个分支,是一款完全兼容mysql的开源软件
mariadb-server:数据库服务
python2-PyMySQL:用于openstack的控制端连接mysql所需要的模块,如果不安装,则无法连接数据库;此包只安装在控制端

yum -y install libibverbs

在这里插入图片描述

libibverbs:远程直接内存访问

添加MySQL子配置文件,增加如下内容
控制节点ct:192.168.50.11

vim /etc/my.cnf.d/openstack.cnf

[mysqld]
bind-address = 192.168.80.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

bind-address = 192.168.80.10 #控制节点局域网地址
default-storage-engine = innodb #默认存储引擎
innodb_file_per_table = on #每张表独立表空间文件
max_connections = 4096 #最大连接数 collation-server = utf8_general_ci #默认字符集 character-set-server = utf8



systemctl enable mariadb
systemctl start mariadb

在这里插入图片描述

执行MariaDB安装配置脚本

控制节点ct:192.168.50.11

mysql_secure_installation

Enter current password for root (enter for none): 	#输入当前root密码,回车
OK, successfully used password, moving on...
Set root password? [Y/n] Y							#是否需要更改root密码,Y确认
Remove anonymous users? [Y/n] Y						#是否移除其他用户,Y确认移除
 ... Success!
Disallow root login remotely? [Y/n] n				#是否不允许root用户远程登陆,输入n,允许root用户远程登陆
 ... skipping.
Remove test database and access to it? [Y/n] Y 		#是否删除test测试库,Y确认删除
Reload privilege tables now? [Y/n] Y 				#是否刷新规则,Y确认刷新

安装RabbitMQ

控制节点ct:192.168.50.11
所有创建虚拟机的指令,控制端都会发送到rabbitmq,node节点监听rabbitmq

yum -y install rabbitmq-server

在这里插入图片描述

===配置服务,启动RabbitMQ服务,并设置其开机启动===
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

===创建消息队列用户,用于controler和 计算节点连接rabbitmq的认证(关联)===
rabbitmqctl add_user openstack RABBIT_PASS

===配置openstack用户的操作权限(正则,配置读写权限)===
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

查看rabbitmq插件列表
rabbitmq-plugins list

在这里插入图片描述
在这里插入图片描述

安装memcached

是一个缓存数据库,安装memcached是用于存储session信息;服务身份验证机制(keystone)使用Memcached来缓存令牌 在登录openstack的dashboard时,会产生一些session信息,这些session信息会存放到memcached中

控制节点ct(192.168.50.17)

yum install -y memcached python-memcached
#python-*模块在OpenStack中起到连接数据库的作用

在这里插入图片描述
修改memcached配置文件

vim /etc/sysconfig/memcached 
PORT="11211"					#memcached端口11211
USER="memcached"				#用户memcached
MAXCONN="1024"					#最大连接数1024
CACHESIZE="64"					#字符集大小64位
OPTIONS="-l 127.0.0.1,::1,ct" 	#监听地址,127.0.0.1:本地地址,::是ipv6地址,ct是本地VMnet1地址

在这里插入图片描述

开启服务开机自启,启动服务
systemctl enable memcached
systemctl start memcached

netstat -nautp | grep 11211

在这里插入图片描述

安装edcd

etcd是一个分布式可靠的键值存储系统,数据库
控制节点:ct192.167.50.17

yum -y install etcd

修改配置文件

控制节点ct(192.168.50.17)

cd /etc/etcd/
vim etcd.conf 
删除所有内容,复制粘贴以下内容并进行修改

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.80.10:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.80.10:2379"	
ETCD_NAME="ct"	
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.8010:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.80.10:2379"
ETCD_INITIAL_CLUSTER="ct=http://192.168.80.10:2380"	
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"   

开机自启动、开启服务,检测端口

systemctl enable etcd.service
systemctl start etcd.service
netstat -anutp |grep 2379
netstat -anutp |grep 2380

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenStack环境部署 的相关文章

  • java截取视频的三种方式

    String cut 61 34 ffmpeg ss 34 43 startTime 43 34 i 34 43 videoPath 43 34 t 34 43 String valueOf seconds 43 34 c v copy c
  • 有关C语言中字符串入栈的理解

    C语言中字符串的入栈 写在前面 对于C语言中变量入栈的顺序实际上需要具体情况具体分析 xff0c 不同操作系统下的编译器可能对此有不同的解释 xff0c 即使对于同一个C的编译器而言 xff0c 参数设定的不同也会导致编译器调整局部变量的入
  • win10 安装MySQL 无管理员权限

    1 找到下载的安装文件 xff0c 按住Shift键 xff0c 同时在安装文件上点击鼠标右键 xff0c 选择复制为路径 2 打开C Windows System32 xff0c 找打cmd exe xff0c 点击右键选择以管理员方式运
  • Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

    现象描述 xff1a 代码连接本地kafka没有问题 能监听到监听的topic xff0c 可获取通道中的所有topic 将kafka放到服务器上 xff0c 本地程序启动报异常 xff0c 可获取kafka中所有的topic xff0c
  • java 视频转换 avi 转 MP4

    添加jar 包 lt dependency gt lt groupId gt ws schild lt groupId gt lt artifactId gt jave core lt artifactId gt lt version gt
  • 前后端分离,SpringBoot。WEBSocket后台报警页面提示

    前端JS var websocket 61 null 判断当前浏览器是否支持WebSocket 主要此处要更换为自己的地址 if 39 WebSocket 39 in window websocket 61 new WebSocket 34
  • MYSQL 依据字段值分段统计

    SELECT sum mun max from select ceil distance 500 1 500 as min ceil distance 500 500 as max count mun from tablename wher
  • java8转换数组。找到最接近指定数据

    List lt String gt lsstr 61 Arrays asList arear 数组转list List lt String gt listWithoutNulls 61 lsstr stream filter Objects
  • nested exception is java.lang.IllegalStat eException:duplicate spring bean

    nested exception is java lang IllegalStat eException duplicate spring bean 多次注入bean信息 xff0c 经过长时间排查 xff0c 我是将项目进行整合 xff0
  • Artifact xxx:war exploded: Error during artifact deployment.

    Artifact xxx war exploded Error during artifact deployment 出现这个问题 xff0c 在网上查资料 xff0c 1 说是idear 配置的tomcat Artifact 添加的Var
  • zTree取消父子关联

    对于zTree父子关联关系的设置 xff0c zTree里面自带了一个chkboxType函数 取消父子关联 xff0c 只需要在初始化树的时候 xff0c 在settings里面设置 xff1a check enable true chk
  • 解决Linux系统下,出现“不在sudoers文件中,此事将被报告”的问题

    使用sudo mkdir software xff0c 提示XXX 不在 sudoers 文件中 此事将被报告 是因为当前操作用户的权限不足 xff0c 而root用户只有在权限分配及系统设置时才会使用 xff0c 而root用户的密码也不
  • 结构体数组的引用方式

    期末复习时发现答案中有p i a的用法 xff0c 遂进行了一番测试 xff0c 所获心得记载如下 引用结构体指针数组时 xff0c p i 61 61 A i 61 61 p 43 i 注意加括号 xff0c 优先级较低 具体为 xff1
  • Hadoop安装和配置

    1 安装Hadoop 注意 xff1a 安装JDK类似 xff0c 解压后配置环境变量 1 0 Hadoop下载地址 xff1a https archive apache org dist hadoop common hadoop 2 7
  • 机器学习(1)机器学习的范围

    机器学习的范围包括但是不局限与如下 xff1a 机器学习跟模式识别 xff0c 统计学习 xff0c 数据挖掘 xff0c 计算机视觉 xff0c 语音识别 xff0c 自然语言处理等领域有着很深的联系 从范围上来说 xff0c 机器学习跟
  • Tesseract-OCR-v5.0中文识别,训练自定义字库,提高图片的识别效果

    1 xff0c 下载安装Tesseract OCR 安装 xff0c 链接地址Index of tesseract 2 xff0c 安装成功 tesseract v 注意 xff1a 安装后 xff0c 要添加系统环境变量 3 xff0c
  • 4x4矩阵按键应用详解

    一 简介 4x4矩阵按键是单片机外部设备中所使用的排布类似于矩阵的按键组 显然矩阵按键的使用要比独立按键要复杂一些 xff0c 编程也要复杂一些 xff0c 但可以单片机IO资源 4x4矩阵按键即分为4组列线 xff0c 4组行线 xff0
  • Hyper-V 显卡直通

    创建虚拟机后 xff0c 打开虚拟机设置 gt 禁用检查点功能 使用WIN11镜像来部署安装Hyper V虚拟机系统 xff0c 进入桌面后关闭虚拟机 物理机以管理员运行Windows PowerShell 输入以下命令 vm 61 34
  • mwan3 负载平衡 多PPPOE账号 LTE WIFI 负载均衡

    OpenWrt上的MWAN3可以支持多根网线或者多个PPPOE账号的同时拨号使用和负载均衡 并且还可以通过Ping方式来检测中断线路并自动屏蔽中断线路 mwan3的详细介绍 https openwrt org docs guide user
  • websocket实现页面数据实时加载(Springboot+vue)

    在这里先提供两种思路 要实现页面数据的实时加载有两种方式 xff0c 第一种是长轮询的方式 要么是后台长轮询 xff0c 检测到数据变化时 xff0c 通知websocket你该更新一下数据了 要么是前台长轮询 xff0c 每隔一段时间发起

随机推荐

  • 【Cocos2d-x】使用贝塞尔曲线(Bezier)实现精灵抛物线运动

    Cocos2d x中的贝塞尔曲线 在Cocos2d x中贝塞尔曲线运动的封装类为CCBezierTo和CCBezierBy 这两个Action都需要传入一个参数ccBezierConfig xff0c 这是一个结构体 xff0c 这个结构体
  • 常用开源Jabber(XMPP) IM服务器介绍

    转自 xff1a http www kfdoc com Article kaifayuyan Java 200909 283 html 1 Openfire Wildfire 3 x 授权 GPL or 商用 操作系统平台 xff1a 所有
  • socket缓冲区大小设置

    系统提供的socket缓冲区大小为8K xff0c 你可以将之设置为64K xff0c 尤其在传输实时视频时 设置发送和接收缓冲区 int rcvbuf int rcvbufsize 61 sizeof int if getsockopt
  • CentOS 7 安装PostgreSQL

    原文 xff1a https blog csdn net wlwlwlwl015 article details 53256358 下载 在postgresql的官方即可找到源码文件目录 xff0c 地址如下 xff1a https www
  • 使用sudo apt-get update总是报错软件包缓存文件损坏

    命中 1 http cn archive ubuntu com ubuntu xenial InRelease 获取 2 http cn archive ubuntu com ubuntu xenial updates InRelease
  • CSP202112 第四题 磁盘文件操作(C++ 25分)

    使用了tuple xff0c 但这么使用的话 xff0c 只能符合前25 的数据 xff0c 即m小于等于10000 include lt bits stdc 43 43 h gt include lt tuple gt using nam
  • 安装Rust(Windows 10 与 CentOS7)

    注 xff1a 安装及下载需要科学上网 官网下载地址 xff1a Install Rust Rust Programming Language Window安装Rust 0 前提条件 安装C 43 43 编译工具 xff08 如下图所示 x
  • 【辅助驾驶】透视变换、仿射变换(包含鸟瞰图、俯视图、正视图)[3]——汽车全景环视系统

    一 效果 4个不同方向的相机 xff0c 将其鸟瞰变化后 xff0c 进行拼接 xff0c 得到车辆及周围区域的鸟瞰视角图 二 处理流程 1 相机的标定和图片校正 xff1b 2 图像拼接 xff1b 3 拼接缝消除 xff1b 4 移植到
  • 玩客云刷Armbian详细教程

    网上放出了很多关于玩客云的刷机玩法 xff0c 有电视盒子 复古游戏机 Armbian Linux操作系统搭建自己的私有云 可玩性还是很高的 xff0c 而且价格还便宜就入手了一台 下面记录一下我的玩客云折腾之旅 xff0c 机器刷了Arm
  • 原创分析| 入门或者转行音视频,应该要怎么做?

    要不要从事音视频开发 这一两年因为该死的疫情 xff0c 让短视频 超高清视频和实时音视频反而成为需求风口 我的看法当然是觉得音视频这个行业还可以 xff0c 而且从我自己的观察来看 xff0c 做音视频的现在普遍年龄都在 30 43 了
  • while(a<b<c)怎么理解?

    首先计算a lt b 是否成立 xff0c 再计算1 lt c或 0 lt c span class hljs keyword int span main span class hljs keyword int span a 61 span
  • C判断字符输入是否为指定字符串

    题目要求 xff1a 设定口令为 yulingxi 请求输入 xff0c 如果错误循环输入直至正确为止 1 xff0c 偷懒用strcmp 的做法 xff1a span class hljs preprocessor define CRT
  • 犀哥教你用C写贪吃蛇

    一 xff0c 涉及知识点 xff1a 结构体链表 xff0c 动态分配内存 xff0c 键盘输入检测 xff0c 设置光标 二 xff0c 实现逻辑 1 xff0c 可以设置光标 xff0c 就能实现制定位置打印制定符号 2 xff0c
  • C++类的默认继承方式为保护继承

    二义性 xff1a 就是指取值不明确 xff0c 比如下面例子中的D3同时继承与父类D1 D2 而两个父类当中都有成员变量k 此时如果想要用D3的对象 xff0c 访问父类的成员变量K xff0c 则需要加上相应的域名才能访问 并且只有在继
  • 学习笔记(三) 解决Python3.X pycharm中报No module named 'PIL'

    PIL全称Python Imaging Library xff0c 翻译过来就是Python图像处理库 如果报了标题的错误 xff0c 说明在程序涉及图片时少了这个库 解决方法很简单 xff1a 打开命令行 xff1a pip instal
  • 解释一下为啥负数的取值范围比整数要多一个

    这里有一个0值的差别 以最简单的单字节char型为例 占8位 xff0c 最高位为符号位 这样0值就有了 0000 0000 正零 1000 0000 负零 两种 从数学角度上 xff0c 是没区别的 xff0c 可是用两种形式表示一个数
  • 位运算符打印补码的问题

    int a i scanf d amp a getchar char data 61 1 lt lt 7 for i 61 0 i lt 8 i 43 43 data amp a putchar 1 putchar 0 a lt lt 61
  • socket网络编程的一些基础知识

    目录 xff1a 1 什么是套接字 xff1f 2 Internet 套接字的两种类型 3 网络理论 4 结构体 5 本机转换 6 IP 地址和如何处理它们 7 socket 函数 8 bind 函数 9 connect 函数 10 lis
  • JS如何处理超过32位的整数的位运算

    这个问题是已经毕业的学员李佳问到的 本想在网上查一下给他个答案省事 转念一想 如果网上如果他能在网上查到看的明白的方案应该不至于来问我 索性自己给他解一解 因为貌似这个问题还是有点意思的 首先 要知道为什么这个问题会成为一个问题 这里就不得
  • OpenStack环境部署

    这里写目录标题 虚拟机资源信息部署思路资源规划基础环境配置关闭防火墙和系统按群机制 xff0c 修改主机名安装基础环境依赖包VMnet1网卡配置参数 配置主机映射文件三台节点做免交互配置DNS xff0c 配置控制节点时间同步 系统环境配置