使用脚本部署openstack平台

两台虚拟机,compute和controller
建议两台虚拟机都配置,内存4G,硬盘60G,网络要在虚拟机设置这里添加一个网络适配器,第一个是主机模式192.168.10.0,第二个是NAT模192.168.20.0,
可以在此处了解一下三种不一样的虚拟机联网方式
虚拟机联网的三种方式
总结一下:
硬盘问题:
compute节点新添加硬盘之后要重启,然后用fdisk /dev/sdb 来分盘,例如添加了50G就可以分成25G和24G,重启之后检查一下yum源,centos和iaas的文件还在不在

网络问题:
仅主机模式
​ 虚拟机只与主机共享一个专用网络,与外部网络无法通信(ping不通外网)。
NAT模式
​ 虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。
桥接模式
​ 虚拟机直接连接外部网络的模式,主机起到了网桥的作用。在这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。

(第一块网卡直接选择主机模式,第二块网卡选择NAT也是可以的,主机模式对应控制面板-适配器中的vm1,NAT模式对应适配器vm8,可以在网络中心查看两者的连接状态,总之,主机模式下的ip可用于连接CRT,也可以ping本电脑ip,但无法ping外网,最终如果主机模式下的ip能正常连接CRT,虚拟机可以ping www.baidu.com,则网络状态没问题。如果安装过程中遇到,安装失败,第一检查yum list,第二检查网络,如果外网ping不通了,要检查网络问题。建议如果实在找不出来问题,将第二块网卡的配置文件补上,BOOTPROTO可以选择dhcp,随意,然后关闭虚拟机,在编辑下的虚拟网络设置中还原网络设置,再重新打开虚拟机查看是否两块网卡都有ip,也有dhcp池满的可能,将dhcp设置中默认租用时间调整与下面的最大租用时间一样)
个人建议可以直接用dhcp,不需要每次配置网卡文件,第二块网卡ip丢失就补建第二块网卡的网卡配置文件
先讲如何增加第二块网卡:
首先进入编辑里,选择添加,比如我这里是VMnet2,添加之后选择主机模式,按要求配置好网段。

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

再进入虚拟机设置页面,添加第二个网络适配器,需要主机模式的网卡,请选择自定义,在下拉框里选择刚才设置的网络即可
在这里插入图片描述

连接CRT进行操作
在computer节点更改ip,注意eno16777736是主机模式的网卡,另一个33554976是NAT模式,如果需要配置,也写一遍如下的配置文件,但是BOOTPROTO可以用dhcp,自动获取ip。这里注意,在编辑的虚拟机网络设置中是有DHCP这个勾选的,我们在更改网卡配置文件的时候,这个勾选会随配置文件改变,如果没有对应变化,或者是检查都没有错误依然ip a没有ip,无法联网,可能是网卡并没有生效,进入控制面板的适配器里双击该网卡,看看发送接收是否正常,ip是否是自己设置的状态,如果都没有错误,可以尝试在虚拟机网络设置中还原默认配置
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=79178a90-ca7d-409b-9ddb-fa46112721bd
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.10.20
netmask=255.255.255.0
DNS1=192.168.1.1
DNS2=8.8.8.8

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno33554976

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNX=yes
PEERROUTES=yes
IPV4_FAILIRE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=yes
NAME=eno33554976
DEVICE=eno33554976
ONBOOT=yes
IPADDR=192.168.20.10
NETMASK=255.255.255.0
DNS1=8.8.8.8

restart的网络,下面这句在VM里面运行,之后再ip a查一下是否更改成功,由于此后要用到ftp,还可以尝试ping一下网络看是否联通
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (120.232.145.144) 56(84) bytes of data.
64 bytes from 120.232.145.144: icmp_seq=1 ttl=128 time=14.8 ms
64 bytes from 120.232.145.144: icmp_seq=2 ttl=128 time=14.2 ms
如上表示联通了,可以按ctrl+z退出
[root@localhost ~]#systemctl restart network
重新连接CRT
control节点一样的操作,将IP改成192.168.10.10
然后在控制节点的root目录下上传两个镜像文件,
在这里插入图片描述

[root@localhost ~]# mkdir /opt/centos7.2
[root@localhost ~]# mkdir /opt/iaas
[root@localhost ~]# mount /root/CentOS-7-x86_64-DVD-1511.iso /opt/centos7.2
mount: /dev/loop0 is write-protected, mounting read-only
[root@localhost ~]# mount /root/XianDian-IaaS-v2.2.iso /opt/iaas/
mount: /dev/loop1 is write-protected, mounting read-only
配置挂载文件
[root@localhost ~]# rm -rf /etc/yum.repos.d/CentOS- *
[root@localhost ~]# cat > /etc/yum.repos.d/local.repo <<EOF
下面每个>提示符后面输入对应一行内容

[centos]
name=centos
baseurl=file:///opt/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

以上是另一种编写方法,用vi也是一样的,文件内容一样
在计算节点输入,也就是不在计算节点上传两个镜像包,而是利用ftp从控制节点下载
[root@localhost ~]# rm -rf /etc/yum.repos.d/CentOS- *
[root@localhost ~]# cat > /etc/yum.repos.d/local.repo <<EOF

[centos]
name=centos
baseurl=ftp://192.168.10.10/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.10.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

在控制节点,安装ftp服务
[root@localhost ~]# yum install vsftpd -y
出现complete以后,修改配置文件(这里如果报错,没有镜像源,则回去检查修改ip的地方dns配置了没有,如果是报错another app,运行下句
rm -f /var/run/yum.pid

Complete!
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
anon_root=/opt
[root@localhost ~]# systemctl restart vsftpd
两边的节点关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -X
[root@localhost ~]# iptables -Z
[root@localhost ~]# systemctl stop firewalld
这里讲一下可能出现的问题,首先,网络出现问题,ip a检查看看,如果ip不见了,去检查一下两个网卡各自的配置文件,再重启网络
systemctl restart network;如果关防火墙的时候关不了,提示Failed to stop firewalld.service: Unit firewalld.service not loaded.,需要重新安装yum install firewalld

两边节点安装xiandian,命令一样,计算节点可能会稍慢,一样以Complete!为准
[root@localhost ~]# yum install iaas-xiandian -y
两边节点修改配置文件,注意INTERFACE_NAME=eno33554976是第二块网卡的名字
在原文件中添加了一行(不加也行),controller下加controller的ip,compute下加compute的ip
##Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.10.130
[root@localhost ~]# vi /etc/xiandian/openrc.sh

##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.10.130##Controller Server hostname. example:controller
HOST_NAME=controller##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.10.129##Compute Node hostname. example:compute
HOST_NAME_NODE=compute##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack##Password for rabbit user .example:000000
RABBIT_PASS=000000##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000##Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.10.130##External Network Interface. example:eth1
INTERFACE_NAME=eno33554976##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=201##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000##Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1##--------------------Trove Config--------------------##
##Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000##Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.10.129##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000##--------------------Ceilometer Config----------------##
##Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

开始安装openstack平台
控制节点和计算节点各自安装iaas
[root@localhost ~]# iaas-pre-host.sh
出现这句Please Reboot or Reconnect the terminal ,重新连接,如果成功,主机名会自动更改。后续每一步安装均需要无报错信息,keystone后面会出现表格,配置compute前需要配置好controller
安装数据库
[root@controller ~]# iaas-install-mysql.sh

安装keystone认证服务
[root@controller ~]# iaas-install-keystone.sh

安装Glance镜像服务
[root@controller ~]# iaas-install-glance.sh

安装Nova计算服务
[root@controller ~]# iaas-install-nova-controller.sh

安装Neutron网络服务
[root@controller ~]# iaas-install-neutron-controller.sh

安装Dashboard服务
[root@controller ~]# iaas-install-dashboard.sh

compute节点上自行安装
安装Nova计算服务
[root@controller ~]# iaas-install-nova-compute.sh

安装Neutron网络服务
[root@controller ~]# iaas-install-neutron-compute.sh

搭建完以后,访问dashboard的网址http://192.168.10.130/dashboard,不显示,查找原因
cd /etc/httpd/logs
[root@controller logs]# cat error_log | tail -n 20
发现都是类似的报错

[Mon Apr 15 08:36:07.881322 2024] [core:error] [pid 118538] [client 192.168.10.1:59402] End of script output before headers: django.wsgi
[Mon Apr 15 08:43:05.965678 2024] [core:error] [pid 118541] [client 192.168.10.1:57139] Script timed out before returning headers: django.wsgi

原来是这个文件报错,
[root@controller logs]# vi /etc/httpd/conf.d/openstack-dashboard.conf
在这里插入图片描述

在 WSGISocketPrefix run/wsgi 下面添加:
WSGIApplicationGroup %{GLOBAL}
再重启httpd的服务
[root@controller logs]# systemctl stop httpd
[root@controller logs]# systemctl start httpd
再刷新页面
在这里插入图片描述

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

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

相关文章

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser&#xff0c;Unity打开文件选择器 下载地址&#xff1a;GitHub链接&#xff1a; https://github.com/gkngkc/UnityStandaloneFileBrowser简单的示例代码 using SFB; using System; using System.IO; using UnityEngine; using UnityEngine.UI;…

从三大层次学习企业架构框架TOGAF

目录 前言 掌握TOGAF的三个层次 层次1&#xff1a;怎么学&#xff1f; 层次2&#xff1a;怎么用&#xff1f; 层次3&#xff1a;怎么思&#xff1f; 结束语 前言 对于一名架构师来讲&#xff0c;如果说编程语言是知识库层次中的入门石&#xff0c;那么企业架构框架则相当…

cesium加载倾斜影像数据(模拟雨、雪、雾、无人机飞行、测距、箭头标绘、电子围栏等)

实现效果如下&#xff1a; 功能菜单如下&#xff1a; 加载倾斜影像核心代码&#xff1a; var palaceTileset new Cesium.Cesium3DTileset({url: http://127.0.0.1:9002/tileset.json,//控制切片视角显示的数量&#xff0c;可调整性能maximumScreenSpaceError: 0.1,maximumNum…

python/pygame 挑战魂斗罗 笔记(三)

感觉最难的部分已经解决了&#xff0c;下面开始发射子弹。 一、建立ContraBullet.py文件&#xff0c;Bullit类&#xff1a; 1、设定子弹速度 Config.py中设定子弹移动速度为常量Constant.BULLET_SPEED 8。 2、载入子弹图片&#xff1a; 图片也是6张&#xff0c;子弹发出后…

OceanBase数据库日常运维快速上手

这里为大家汇总了从租户创建、连接数据库&#xff0c;到数据库的备份、归档、资源配置调整等&#xff0c;在OceanBase数据库日常运维中的操作指南。 创建租户 方法一&#xff1a;通过OCP 创建 确认可分配资源 想要了解具体可分配的内存量&#xff0c;可以通过【资源管理】功…

Unity 对APK签名

关键代码 PS D:\UnityProject\YueJie> jarsigner -verbose -keystore D:\UnityProject\YueJie\user.keystore -signedjar D:\UnityProject\YueJie\meizuemptyapk-release-signed.apk D:\UnityProject\YueJie\MeizuEmpty-release-unsigned.apk 1 示例 # jarsigner的命令格…

【C++从练气到飞升】08---模板

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 一、泛型编程 什么是泛型编程: 二、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 函数模板的实例…

Ubuntu 传输文件

scp [选项] 源文件 目标路径 以下是一些常用的 scp 命令选项&#xff1a; -r&#xff1a;递归复制目录和子目录。 -P&#xff1a;指定远程 SSH 服务器的端口号。 -i&#xff1a;指定用于身份验证的私钥文件。 -p&#xff1a;保留源文件的时间戳、权限和所有者。 -v&#x…

element-ui合计逻辑踩坑

element-ui合计逻辑踩坑 1.快速实现一个合计 ​ Element UI所提供的el-table中提供了方便快捷的合计逻辑实现&#xff1a; ​ https://element.eleme.cn/#/zh-CN/component/table ​ 此实现方法在官方文档中介绍详细&#xff0c;此处不多赘述。 ​ 这里需要注意&#xff0c…