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
相关推荐
围炉聊科技1 小时前
OpenAdapt:录制一次,确定性回放
人工智能·后端·架构
晓晓_za8986681 小时前
多租户 GEO 优化系统源码架构:权限隔离与数据分离实现
java·tcp/ip·spring·缓存·微服务·架构
buligbulig1 小时前
架构企业通往AI的桥梁
人工智能·架构
额额额对了1 小时前
Linux C 多线程编程基础:从内存模型到生命周期管理
linux·开发语言·算法
大锅盖11 小时前
HarmonyOS 6.1.1 AI字幕新特性深度解析:从AICaptionComponent四大新增字段到K歌社交舞台黑霓虹紫深色架构全链路实战
人工智能·架构·harmonyos
mengge.cloud1 小时前
Linux小白入门教程(基础命令篇)
linux·运维·服务器
嵌入式小宁1 小时前
C11 原子操作 `atomic_int` 通俗指南
linux·c语言·嵌入式硬件
程序员贺加贝1 小时前
列表导出不够用-SaaS-ERP-单据详情导出的-Provider-模板与文档型-Excel-设计
java·后端·设计模式·架构·excel