Openstack(一)——基础环境配置与依赖服务安装

文章目录

Openstack介绍

​ OpenStack 是一个开源的云计算管理平台 。你可以把它理解为一套用来构建和运营"云"的操作系统,就像 Windows 或 Linux 管理一台电脑的资源一样,OpenStack 则负责管理数据中心里成千上万台服务器、存储设备和网络设备。

​ 它通过软件将所有物理硬件(计算、存储、网络)抽象成一个巨大的资源池。用户不再需要关心底层的物理设备,而是通过一个网页界面(Dashboard)或 API 就可以按需申请和使用虚拟机、存储空间等资源,就像使用自来水或电力一样方便。

关键组件:构建云服务的"积木

OpenStack 最大的特点之一是模块化(Modular),它由许多独立的服务组件构成,你可以像搭积木一样按需选择和组合。

这些核心组件通常包括:

组件名称 项目代号 主要功能
计算服务 Nova 负责虚拟机的整个生命周期管理,如创建、调度、销毁,是云的核心"发动机"。
网络服务 Neutron 提供云环境的网络连接服务,可以创建私有网络、路由器、防火墙等。
镜像服务 Glance 存储和管理虚拟机启动所需的镜像模板文件。
身份认证服务 Keystone 为所有 OpenStack 服务提供统一的认证和授权管理,是云平台的"守门人"。
块存储服务 Cinder 为虚拟机提供持久化的块存储设备,类似于给服务器挂载一块新硬盘。
控制面板 Horizon 提供基于 Web 的图形化管理界面,方便管理员和用户操作。

环境

安全

内存设置

内存大小设为4GB

内核数量

2核,启用虚拟化

添加网卡

其他

修改主机名,配置时间同步,关闭防火墙,关闭selinux

主机网络

配置网络接口

关闭NetworkManager

bash 复制代码
[root@controller ~]# systemctl disable --now NetworkManager

将第一个接口配置为管理网络接口

bash 复制代码
[root@controller ~]# cd /etc/sysconfig/network-scripts/
[root@controller network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.117.131
PREFIX=24
GATEWAY=192.168.117.2
DNS1=114.114.114.114

供者网络接口使用一个特殊的配置,不分配给它IP地址。配置第二块网卡作为提供者网络

bash 复制代码
[root@controller network-scripts]# mv ifcfg-eth0 ifcfg-eth1
[root@controller network-scripts]# vim ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
[root@controller network-scripts]# systemctl restart network

配置域名解析

bash 复制代码
[root@controller ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.117.131 controller
192.168.117.132 compute1
192.168.117.133 block1

Openstack包

启用Openstack库

bash 复制代码
[root@controller ~]# ls
anaconda-ks.cfg  mitaka.tar
[root@controller ~]# tar xf mitaka.tar -C /opt/
[root@controller ~]# cd /opt/mitaka/
[root@controller mitaka]# ls
...
repodata
...

完成安装

配置yum源

bash 复制代码
[root@controller ~]# vim /etc/yum.repos.d/openstack.repo
[openstack]
name=mitaka
baseurl=file:///opt/mitaka
gpgcheck=0

在主机上升级包

bash 复制代码
[root@controller ~]# yum upgrade

如果更新了一个新内核,重启主机来使用新内核

bash 复制代码
[root@controller ~]# reboot

安装 OpenStack 客户端

bash 复制代码
[root@controller ~]# yum install python-openstackclient

SQL数据库

安装软件包

bash 复制代码
[root@controller ~]# yum install mariadb mariadb-server python2-PyMySQL

创建并编辑 /etc/my.cnf.d/openstack.cnf

bash 复制代码
[root@controller ~]# vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.117.131
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

启动数据库服务,并将其配置为开机自启

bash 复制代码
[root@controller ~]# systemctl enable --now mariadb.service

为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码

bash 复制代码
[root@controller ~]# mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

消息队列

安装包

bash 复制代码
[root@controller ~]# yum install rabbitmq-server

启动消息队列服务并将其配置为随系统启动

bash 复制代码
[root@controller ~]# systemctl enable --now rabbitmq-server.service

添加 openstack 用户

bash 复制代码
[root@controller ~]# rabbitmqctl add_user openstack openstack

openstack用户配置写和读权限

bash 复制代码
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

开启数据库

bash 复制代码
[root@controller ~]# rabbitmq-plugins enable rabbitmq_management
[root@controller ~]# netstat -antlp | grep 15672
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      1744/beam.smp

访问:192.168.117.131:15672

用户名:guest

密码:guest

查看权限授予

Memcached

安装软件包

bash 复制代码
[root@controller ~]# yum install memcached python-memcached

启动Memcached服务,并且配置它随机启动

bash 复制代码
[root@controller ~]# systemctl enable --now memcached.service

修改监听端口

bash 复制代码
[root@controller ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
[root@controller ~]# systemctl restart memcached.service
[root@controller ~]# netstat -antlp | grep 11211
tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      9059/memcached
tcp6       0      0 :::11211                :::*                    LISTEN      9059/memcached
相关推荐
mldong5 小时前
一个 App,十三套后端:手机审批端 uni-jeeflow-app 开源了
java·架构
AlanBruce5 小时前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
weixin_BYSJ19877 小时前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计
GreenTea7 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
西安栈上月明软件科技7 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
海宇AI9 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
陈陈CHENCHEN10 小时前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
白远山10 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
GeW11 小时前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux
码农小韩11 小时前
Linux应用开发(八)——TCP/IP网络编程基础
linux·嵌入式软件开发·linux操作系统·嵌入式操作系统·linux网络编程·linux应用