openstack搭建过程,脚本

发布于:2025-04-11 ⋅ 阅读:(39) ⋅ 点赞:(0)

虚拟机镜像资源+挂载镜像资源百度网盘分享

通过网盘分享的文件:CentOS-7-x86_64-Minimal-2009.iso
链接: https://pan.baidu.com/s/1Lze6okcQQ3gHS95jChy_tg?pwd=fghe 提取码: fghe 
--来自百度网盘超级会员v3的分享

通过网盘分享的文件:openStack-train.iso
链接: https://pan.baidu.com/s/1XZcwHq49ZJ2i_aR-rnL6UQ?pwd=15pq 提取码: 15pq 
--来自百度网盘超级会员v3的分享

介绍虚拟机基本信息

两台主机

主机名:controller                    computer

cpu     2                             2

硬盘   100g                         100g

内存    4g                            4g

网卡1(ens33)10.10(仅主机)           10.20(仅主机)

网卡2(ens34)20.10(nat)               20.20(nat)

computer可以克隆实现,先把基础配置弄完

,主机名字

nmtui   基本配置

更改网卡ip地址

记得,这两个都要勾选(按空格进行勾选)

如果修改了ip,需要重启服务的话应该这样操作

进入nmtui,按enter键

进入之后先把*号取消,再添加上*键,都是按enter键,按上下键调整

查看IP

调整虚拟网络编辑器

第一步,点击虚拟网络编辑器

第二步,点击更改设置

第三步修改网段,点击dhcp设置会自动同步网段信息

使用vi修改网卡信息

Vi ifcfg-ens33

修改域名解析

关闭防火墙

打开mobexterm进行远程连接虚拟机

直接进行拖拽

发现拖拽成功

接下来教大家怎么进行命令行的复制粘贴,首先按esc,其次光标移到第一行,记住你想复制几行就是  :“数字+yy” 比如我要复制五行就是5yy,你想粘贴到哪里你就光标移到哪里进行:“p” 操作,就粘贴成功了

进行新建文件夹,进行yum源配置

安装ftp服务器,net-tools

,克隆虚拟机cpu,并打快照

修改主机名,ip地址

nmtui

 Computer

7,安装时间同步服务

控制节点

删除里面的服务器信息,输入阿里ntp服务器信息(可以连接互联网),或者配置成本地,建议配置成本地,重启服务

计算节点

删除原有的信息,添加ntp服务器端信息,并进行同步

观察时间是否同步

镜像文件设置开机自动挂载

重启机器

发现已经开机自动挂载

因为我的已经传过了

将此配置文件远程传输给计算节点

正常是这个操作

发现已经成功传送

安装框架

两个节点一样操作

安装成功

自查安装情况

安装数据库

数据库在控制节点上安装数据库软件

创建数据库配置文件

[mysqld]

bind-address=192.168.10.10

default-storage-engine=innodb

innodb_file_per_table=on

max_connections=4096

collation-server=utf8_general_ci

character-set-server=utf8

初始化数据库

测试数据库

自查

查看mysql是否启动

可以登录数据库,有mysql数据库

安装消息队列

只在控制节点安装

创建rabbit用户

给予rabbit全部的权限

自检

查看端口

查看用户及权限

安装缓存服务

修改配置文件

修改后

启动服务

自查

安装Telnet(本系统盘没办法安装系统)

自检的话只检查端口号

13,安装etcd的KV存储系统

只在控制节点安装

修改配置文件

修改配置文件之前

Ssh互信操作配置目的是减少麻烦,可以直接进行连接

计算节点操作computer

控制节点操作controller

解决镜像挂载之后无法进行开机自启的操作,就是进入单用户模式

首先重启虚拟机
按e键进入这个界面,添加re.break

此修改会使 root 文件系统以 “只读(ro)” 模式挂载。可使用以下命令进行验证,以下输出也明确表明当前处于 “紧急模式(Emergency Mode)”
修改完之后按ctrl+x进行重启保存
发现已经进入单用户模式

Sysroot和我们平常的linux目录是很像的

重新挂载磁盘

添加selinux验证
如果关闭了selinux可以不操作

脚本(脚本内容可以直接连接到mobexterm工具进行复制粘贴操作,记得操作完成可以进行检查一下,一方后期出现不必要的问题)

脚本内容

第二次脚本完整

#!/bin/bash

#1. 更改网卡ip地址

# 配置ens33网卡

nmcli connection modify ens33 ipv4.addresses 192.168.10.10/24 ipv4.gateway 192.168.10.254 ipv4.dns "" ipv4.method manual

nmcli connection modify ens33 ipv6.method auto

nmcli connection up ens33

# 配置ens34网卡

nmcli connection modify ens34 ipv4.addresses 192.168.20.10/24 ipv4.gateway 192.168.20.2 ipv4.dns 8.8.8.8 ipv4.method manual

nmcli connection modify ens34 ipv6.method auto

nmcli connection up ens34

#重启网络服务

systemctl restart network

#2. 更改主机名,修改域名解析

hostnamectl set-hostname controller

echo "192.168.10.10 controller" >> /etc/hosts

echo "192.168.10.20 computer" >> /etc/hosts

#3. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

setenforce 0

#4. 换镜像包,配置yum源

#创建文件

mkdir /opt/openstack

#挂载镜像文件

mount /opt/openStack-train.iso /opt/openstack

#设置开机自动挂载

echo "/opt/openStack-train.iso /opt/openstack iso9660 defaults 0 0 ">> /etc/fstab

#处理yum源文件

mkdir /etc/yum.repos.d/bak

mv /etc/yum.repos.d/C* /etc/yum.repos.d/bak

# 创建OpenStack.repo文件

cat > /etc/yum.repos.d/OpenStack.repo << EOF

[base]

name=base

baseurl=file:///opt/openstack/base

gpgcheck=0

enabled=1

[train]

name=train

baseurl=file:///opt/openstack/train

gpgcheck=0

enabled=1

[virt]

name=virt

baseurl=file:///opt/openstack/virt

gpgcheck=0

enabled=1

[updates]

name=updates

baseurl=file:///opt/openstack/updates

gpgcheck=0

enabled=1

[extras]

name=extras

baseurl=file:///opt/openstack/extras

gpgcheck=0

enabled=1

EOF

yum makecache

# 5. 安装ftp服务器,net-tools

yum -y install vsftpd net-tools

systemctl restart vsftpd

systemctl enable vsftpd

# 6. 克隆虚拟机(手动操作部分省略),修改克隆机主机名和ip地址

# 假设克隆机为computer,配置ens33网卡

nmcli connection modify ens33 ipv4.addresses 192.168.10.20/24 ipv4.gateway "" ipv4.dns "" ipv4.method manual

nmcli connection modify ens33 ipv6.method auto

nmcli connection up ens33

# 配置ens34网卡

nmcli connection modify ens34 ipv4.addresses 192.168.20.20/24 ipv4.gateway 192.168.20.2 ipv4.dns 8.8.8.8 ipv4.method manual

nmcli connection modify ens34 ipv6.method auto

nmcli connection up ens34

hostnamectl set-hostname computer

echo "192.168.10.20 computer" >> /etc/hosts

# 7. 安装时间同步服务

# 控制节点配置

删除这四行

sed -i '3,6d' /etc/chrony.conf

echo "local stratum 1" >> /etc/chrony.conf

echo "allow 192.168.10.0/24" >> /etc/chrony.conf

systemctl restart chronyd

#计算节点配置

sed -i '3,6d' /etc/chrony.conf

echo "server controller iburst" >> /etc/chrony.conf

systemctl restart chronyd

chronyc sources

# 8. 安装框架(控制节点操作)

yum -y install centos-release-openstack-train

rm -rf /etc/yum.repos.d/C*

yum -y upgrade

rm -rf /etc/yum.repos.d/C*

yum -y install python-openstackclient openstack-selinux

#自检

openstack --version

# 计算节点操作

ssh root@computer "yum -y install centos-release-openstack-train"

rm -rf /etc/yum.repos.d/C*

ssh root@computer "yum -y upgrade"

rm -rf /etc/yum.repos.d/C*

ssh root@computer "yum -y install python-openstackclient openstack-selinux"

# 9. 安装数据库(控制节点操作)

yum -y install mariadb-server python2-PyMySQL

# 创建数据库配置文件

cat > /etc/my.cnf.d/openstack.cnf << EOF

[mysqld]

bind-address=192.168.10.10

default-storage-engine=innodb

innodb_file_per_table=on

max_connections=4096

collation-server=utf8_general_ci

character-set-server=utf8

EOF

systemctl start mariadb

# 初始化数据库(此处密码设置为000000,需根据实际情况修改)

注意数据库这里只能手动操作

mysql_secure_installation

然后点击enter键,点两次,然后输入密码,之后一直按就可以了

mysql_secure_installation

# 测试数据库

mysql -uroot -p000000 -e "show databases;"

# 10. 安装消息队列(控制节点操作)

yum -y install rabbitmq-server

systemctl enable rabbitmq-server

systemctl start rabbitmq-server

# 创建rabbit用户并赋予权限

rabbitmqctl add_user rabbitmq 000000

rabbitmqctl set_permissions -p / rabbitmq ".*" ".*" ".*"

# 自检

netstat -lantu | grep 5672

rabbitmqctl list_permissions

# 11. 安装缓存服务(控制节点操作)

yum -y install memcached python-memcached

# 修改配置文件(假设修改为合适的参数,此处未详细列出具体修改内容)

# systemctl enable memcached

# systemctl start memcached

# 自检

netstat -lantu | grep 11211

# 12. 安装etcd的KV存储系统(控制节点操作)

yum -y install etcd

# 修改配置文件

cat > /etc/etcd/etcd.conf << EOF

#[Member]

#ETCD_CORS=""

ETCD_DATA_DIR="/var/lib/etcd/default.etc

#ETCD_WAL_DIR=""

ETCD_LISTEN_PEER_URLS="http://192.168.10.10:2380"

ETCD_LISTEN_CLIENT_URLS="http://192.168.10.10:2379,http://127.0.0.1:2379"

#ETCD_MAX_SNAPSHOTS="5"

#ETCD_MAX_WALS="5"

ETCD_NAME="controller"

#ETCD_SNAPSHOT_COUNT="100000"

#ETCD_HEARTBEAT_INTERVAL="100"

#ETCD_ELECTION_TIMEOUT="1000"

#ETCD_QUOTA_BACKEND_BYTES="0"

#ETCD_MAX_REQUEST_BYTES="1572864"

#ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"

#ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"

#ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"

#

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.10.10:2380"

ETCD_ADVERTISE_CLIENT_URLS="http://192.168.10.10:2379"

#ETCD_DISCOVERY=""

#ETCD_DISCOVERY_FALLBACK="proxy"

#ETCD_DISCOVERY_PROXY=""

#ETCD_DISCOVERY_SRV=""

ETCD_INITIAL_CLUSTER="controller=http://192.168.10.10:2380"

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"

ETCD_INITIAL_CLUSTER_STATE="new"

#ETCD_STRICT_RECONFIG_CHECK="true"

#ETCD_ENABLE_V2="true"

EOF

systemctl enable etcd

systemctl start etcd

etcdctl set mykey 007

etcdctl get mykey

# 自检

netstat -luptn | grep etcd

netstat -lantu | grep etcd

脚本实操教程

首先ip设置自动获取

查看ip

进行远程连接

发现已经连接

右键paste进行粘贴

IP已经修改,需要重新连接

连接成功

Ens34网卡修改成功