【OpenStack实战—实验环境准备02】

2023-11-12

目录

前言

准备虚拟机

1、VMware workstation配置

2、控制节点虚拟机配置​​

3、计算节点虚拟机配置​

4、存储节点虚拟机配置​

  一、配置静态IP

IP规划

命令解释 

二、关闭防火墙和selinux

命令解释

三、同步时间

命令解释 

 四、修改主机名和/etc/hosts文件

命令解释 

五、 配置yum源和基本工具

 命令解释


前言

本文openstack实战基于vmware workstation,分布式部署,分别为控制节点、计算节点、存储节点,故需准备三台虚拟机,操作系统为centos7.6,具体要求如下。openstack版本为pike。


注意:本文所有操作三台虚拟机都需要配置,主机名和IP部分注意一一对应。

准备虚拟机

1、VMware workstation配置

2、控制节点虚拟机配置

3、计算节点虚拟机配置

4、存储节点虚拟机配置

  一、配置静态IP

IP规划

节点

管理网络

外部网络

controller

192.168.122.11

192.168.100.11

compute

192.168.122.12

192.168.100.12

cinder

192.168.122.13

192.168.100.13

管理网卡负责openstack各组件间的通讯。只需openstack各组件之间互通即可,不需要上外网,故使用仅主机模式。

外部网络网卡负责上外网以及openstack平台上云主机访问外网 ,采用NAT模式。

cinder划分逻辑卷给云主机提供硬盘不需要上外网,可以只用一张网卡做管理网卡,但为了方便实验,也配置一张网卡用于上外网

vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.122.11
NETMASK=255.255.255.0

vim /etc/sysconfig/network-scripts/ifcfg-ens34
BOOTPROTO=static
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.100.11
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS=192.168.100.2

vim /etc/resolv.conf 
nameserver 8.8.8.8

systemctl stop NetworkManager 
systemctl disable NetWorkManager
systemctl restart network

命令解释 

#根据如下格式配置三台虚拟机六张网卡,其中三张管理网卡不需要上外网不用配置网关和DNS
#管理网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.122.11
NETMASK=255.255.255.0

#业务网卡(上外网)
vim /etc/sysconfig/network-scripts/ifcfg-ens34
BOOTPROTO=static
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.100.11
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS=192.168.100.2

#配置DNS
vim /etc/resolv.conf 
nameserver 8.8.8.8

#永久关闭NetworkManager并重启network
systemctl stop NetworkManager 
systemctl disable NetWorkManager
systemctl restart network

二、关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
getenforce
setenforce 0
vim /etc/selinux/config
SELINUX=disabled

命令解释

#临时关闭防火墙
systemctl stop firewalld
#禁止防火墙开机自启
systemctl disable firewalld
#查看selinux状态;Enforcing为开启;Disabled为关闭;Permissive为临时关闭。
getenforce
#临时关闭selinux;此时状态为Permissive。
setenforce 0 
#永久关闭;改为SELINUX=disabled;保存退出后状态仍是Permissive;重启后变为disabled。
vim /etc/selinux/config 

三、同步时间

yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

命令解释 

#下载ntp
yum -y install ntp
#启动ntpd服务
systemctl start ntpd
#开机自启
systemctl enable ntpd

 四、修改主机名和/etc/hosts文件

hostnamectl set-hostname controller
hostnamectl set-hostname compute
hostnamectl set-hostname cinder

vim /etc/hosts
192.168.122.11 controller
192.168.122.12 compute
192.168.122.13 cinder

命令解释 

#在对应的虚拟机上修改相应主机名,重启后生效
hostnamectl set-hostname controller
hostnamectl set-hostname compute
hostnamectl set-hostname cinder

#在改配置文件末行加入以下三行,三台虚拟机都需要配置
vim /etc/hosts
192.168.122.11 controller
192.168.122.12 compute
192.168.122.13 cinder

五、 配置yum源和基本工具

cd /etc/yum.repos.d/
yum install -y https://mirror.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/extras/x86_64/Packages/centos-release-openstack-pike-1-1.el7.x86_64.rpm
vim /etc/yum.repos.d/CentOS-OpenStack-pike.repo

[centos-openstack-pike]

baseurl=https://mirror.tuna.tsinghua.edu.cn/cc/7/cloud/x86_64/openstack-pike/

yum clean all
yum makecache
yum -y install python-openstackclient openstack-selinux openstack-utils

 命令解释

###以下操作包括controller、compute、cinder ###
cd /etc/yum.repos.d/
#从清华源下载过期的centos中的openstack(pike)源
yum install -y https://mirror.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/extras/x86_64/Packages/centos-release-openstack-pike-1-1.el7.x86_64.rpm
#修改CentOS-OpenStack-pike.repo将centos提供的url改为清华提供的
vim /etc/yum.repos.d/CentOS-OpenStack-pike.repo

[centos-openstack-pike]

baseurl=https://mirror.tuna.tsinghua.edu.cn/cc/7/cloud/x86_64/openstack-pike/

#清除yum缓存
yum clean all
#重新生成yum缓存,使新yum源生效
yum makecache
#安装 OpenStack 客户端
#安装 openstack-selinux 包实现对OpenStack服务的安全策略进行自动管理)
#安装openstack工具包:openstack-utils
yum -y install python-openstackclient openstack-selinux openstack-utils

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

【OpenStack实战—实验环境准备02】 的相关文章

  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在Linux内核源代码中打印IP地址或MAC地址

    我必须通过修改 Linux 内核源代码来稍微改变 TCP 拥塞控制算法 但为了检查结果是否正确 我需要记录 MAC 或 IP 地址信息 我使用 PRINTK 函数来打印内核消息 但我感觉很难打印出主机的MAC IP地址 printk pM
  • 如何在apache 2.4.6上安装apxs模块

    我刚刚用过apt get update我的 apache 已更新为2 4 6 我想安装 apxs 来编译模块 但收到此错误 The following packages have unmet dependencies apache2 pre
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • 如何授予 apache 使用 NTFS 分区上的目录的权限?

    我在一台带有 20GB 硬盘的旧机器上运行 Linux Lubutu 12 10 我有一个 1 TB 外部硬盘 上面有一个 NTFS 分区 在该分区上 有一个 www 目录 用于保存我的网页内容 它在启动时自动安装为 media t515
  • 多处理:仅使用物理核心?

    我有一个函数foo它消耗大量内存 我想并行运行多个实例 假设我有一个有 4 个物理核心的 CPU 每个核心有两个逻辑核心 我的系统有足够的内存来容纳 4 个实例foo并行但不是 8 个 此外 由于这 8 个核心中的 4 个是逻辑核心 我也不
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do

随机推荐

  • iptables防火墙开放方法和常用命令

    开放端口 iptables I INPUT p tcp dport 80 j ACCEPT 保存配置 service iptables save 重启防火墙 service iptables restart 查看状态 service ipt
  • 编译原理——语法分析器(C/C++代码实现)

    0 实验目的 编写一个简单的LL 1 语法分析器 注意 此实验是简化版的LL 1 文法 已给出预测分析表 不需要求FIRST和FOLLOW集 直接根据预测分析表编写程序即可 1 实验要求 根据编译原理理论课中学习的算术表达式文法 以及该文法
  • useMemo与useCallback使用指南

    在介绍一下这两个hooks的作用之前 我们先来回顾一下react中的性能优化 在hooks诞生之前 如果组件包含内部state 我们都是基于class的形式来创建组件 当时我们也知道 react中 性能的优化点在于 调用setState 就
  • Linux部署docker容器(使用root用户登录)

    1 查看linux环境是否存在 podman rpm q podman 2 存在就删除podman dnf erase podman buildah 3 添加仓库 dnf config manager add repo https down
  • Postman之接口返回的数据解析为DDL、DML SQL及树结构数据

    JavaScript的将JSON数组转换为树形结构 第三方返回的JOSN数据我们想要快速的转换为结构化数据存入数据库 一般都需要写程序进行解析入库 对于前期获取 分析数据来说时间成本有点大 基于Postman Test在请求响应后对响应数据
  • 【LeetCode-中等题】429. N 叉树的层序遍历

    文章目录 题目 方法一 二叉树的层序遍历的扩展 题目 方法一 二叉树的层序遍历的扩展 思路和二叉树的层序遍历一样 这一题的关键在于取出每个节点的孩子 for int j 0 j
  • Unity安装(自己安装过程) 2019某一版

    1 进入下面网址 下载Unity 2019 2 13f1 Download Assistant 点击此处跳转 2 下载完成之后 打开压缩包 点击此处 即可安装 不要安装在C盘最好 注意 我这个是2019的 必须要Unity Hub才可以运行
  • 西门子PLC的编程语言的数据类型有哪些

    西门子PLC的编程语言支持多种数据类型 以下是常见的数据类型 1 位 Bit 0或1的数据类型 2 字节 Byte 有8位 Bit 组成的数据类型 3 整型 Integer 有符号的16位整数 2字节 4 双字 Double Word 无符
  • Python表白代码:太秀了,用过的人都找到了对象...【满屏玫瑰盛开】

    导语 暗恋让人受尽委屈 一开始 你是我的秘密 我怕你知道 又怕你不知道 又怕你知道装作不知道 这大概就是暗恋的感受吧 可若是双向奔赴 那简更是甜蜜度爆表 快同小编吃下这波狗粮 跟着上一期的玫瑰花花样表白之后 小编新出了2款新型升级之后的表白
  • #LeetCode刷题——350. 两个数组的交集 II

    难度 easy 1 题目介绍 2 思路分析 第一种方法 双指针法 先对俩个数组进行排序 使用俩个指针 i 和 j 不停遍历nums1和nums2 比较俩个元素的值 如果相等就增加到结果集中 如果 nums1 i lt nums2 j 将 i
  • CTF之流量分析之密码文件

    题目地址 BUUCTF在线评测 题目 深夜里 Hack偷偷的潜入了某公司的内网 趁着深夜偷走了公司的秘密文件 公司的网络管理员通过通过监控工具成功的截取Hack入侵时数据流量 但是却无法分析出Hack到底偷走了什么机密文件 你能帮帮管理员分
  • ACM PKU 1048 Follow My Logic

    ACM PKU 1048 Follow My Logic 2009 04 02 0 Comments Follow My Logic 题目重述 对于一个逻辑电路和给定的输入值 计算该电路的输出值 该逻辑电路有一个或多个输入端 零个或多个逻辑
  • AI笔记: Ubuntu下进行深度学习GPU环境的搭建

    Ubuntu系统安装 1 概述 网上教程一大堆 这里需要特别说明一些问题 目前对tensorflow和cuda支持最好的是ubuntu18 04 16 04这种LTS版本的 非LTS的一版不推荐 马上要到2020年的4月份了 可能会出现20
  • 操作系统常见面试题总结

    本文转载自 http blog csdn net lisuxuan 1993 article details 41794239 操作系统 知识点大纲 线程间通信 进程间通信 进程空间 内核态 用户态 多线程 锁 死锁的条件是什么 线程与进程
  • RTS与CTS的含义

    我是分割线首先介绍下网上看到的 一 RS232标准中的RTS与CTS RTS CTS 请求发送 清除发送 用于半双工时的收发切换 属于辅助流控信号 半双工的意思是说 发的时候不收 收的时候不发 那么怎么区分收发呢 缺省时是DCE向DTE发送
  • vue3+ts+elementui-plus二次封装树形表格

    复制粘贴即可 一 定义table组件
  • java utf-8 gbk_Java 字符转码之UTF-8转为GBK/GB2312

    java跟python类似的做法 在java中字符串的编码是java修改过的一种Unicode编码 所以看到java中的字符串 心理要默念这个东西是java修改过的一种Unicode编码的编码 packagestring importjav
  • 2020-09-06

    Memcache Memcached是一款开源 高性能 分布式内存对象缓存系统 可应用各种需要的缓存场景 其主要目的是通过降低对Database的访问来加速Web应用程序 他是一个基于内存的 键值对 存储 用于存储数据库调用 API调用或页
  • 关于mysql的时区(下):如何设置mysql的时区

    一 如何设置 mysql 时区 1 命令 1 查时区 show variables like time zone 返回有2行记录 要看time zone变量的值 不需要看system time zone 若值为SYSTEM表示取值跟syst
  • 【OpenStack实战—实验环境准备02】

    目录 前言 准备虚拟机 1 VMware workstation配置 2 控制节点虚拟机配置 3 计算节点虚拟机配置 4 存储节点虚拟机配置 一 配置静态IP IP规划 命令解释 二 关闭防火墙和selinux 命令解释 三 同步时间 命令