《手把手教程:基于国产openEuler的OpenStack私有云全流程搭建(附完整代码+避坑)》

环境说明

  • 操作系统:openEuler 22.03 LTS

  • 节点规划

    • 控制节点:controller(IP: 192.168.100.10)

    • 计算节点:compute(IP: 192.168.100.20)

  • 依赖要求

    • 所有节点需配置SSH免密登录。

    • 确保HTTP仓库服务已提供openEuler和OpenStack-IaaS的yum源。


步骤 1:配置基础环境

1.1 设置主机名与网络映射
# 控制节点操作
hostnamectl set-hostname controller

# 计算节点操作
hostnamectl set-hostname compute

# 配置 hosts 文件(所有节点执行)
cat <<EOF > /etc/hosts
127.0.0.1   localhost
192.168.100.10 controller
192.168.100.20 compute
EOF
1.2 配置第二张网卡(用于私有云内部通信)
# 控制节点操作(假设网卡名为 ens37)
nmcli connection add type ethernet ifname ens37 con-name ens37
nmcli connection modify ens37 ipv4.addresses 10.10.X.10/24  # X为工位号
nmcli connection up ens37

# 计算节点同理操作

验证

ip a show ens37  # 确认 IP 是否生效
ping 10.10.X.20  # 测试跨节点通信

步骤 2:配置 yum 源

# 所有节点操作
cat <<EOF > /etc/yum.repos.d/openeuler.repo
[openeuler]
name=openEuler
baseurl=http://<your-http-server>/openeuler22.03
enabled=1
gpgcheck=0

[iaas]
name=OpenStack-IaaS
baseurl=http://<your-http-server>/iaas-repo
enabled=1
gpgcheck=0
EOF

# 清理并更新缓存
dnf clean all && dnf makecache

验证

dnf repolist | grep -E "openeuler|iaas"  # 检查仓库是否加载成功

步骤 3:安装 OpenStack 基础组件

3.1 安装 openstack-iaas 软件包
# 所有节点执行
dnf install -y openstack-iaas
3.2 配置环境变量文件
# 控制节点操作
sed -i 's/^#//g' /etc/openstack/openrc.sh    # 取消注释
sed -i 's/PASS=.*/PASS=000000/g' /etc/openstack/openrc.sh  # 设置密码

# 同步到计算节点
scp /etc/openstack/openrc.sh compute:/etc/openstack/

验证

grep "PASS=" /etc/openstack/openrc.sh  # 应显示 HOST_PASS=000000

步骤 4:数据库与消息队列安装

4.1 安装 MariaDB 和 Memcached
# 控制节点操作
dnf install -y mariadb-server memcached

# 启动服务
systemctl enable mariadb memcached --now
4.2 配置数据库性能优化
vi /etc/my.cnf
[mysqld]
lower_case_table_names = 1        # 支持大小写
innodb_buffer_pool_size = 4G      # 缓存池大小
innodb_log_buffer_size = 64M      # 日志缓冲区
innodb_log_file_size = 256M       # Redo日志大小
innodb_log_files_in_group = 2     # Redo日志组数

# 重启服务
systemctl restart mariadb
4.3 配置 Memcached
vi /etc/sysconfig/memcached
CACHESIZE="512"                   # 内存占用 512MB
MAXCONN="2048"                    # 最大连接数
OPTIONS="-l 127.0.0.1,::1,controller -o hash_algorithm=md5"  # 使用 MD5 算法

systemctl restart memcached

步骤 5:安装 Keystone 身份服务

5.1 安装与初始化
dnf install -y openstack-keystone

# 创建域、项目、用户(示例)
openstack domain create 210Demo
openstack project create --domain 210Demo Engineering
openstack user create --domain 210Demo --password 000000 Robert
openstack role add --project Engineering --user Robert admin

验证

openstack user list --domain 210Demo  # 应显示已创建用户

步骤 6:部署 Glance 镜像服务

dnf install -y openstack-glance

# 上传镜像(需提前准备镜像文件)
openstack image create --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img cirros

验证

openstack image list  # 显示 cirros 镜像

步骤 7:安装 Nova 计算服务

7.1 控制节点配置
dnf install -y openstack-nova-api openstack-nova-scheduler

# 修改调度器配置
vi /etc/nova/nova.conf
[scheduler]
driver = caching_scheduler  # 启用缓存调度器

systemctl restart openstack-nova-scheduler
7.2 计算节点配置
dnf install -y openstack-nova-compute

# 启动服务
systemctl enable libvirtd openstack-nova-compute --now

步骤 8:部署 Neutron 网络服务

8.1 控制节点操作
dnf install -y openstack-neutron-linuxbridge

# 配置网络插件(略,需根据实际网卡修改)
systemctl restart neutron-linuxbridge-agent
8.2 计算节点操作
dnf install -y openstack-neutron-linuxbridge
systemctl restart neutron-linuxbridge-agent

步骤 9:安装 Dashboard 控制面板

dnf install -y openstack-dashboard

# 修改配置文件
vi /etc/openstack-dashboard/local_settings
SESSION_ENGINE = 'django.contrib.sessions.backends.file'  # 文件存储会话
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False           # 禁用多域登录

# 重启服务
systemctl restart httpd

验证
访问 http://controller/dashboard,使用用户名密码登录(无需输入域)。


步骤 10:扩展存储服务(Cinder)

# 计算节点操作(扩容块存储)
vgextend cinder-volumes /dev/sdb4  # 假设新增 5G 分区
vgdisplay cinder-volumes           # 检查容量是否增加

步骤 11:安全加固(禁止 ICMP Ping)

# 控制节点操作
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
sysctl -p  # 立即生效

验证
从其他节点执行 ping controller,应显示 Request timeout


避坑指南

  1. 网卡名称问题:openEuler 可能使用 eth0 或 ens33,通过 ip a 确认实际名称。

  2. 依赖冲突:若安装失败,使用 dnf remove --nodeps 强制卸载冲突包。

  3. SELinux 干扰:临时关闭 setenforce 0,或配置策略放行服务。


结语

通过以上步骤,你已成功在 openEuler 上搭建 OpenStack 私有云!如果遇到问题,欢迎在评论区留言交流。点赞、收藏、关注,获取更多国产信创技术实战内容!

安装简易版OpenStack云平台可以让你快速搭建并测试云计算环境。下面是一个简化版本的指南,适用于希望了解如何部署小型私有云的技术爱好者、学生及中小企业。 ### 准备工作 1. **硬件需求**: - 至少需要一台服务器用于控制节点(Controller Node),如果条件允许建议再准备两台计算节点(Compute Nodes)。每个节点应具备4GB以上的RAM以及足够的磁盘空间。 2. **软件准备**: - 操作系统推荐使用Ubuntu Server LTS版本如20.04或更新; - 确保所有机器都能访问互联网以便下载必要的包文件; 3. **网络配置**: - 控制节点和计算节点之间需保持良好的网络连接,并设置静态IP地址; - 需要规划好管理网段、数据交换网段等不同功能的子网划分; ### 步骤一:初始化操作系统 对于每一台将要加入OpenStack集群的物理机: 1. 安装基础的操作系统 (OS) 和常用工具; 2. 更新系统的APT源列表到最新的状态 (`sudo apt update && sudo apt upgrade`); 3. 设置主机名与/etc/hosts映射确保各节点间能够通过域名相互识别; ### 步骤二:安装依赖库和服务组件 接下来,在主控节点上开始构建核心服务: 1. 添加官方提供的OpenStack APT仓库; 2. 执行`openstack-install-guide`脚本自动完成Keystone认证服务、Glance镜像存储、Nova计算服务等多个关键模块的基本部署; > 注意:这里我们选择的是最简模式下的单节点部署方案,实际生产环境中可能会涉及更多复杂的拓扑结构设计。 ### 步骤三:验证安装成果 当上述步骤完成后,你可以尝试创建虚拟实例来检验整个平台是否正常运作了! 1. 登录Horizon Web界面或者命令行客户端操作API请求; 2. 根据提示上传自定义的基础系统镜像(例如CentOS7.x ISO); 3. 创建新的安全组规则开放SSH端口和其他所需的服务端口; 4. 启动第一个VM虚拟机实例查看能否顺利启动运行。 至此你就成功地建立起了一个简易的小型OpenStack云端服务平台啦!当然这只是入门级的内容展示而已,随着业务发展的深入还可以继续探索更高级的功能特性哦~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值