基于OpenEuler2209搭建OpenStack-Yoga

yoga

基于国产系统搭建openstack yoga版本,本实验采用脚本搭建,如需手工搭建参考官网

环境准备:双节点虚拟机、每台虚拟机双网卡、计算节点虚拟机额外准备一个磁盘

配置yum源

bash 复制代码
[root@controller ~]# ls
openstack-yago.iso  openEuler-22.09-x86_64-dvd.iso
  • 挂载软件包
bash 复制代码
mount openstack-yago.iso /mnt/
bash 复制代码
cp -rf /mnt/* /opt/
umount  /mnt/
mkdir /opt/openeuler
bash 复制代码
mount openEuler-22.09-x86_64-dvd.iso /mnt/
cp -rf /mnt/* /opt/openeuler/
  • 配置yum文件
bash 复制代码
mv /etc/yum.repos.d/* /media/
bash 复制代码
vi /etc/yum.repos.d/local.repo
bash 复制代码
[openeuler]
name=openeuler
baseurl=file:///opt/openeuler
gpgcheck=0
enabled=1
[yoga]
name=yoga
baseurl=file:///opt/yoga-repo/
gpgcheck=0
enabled=1

将文件传输给计算节点

bash 复制代码
[root@controller ~]# scp -r /opt/* root@compute:/opt
  • 配置计算节点yum源
bash 复制代码
[root@compute ~]# mv /etc/yum.repos.d/* /media/
bash 复制代码
[root@compute ~]# scp root@10.28.2.176:/etc/yum.repos.d/* /etc/yum.repos.d/
  • 配置磁盘分区,以下操作执行四次,注意第四次要指定主分区,最后w退出
bash 复制代码
[root@compute ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xa4bcd2c4.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-209715199, default 209715199): +10G

Created a new partition 1 of type 'Linux' and of size 10 GiB.
bash 复制代码
[root@compute ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda    253:0    0   50G  0 disk 
├─vda1 253:1    0    2G  0 part /boot
└─vda2 253:2    0   48G  0 part /
vdb    253:16   0  100G  0 disk 
├─vdb1 253:17   0   10G  0 part 
├─vdb2 253:18   0   10G  0 part 
├─vdb3 253:19   0   10G  0 part 
└─vdb4 253:20   0   10G  0 part 
vdc    253:32   0    1M  0 disk 

安装iaas软件包

  • 双节点同时安装
bash 复制代码
yum install -y iaas-yoga
  • 配置环境环境,控制节点执行
bash 复制代码
sed -i -e 's/^#//'g /etc/1cloud/openrc.sh
bash 复制代码
sed -i -e 's/PASS=""/PASS="000000"/'g /etc/1cloud/openrc.sh
bash 复制代码
cat /etc/1cloud/openrc.sh
bash 复制代码
CONTROLLER_HOST="192.168.10.10"  # 控制节点IP
CONTROLLER_NAME="controller"
CONTROLLER_PASS="000000"
#
#=============================[ Compute node options ]================================#
#Set the ip address, hostname, and password for the compute node
#
COMPUTE_HOST="192.168.10.11"  # 计算节点IP
COMPUTE_NAME="compute"
COMPUTE_PASS="000000"
#
#=============================[ Storage node options ]================================#
#Set the ip address, hostname, and password for the storage node
#
STORAGE_HOST="192.168.10.11" # 存储节点,默认用计算节点IP
STORAGE_NAME="compute"
STORAGE_PASS="000000"
#
#=============================[ Networking options ]==================================#
#
#Set the control network segment and mask. Example: "172.16.11.0/16"
Network_segment_mask="192.168.10.0/24"
#If VMware is used, it is generally NAT or bridge network card.  Example: "eth1"
INTERFACE_NAME="ens34"
#Set the name to be used when creating an external Flat network. Example: "provider"
Physical_interface="provider"
#
#=====================================================================================#
#                            OpenStack Host & Base options                            #
#=====================================================================================#
#  END

#  BEGIN
#=====================================================================================#
#                              OpenStack Service options                              #
#=====================================================================================#
#Set the passwords for various OpenStack services. Example: "000000"
#
MARIADB_PASS="000000"
RABBIT_PASS="000000"
ADMIN_PASS="000000"
KEYSTONE_DBPASS="000000"
GLANCE_PASS="000000"
GLANCE_DBPASS="000000"
NOVA_DBPASS="000000"
NOVA_PASS="000000"
PLACEMENT_PASS="000000"
PLACEMENT_DBPASS="000000"
NEUTRON_PASS="000000"
NEUTRON_DBPASS="000000"
METADATA_SECRET="yoga"
PROMETHEUS_VERSION="2.43.0"
PROMETHEUS_PORT="9091"
NODE_EXPORTER_VERSION="1.5.0"
MEMCACHED_EXPORTER_VERSION="0.11.2"
OPENSTACK_EXPORTER_VERSION="1.6.0"
SKYLINE_DBPASS="000000"
SKYLINE_SERVICE_PASS="000000"
CINDER_DBPASS="000000"
CINDER_PASS="000000"
#Cinder disk configuration. Example: "nvmeOn2"
CINDER_DISK="vdb1"
CINDER_VG="cinder-volumes"
SWIFT_PASS="000000"
#Swift disk configuration.  Example: "nvmeOn3"
SWIFT_DISK="vdb2"
HEAT_DBPASS="000000"
HEAT_PASS="000000"
HEAT_DOMAIN_PASS="000000"
TROVE_DBPASS="000000"
TROVR_PASS="000000"
AODH_DBPASS="000000"
AODH_PASS="000000"
OCTAVIA_PASS="000000"
OCTAVIA_DBPASS="000000"
REDIS_PASS="000000"
GNOCCHI_DBPASS="000000"
GNOCCHI_PASS="000000"
CEILOMETER_PASS="000000"
RALLY_DBPASS="000000"
RALLY_PASS="000000"
CYBORG_DBPASS="000000"
CYBORG_PASS="000000"
  • 复制给计算节点
bash 复制代码
scp /etc/1cloud/openrc.sh  compute:/etc/1cloud/

执行初始化脚本

  • 双节点执行
bash 复制代码
iaas-install-pre-cloud.sh
  • 两台节点刷新环境,同时执行ssh连接
bash 复制代码
[root@controller ~]# ssh controller
bash 复制代码
[root@compute ~]# ssh compute

基础中间件服务安装

  • 控制节点执行
bash 复制代码
iaas-install-mariadb.sh
  • 验证服务
bash 复制代码
[root@controller ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.5.15 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2026-01-15 16:14:58 CST; 1min 5s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 5148 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 74748)
     Memory: 82.1M
     CGroup: /system.slice/mariadb.service
             └─5148 /usr/libexec/mariadbd --basedir=/var/lib/mysql/
bash 复制代码
[root@controller ~]# rabbitmqctl list_users
Listing users ...
usertags
openstack[administrator]
guest[administrator]
bash 复制代码
[root@controller ~]# systemctl status memcached
● memcached.service - memcached daemon
     Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
     Active: active (running) since Thu 2026-01-15 16:15:22 CST; 1min 29s ago
   Main PID: 6955 (memcached)
      Tasks: 10 (limit: 74748)

keystone服务安装

  • 控制节点执行
bash 复制代码
iaas-install-keystone.sh
bash 复制代码
[root@controller ~]# openstack user list
+----------------------------------+-------+
| ID                               | Name  |
+----------------------------------+-------+
| 21bcdd7964a2485e816a57ca1f7e6ffe | admin |
+----------------------------------+-------+
  • 手动配置环境变量
bash 复制代码
cat > /root/admin-openrc << EOF
export OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
EOF
bash 复制代码
source admin-openrc

glance服务安装

  • 控制节点执行
bash 复制代码
iaas-install-glance.sh 

nova服务安装

  • 双节点节点执行(必须控制节点跑完后才能执行另一个节点!!)
bash 复制代码
iaas-install-nova-controller.sh
bash 复制代码
iaas-install-nova-compute.sh

neutron服务安装

  • 双节点节点执行(必须控制节点跑完后才能执行另一个节点!!)
bash 复制代码
iaas-install-neutron-controller-openvswitch.sh 
bash 复制代码
iaas-install-neutron-compute-openvswitch.sh 

horizon服务安装

  • 控制节点执行
bash 复制代码
iaas-install-horizon.sh

cinder服务安装

  • 双节点节点执行(必须控制节点跑完后才能执行另一个节点!!)
bash 复制代码
iaas-install-cinder-controller.sh
bash 复制代码
iaas-install-cinder-storage.sh

swift服务安装

  • 双节点节点执行(必须控制节点跑完后才能执行另一个节点!!)
bash 复制代码
iaas-install-swift-controller.sh
bash 复制代码
iaas-install-swift-storage.sh 
相关推荐
oMcLin6 天前
如何在 Ubuntu 22.04 LTS 上部署并优化 OpenStack 云计算平台,实现多租户虚拟化与弹性伸缩?
ubuntu·云计算·openstack
last demo8 天前
openstack基础
linux·运维·openstack
Font Tian14 天前
【云计算2025年度总结】汇总和反思
容器·云计算·k8s·openstack·虚拟化
G_H_S_3_17 天前
【网络运维】OpenStack镜像管理:Glance篇
linux·运维·openstack
无泪无花月隐星沉19 天前
续写云计算的前世今生
kubernetes·云计算·openstack
iconball21 天前
个人用云计算学习笔记 --26 OpenStack 核心服务
运维·笔记·学习·云计算·openstack
神秘面具男0321 天前
OpenStack 核心组件管理
openstack
G_H_S_3_21 天前
【网络运维】OpenStack 块存储与对象存储:Cinder 与 Swift 篇
linux·运维·网络·openstack
2301_8000509921 天前
OpenStack 管理
运维·openstack