IDC项目应用实战:CentOS 7 部署OpenStack(1)

项目场景

在IDC机房三组机柜(若干台Dell服务器),规划部署OpenStack云平台虚拟化环境,用于承载后期研发测试和其他的一些对内业务和部分对外服务,项目中涉及到的设备硬件、IP、密码等数据已作相关复盘演化处理。

项目中部署基本的OpenStack服务:Keystone 身份认证服务、Glance 镜像服务、Placement 资源服务、Nova 计算节点服务、Neutron 网络服务、Horizon 面板服务、Cinder 存储服务。


OpenStack 基础架构

整个OpenStack由控制节点、计算节点、网络节点、存储节点四大部分组成。

  • 控制节点:控制节点包括了管理支持服务、基础管理服务和扩展管理服务,底层的一些软件安装,用于给相关的组件提供服务。例如安装数据库软件、消息队列软件、Memorycache和Etcd等,核心管理服务主要安装了一些核心的服务,例如Kystone、Glance、Nova,也可以安装Neutron和Horizon服务,用于提供用户基础的控制与管理,扩展管理服务是可选的一些组件的安装,例如存储管理,数据库服务等。包括Cinder、Swift、Trove、Heat和Ceilometer主要的可选服务;

  • 计算节点主要包含计算服务、网络服务以及监控服务。基础服务是前两个,监控可以扩展选择;

  • 网络节点有且仅有Neutron服务,Neutron主要负责管理私有网段和公有网段之间的通信,同时管理虚拟机网络之间的通信以及防火墙等等。一般在部署时会部署两个以上的网络端口,分别用于与控制节点通信、同计算/存储节点通信、用于外部的虚拟机与相应的网络之间的通信;

  • 存储节点包含的是块存储以及对象存储,两者都是存储,本质上有着巨大的不同,块存储相当于虚拟出的一块磁盘,可以挂载在对应的虚拟机上,不会受到文件系统的影响,一般用于虚拟机空间不足时扩容场景;对象存储,本质上是虚拟出一块磁盘空间,可以存储文件,但不能进行格式化或转换文件系统,一般用于云磁盘/文件;

架构图概念梳理

理解OpenStack的逻辑架构可以从整体到局部再到个体来理解。

官方逻辑架构

用户或管理者可以通过网络来使用或管理OpenStack云平台系统,主要有三种方法:命令行接口(对应的相关组件接口的调用)、云管理工具如Rightscale和Enstratius等、图形化界面工具如Dashboard、Cyberduck等等。使用OpenStack提供的组件Dashboard,Horizon提供的Web图形化界面工具来创建、管理该云平台,结合接触过阿里云相关服务的经验,就更好理解了。

在OpenStack内部,每个组件服务都有自己的逻辑架构,一般由功能模块、数据库或对应后端以及和其他组件进行交互的API接口,这些接口则是通过消息队列来实现通信的,某些专业术语和名词之后也会整理出来。


环境准备

型号 配置 规划 管理IP 系统环境
PowerEdge Rxxx 32核 128G / 1.2TB+10TB controller 10.0.2.16 CentOS Linux release 7.9.2009 (Core) + Train
PowerEdge Rxxx 32核 128G / 1.2TB+10TB node1 10.0.2.17 CentOS Linux release 7.9.2009 (Core) + Train
... ... ... ... ... ... ...

网络环境规划

租户网络:网段:172.16.2.0/24 网关:172.16.2.254 地址段:172.16.2.1 - 172.16.2.253
管理网络:网段:10.0.2.0/24 网关:10.0.2.254 地址段:10.0.2.16 - 10.0.2.100


环境准备

controller和node节点都需要进行统一配置

[root@localhost ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux # 关闭SElinux
[root@localhost ~]# setenforce 0 # 临时生效
[root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld # 关闭firewalld服务和自启firewalld服务

[root@localhost ~]# hostnamectl set-hostname openstack-controller.ponfey # 管理节点
[root@localhost ~]# hostnamectl set-hostname openstack-compute01.ponfey # 计算节点

[root@openstack-controller ~]# vim /etc/hosts # 配置IP与主机名对应关系的解析
10.0.2.16 openstack-controller.ponfey
10.0.2.17 openstack-compute01.ponfey
... ...

[root@openstack-controller ~]# systemctl stop NetworkManager && systemctl disable NetworkManager # 关闭 NetworkManager
[root@openstack-controller ~]# timedatectl set-timezone Asia/Shanghai
[root@openstack-controller ~]# ntpdate time1.aliyun.com
24 Feb 15:05:54 ntpdate[3040]: step time server 203.107.6.88 offset 0.769229 sec
[root@openstack-controller ~]# crontab -e # 配置NTP时间同步
*/10 * * * * /usr/sbin/ntpdate time1.aliyun.com && hwclock -w

[root@openstack-controller ~]# yum install centos-release-openstack-train.noarch -y # 安装OpenStack官方T版的yum源
[root@openstack-controller ~]# yum -y install python-openstackclient openstack-selinux python2-PyMySQL python-memcached # controller 安装openstack客户端、openstack-selinux软件包、mysql模块、memcached模块

参考资料:

上一篇
下一篇