云计算 私有云openstack 搭建指导 【99%成功率】

本人已经搭了很多次,也失败了很多次,这里面有很多失败的经验,以及提示,请按提示搭建,相信你也可以的!

不积小流无以成江海,多尝试才能吸取经验

开始搭建openstack

准备文件(如果没有请百度搜索)

CentOS-7-x86_64-DVD-1511.iso

XianDian-IaaS-v2.2.iso

cirros-0.3.4-x86_64-disk.img

SecureCRS

WinSCP

创建controller虚拟机

点击创建虚拟机,然后下一步,点击自定义硬件。内存配置为4G,新增网络适配器,设置为仅主机模式。(一个网卡为NAT,一个网卡为仅主机模式)。确定安装。

注意:为了节省时间,请最小化安装1511版本

自定义—>稍后安装操作系统

提示#(是1511版本,图片只是演示)

处理器是1   核心2

还需要添加一个网卡,NAT模式的(一共是两个网卡,仅主机、NAT模式)

提示#内存设置成4G最好,防止内存溢出!

设置iso文件,选择Centos-7-x86_64-dvd-1511.iso(是1511版本,图片只是演示)

提示#

此操作,在安装时,必须选择自定义安装—>稍后安装操作系统(才能进入到此界面)

安装的时候语言请选择英文,不要选择中文。不然后期报错!!!

选中磁盘( 磁盘图标上面有个√ )

点击“I will configure partitioning ”然后再点击 Done

点击+号添加先swap、/、/boot。大小需要输入单位MiB、GiB


controller网络配置   

1. 配置虚拟机ip

l 配置网卡eno16777736 (截图)

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736  

修改2项,添加2项IPADDR=192.168.100.10
PREFIX=24

提示#虚拟机此版本操作不能复制或者粘贴,退出时,请检查一遍,不要搞错了!!!

vi /etc/sysconfig/network-scripts/ifcfg-eno33554960

systemctl restart network

提示#

同样的,注意IP是192.168.200.10,退出前请检查!

重置虚拟网络编辑器

提示#

这一步是,设置虚拟网络(编辑):

仅主机子网ip是192.168.200.0

NAT模式的子网IP是192.168.100.0

测试网络

systemctl restart networkping 192.168.100.1

如果ping通,说明网络配置成功。

如果ping不通,请进入到物理机“网络和Internet设置”—>“网络适配器”—>将vm1和vm8,禁用、刷新、启用(如图)

然后再去尝试

克隆controller虚拟机为compute

注意:新建文件夹compute,不要放在之前存放comtroller中!

提示#此操作跟任务工单上不一样,请按我的方式操作!

给compute添加硬盘并分区

添加硬盘

虚拟机compute关机,点击“编辑虚拟机设置”-->“添加”-->下一步-->完成

提示#如果物理机的内存只有8G建议吧,这台虚拟机的内存改成2G

配置compute第一个网卡

启动compute,在compute虚拟机中执行

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

修改ip为192.168.100.20

提示#这一步和上一台虚拟机一样,只需要更改IP即可!

修改如图:

配置compute第二个网卡 

修改ip为192.168.200.20

vi /etc/sysconfig/network-scripts/ifcfg-eno33554960

测试网络 

systemctl restart network

打开controller和compute虚拟机。

在compute中执行

ping 192.168.100.10ping 192.168.100.1

都能ping通,证明网络配置成功  

修改主机名称

注意:一定要连接100网段!!

用SecureCRS连接192.168.100.10 和192.168.100.20(两台虚拟机先要开机)

进入192.168.100.10 并重新登录

进入192.168.100.20 并重新登录

hostnamectl set-hostname controllerlogout

检查两台机器的ip

ip a

注意以下操作的命令,用controller和compute区分在哪一台机器上进行操作。

提示#一定要区分,是在哪台机子上执行!!!

在compute机子上分区

(注意回车!!!)

提示#第二台机子上:此操作必须要谨慎,错了就去重新删除添加硬盘!
fdisk /dev/sdb
n
p
1
(回车)
+10G
n
p
2
(回车)
(回车)
p
w

注意:上面命令是通过fdisk命令分区。将新加磁盘分/dev/sdb1和/dev/sdb2两个区。操作如图所示。


配置yum源

yum源备份

Controller:

cp -r /etc/yum.repos.d  /etc/yum.repos.d_bakrm -rf /etc/yum.repos.d/CentOS-*

Computer:

cp -r /etc/yum.repos.d  /etc/yum.repos.d_bakrm -rf /etc/yum.repos.d/CentOS-Base.repo

创建repo文件
【controller】

创建源local.repo文件

vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1

【compute】 

创建源ftp.repo文件

vi /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas/iaas-repo
gpgcheck=0
enabled=1

上传iso文件

利用WinSCP工具,将centos(1511版本!!)xiandian的iso文件上传到controller(192.168.100.10)的/root目录下。

提示#如果是压缩包(zip、rar、7z)请先解压出ISO,再上传

提示#

建议一个一个上传


挂载iso文件

创建目录controller

 [root@controller ~]# mkdir /opt/{centos,iaas}

【挂载CentOS-7-x86_64-DVD-1511.iso

注意:以自己电脑上的版本为准,这里以1511为例!controller

[root@controller ~] mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos

【挂载XianDian-IaaS-v2.2.iso】 controller

[root@controller ~] mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas

搭建ftp服务器,开启并设置自启controller

[root@controller ~]# yum install vsftpd -y

[root@controller ~]# vi /etc/vsftpd/vsftpd.conf

添加anon_root=/opt/    允许匿名用户访问/opt/文件

anon_root=/opt/

提示#建议把此段代码,粘贴到文件最后面!

保存退出(如图)

  启动controller

[root@controller ~]# systemctl start vsftpd  

  开机时启用controller

[root@controller ~]# systemctl enable vsftpd

关闭防火墙并设置开机不自启

【controller/compute】(注意:两台机器都要关闭防火墙) (截图)

关闭selinux防火墙

setenforce 0

关闭防火墙

systemctl stop firewalld

开机禁用防火墙

systemctl disable firewalld

清除缓存,验证yum源

【controller/compute】(注意:两台机器都要执行)

yum clean all
yum list

安装先电并编辑环境变量

# controller和compute节点

computer安装的时候需要关闭防火墙。

(注意:两台机器都要执行)

yum  -y install iaas-xiandian

controller

[root@controller ~]# vi /etc/xiandian/openrc.sh

全部删除,输入以下内容,并保存。

提示#快捷键dd删除,注意粘贴的时候第一行,还在不在!!!一定要看

HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eno33554960
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sdb1
SWIFT_PASS=000000
OBJECT_DISK=sdb2
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000

在controller上传输到compute(192.168.100.20)

[root@controller ~]# scp /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/openrc.sh

然后输入yes,然后输入密码。如图所示。

通过脚本安装服务

基础安装

# Controller节点和Compute节点(注意:两台机器都要执行)

提示#尽量在第一条命令执行完后再执行第二条

执行iaas-pre-host.sh脚本

iaas-pre-host.sh

提示#这个脚本运行时禁止输入!!!(脚本是自动的)

出现如下图所示,表示安装成功。

# 安装完成后重新登录

[controller][compute]执行

logout

重新登录

配置域名解析(检查)

检查一下即可。(注意:两台机器都要执行)

cat /etc/hosts

提示#输入命令后,请检查下面的是否一样

(1)controller 节点(后面两行一定要一样!!!)

192.168.100.10  controller
192.168.100.20   compute

(2)compute 节点(后面两行一定要一样!!!)

192.168.100.10  controller
192.168.100.20  compute

通过脚本安装服务(一定要注意在哪台机器上执行!!

提示#以下的代码,必须第一台机器完毕,才能到第二台机器执行(一定要记住!!!)

关闭selinux防火墙

setenforce 0

关闭防火墙

systemctl stop firewalld

开机禁用防火墙

systemctl disable firewalld

安装mysql

# Controller节点

执行脚本iaas-install-mysql.sh进行安装

iaas-install-mysql.sh


安装Keystone认证服务

# Controller节点

执行脚本iaas-install-keystone.sh进行安装。

iaas-install-keystone.sh


安装Glance镜像服务

# Controller 节点

执行脚本iaas-install-glance.sh进行安装

iaas-install-glance.sh


安装Nova计算服务

#Controller节点

执行脚本iaas-install-nova-controller.sh进行安装

iaas-install-nova-controller.sh

#Compute节点

提示#看清楚是哪一台!!!尽量在第一台机器执行完后再执行第二台

执行脚本iaas-install-nova-compute.sh进行安装

iaas-install-nova-compute.sh


安装Neutron网络服务

#Controller节点

执行脚本iaas-install-neutron-controller.sh进行安装

 iaas-install-neutron-controller.sh

提示#尽量在第一台机器执行完后再执行第二台

#Compute节点

执行脚本iaas-install-neutron-compute.sh进行安装

iaas-install-neutron-compute.sh


创建gre网络

(依次执行这两条命令,执行完再执行另一条)

#Controller节点

执行脚本iaas-install-neutron-controller-gre.sh进行安装

iaas-install-neutron-controller-gre.sh

#Compute节点

执行脚本iaas-install-neutron-compute-gre.sh进行安装

iaas-install-neutron-compute-gre.sh


安装Dashboard服务

#Controller

执行脚本iaas-install-dashboard.sh进行安装

iaas-install-dashboard.sh

 

要执行,不然后期无法创建云硬盘
【#Controller】
iaas-install-cinder-controller.sh
【#Compute节点】
iaas-install-cinder-compute.sh【#Controller】
iaas-install-swift-controller.sh
【#Compute节点】
iaas-install-swift-compute.sh

请在命令执行完后再执行下一个命令

   这不是就安装成功了!!!

验证openstack平台
物理机输入http://192.168.100.10/dashboard ,出现如下界面,表示搭建成功。

http://192.168.100.10/dashboard

提示#登陆即可!!!

域:demo

用户名:admin

密码:000000

先不要关机!!!

基础准备 (基于之前搭建的openstack)【没有关机过,请跳过此步】

如果发现之前装的openstack不能登录,请执行以下。否则,请跳过基础准备工作这一步骤。

1. 执行openstack-service restart ,待执行完成后执行openstack-service status,查看各服务是否为active状态。 (在192.168.100.10机器上执行)

如果服务无问题,刷新登录页面还不能登录,请继续执行:

//重新挂载

[root@controller ~] mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos

[root@controller ~] mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas

//重启网络https服务

service httpd restart    

service memcached restart

 

//关闭selinux防火墙

setenforce 0

//关闭防火墙

systemctl stop firewalld

//开机禁用防火墙

systemctl disable firewalld

2. 如果还不能登录,在物理机上执行 ping 192.168.100.10 ,验证是否能ping通。

如果不能ping通,且物理机ip正确,请关闭虚拟机,充重置虚拟网络编辑器,重新按照上一课要求设置ip网段。设置完成后再去ping。

如果不能ping通,物理机ip有问题,请重新按照上一课要求设置虚拟网络编辑器。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

练手代码之使用Python实现合并PDF文件

如果你有合并PDF的需要,你会怎么办 我们无所不能的程序员会选择写一个Python代码来实现(谁会这么无聊?是我),如果真的有PDF操作需要,我推荐你使用PDF Expert这个软件哈~ 话不多说直接上代码: …

Pip换源秘籍:让你的Python包飞行起来!

在Python的包管理中,Pip是最重要的工具之一。它允许开发者从Python Package Index (PyPI)安装包,但有时由于网络问题或服务器负载过高,直接从PyPI安装包可能会非常慢。这时,更换Pip源到一个更快的镜像站点是一个常见的解决方案。本…

版本控制工具-git的基本使用

目录 前言一、git简介二、git工作流程三、git基本命令3.1 创建本地仓库3.2 将工作区内容提交到本地仓库3.3 将本地仓库内容推送到远程仓库 前言 本篇文章介绍git的一般工作流程 一、git简介 Git是一个开源的分布式版本控制软件,常用于项目的版本管理 Git是Linux …

破碎的像素地牢探险:游戏分享

软件介绍 《破碎的像素地牢》是开源一款地牢冒险探索类的游戏,融合了日系RPG经典风格,玩家将控制主角进行未知场景的探索。除了经典地牢玩法外,游戏还添加了更多创意内容,如黑屏状态前的挑战性等,使得游戏更加富有挑战…

AI智能时代:ChatGPT如何在金融市场发挥策略分析与预测能力?

文章目录 一、ChatGPT在金融策略制定中的深度应用客户需求分析与定制化策略市场动态跟踪与策略调整策略分析与优化 二、ChatGPT在算法交易中的深度应用自动交易策略制定交易执行与监控风险管理 三、未来展望《智能量化:ChatGPT在金融策略与算法交易中的实践》亮点内…

Windows10中端口被占用处理方法

前言 在Windows 10中,查看端口被占用情况的方法主要依赖于命令行工具netstat。以下是详细步骤,以及必要的解释和归纳: 打开命令提示符 方法1:使用快捷键Win R,打开“运行”对话框,输入cmd,然…

Linux 进程管理

一、查看进程 使用ps -aux进行查看,其中a表示列出所有进程信息,u以用户格式显示进程信息,x显示后台进程参数,也可以使用| grep 进行进程的筛选 以下是显示进程后的示意 USER为进程执行的用户 PID为进程号 %CPU为该进程的cpu占用…

如何解决vue中的路由守卫失效问题

引言 1. 路由守卫简介 路由守卫是前端开发中一个至关重要的概念,特别是在使用单页应用(SPA)框架如React、Vue或Angular时。它们充当了SPA中的“门卫”,控制着用户对不同页面的访问权限。路由守卫的核心功能是确保用户在访问特定…

挖矿宝藏之开发者模式

目录 一、开发者模式简介 二、启动方式 三、元素(Elements) 四、控制台(Console) 五、来源(Sources) 六、网络(Network) 七、性能(Performance) 八、…

Day10—Spark SQL基础

Spark SQL介绍 ​ Spark SQL是一个用于结构化数据处理的Spark组件。所谓结构化数据,是指具有Schema信息的数据,例如JSON、Parquet、Avro、CSV格式的数据。与基础的Spark RDD API不同,Spark SQL提供了对结构化数据的查询和计算接口。 Spark …

react18 实现具名插槽

效果预览 技术要点 当父组件给子组件传递的 JSX 超过一个标签时,子组件接收到的 children 是一个数组,通过解析数组中各 JSX 的属性 slot ,即可实现具名插槽的分发! 代码实现 Father.jsx import Child from "./Child";…

OGG几何内核开发-复杂装配模型读取、显示、分析

OGG几何内核读取STEP模型文件的API有STEPCAFControl_Reader、STEPControl_Reader。 STEPCAFControl_Reader使用很复杂,但可以展示装配树,有利于模型的详细分析。 本文演示了《插件化算法研究平台V2》的OCC几何模型插件的部分功能:显示装配树…

Golang | Leetcode Golang题解之第172题阶乘后的零

题目: 题解: func trailingZeroes(n int) (ans int) {for n > 0 {n / 5ans n}return }

pytets测试框架中如果需要运行多个测试套件时pytest.ini文件设置

pytets测试框架中如果需要运行多个测试套件时pytest.ini文件设置方法 testpaths testcases/fenmi testcases/weixin testcases/Zgen

QT实现人脸识别

QT实现人脸识别 Face.pro文件: QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # d…

【MATLAB】(高数)

参考文章 函数极限 导数与偏导 极值和最值 局部范围的最值 局部范围内的最值,相当于函数的极值 离散数据的最值 多元函数的极值 fminunc [x, fval] fminunc(fun, x0)fun为代求极值的函数;x0为起始点,即从这个点开始寻找极值,…

数据结构9——排序

一、冒泡排序 冒泡排序(Bubble Sort),顾名思义,就是指越小的元素会经由交换慢慢“浮”到数列的顶端。 算法原理 从左到右,依次比较相邻的元素大小,更大的元素交换到右边;从第一组相邻元素比较…

贪心算法——赶作业(C++)

慢慢来,沉稳一点。 2024年6月18日 题目描述 A同学有n份作业要做,每份作业有一个最后期限,如果在最后期限后交作业就会扣分,现在假设完成每份作业都需要一天。A同学想安排作业顺序,把扣分降到最低,请帮他实…

工业园安全生产新保障:广东地区加强可燃气体报警器校准检测

广东,作为我国经济的重要引擎,拥有众多工业园区。 这些工业园区中,涉及化工、制药、机械制造等多个领域,每天都会产生和使用大量的可燃气体。因此,可燃气体报警器的安装与校准检测,对于保障工业园区的安全…

XSS漏洞实验

本篇为xss漏洞实验练习,练习网址来源于网络 练习网址:XSS平台|CTF欢迎来到XSS挑战|XSS之旅|XSS测试 一、前置说明 在测试过程中,有哪些东西是我们可以利用来猜测与判断的: 网页页面的变化;审查网页元素;查…