天天看点

OpenStack概念及OpenStack的搭建openstack 安装总结

什么是openstack

OpenStack 是一系列开源工具(或开源项目)的组合,主要使用池化虚拟资源来构建和管理私有云及公共云。其中的六个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。还有另外十多个可选项目,用户可把它们捆绑打包,用来创建独特、可部署的云架构。

云计算模式

一、IaaS:基础设施即服务(个人比较习惯的):用户通过网络获取虚机、存储、网络,然后用户根据自己的需求操作获取的资源

二、PaaS:平台即服务:将软件研发平台作为一种服务, 如Eclipse/Java编程平台,服务商提供编程接口/运行平台等

三、SaaS:软件即服务 :将软件作为一种服务通过网络提供给用户,如web的电子邮件、HR系统、订单管理系统、客户关系系统等。用户无需购买软件,而是向提供商租用基于web的软件,来管理企业经营活动

OpenStack 中有哪些项目?

OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 6 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。

Keystone: 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。

Glance: 可存储和检索多个位置的虚拟机磁盘镜像。

Nova:是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。

Neutron :能够连接其他 OpenStack 服务并连接网络。

Horizon:web管理界面

Swift: 是一种高度容错的对象存储服务

Cinder 通过自助服务 API 访问持久块存储。

openstack 安装

环境准备

主机名称 IP地址 最小资源配置
openstack 192.168.1.10 2CPU,8G内存
nova01 192.168.1.11 2CPU,3G内存
nova02 192.168.1.12 2CPU,3G内存
repo 192.168.1.250 2CPU,1G内存

上传 RHEL7-extras.iso、RHEL7OSP-10.iso 到功能服务器[repo]

功能服务器安装配置

时间源服务器

[[email protected] ~]# yum install -y chrony
[[email protected] ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server ntp.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
local stratum 10
[[email protected] ~]# systemctl enable chronyd
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# ss -ltun  # 查看 123 端口是否被监听成功
           

网络yum源服务器

[[email protected] ~]# yum install -y vsftpd
[[email protected] ~]# systemctl enable --now vsftpd
[[email protected] ~]# mkdir -p /var/ftp/{extras,openstack}
[[email protected] ~]# cd /var/iso
[[email protected] ~]# mount -t iso9660 -o ro,loop RHEL7-extras.iso /var/ftp/extras
[[email protected] ~]# mount -t iso9660 -o ro,loop RHEL7OSP-10.iso /var/ftp/openstack
# 在openstack上验证
[[email protected] ~]# curl ftp://192.168.1.250/extras/
[[email protected] ~]# curl ftp://192.168.1.250/openstack/
           

openstack 实验架构图例

openstack系统环境安装配置

以下操作,openstack,nova01 都需要做

[[email protected] ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[[email protected] ~]# yum -y remove firewalld-*
[[email protected] ~]# reboot
# 重启后验证
[[email protected] ~]# sestatus 
SELinux status:                 disabled
[[email protected] ~]# rpm -qa |grep -i firewalld
[[email protected] ~]# 
           

卸载 NetworkManager

[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# yum remove -y NetworkManager
[[email protected] ~]# systemctl enable --now network
           

网卡配置文件注解

  • # Generated by dracut initrd # 注释
  • DEVICE=“eth0” # 驱动名称,与ifconfig 看到的名称一致
  • ONBOOT=“yes” # 开机启动
  • NM_CONTROLLED=“no” # 不接受 NetworkManager 控制
  • TYPE=“Ethernet” # 类型
  • BOOTPROTO=“static” # 协议(dhcp|static|none)
  • IPADDR=“192.168.1.10” # IP地址
  • NETMASK=“255.255.255.0” # 子网掩码
  • GATEWAY=“192.168.1.254” # 默认网关

Yum安装源配置

确认软件包总数是 10670

[[email protected] ~]# vim /etc/yum.repos.d/openstack.repo 
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://192.168.1.250/extras"
enabled=1
gpgcheck=0

[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[[email protected] ~]# yum makecache
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670
           

时间服务器配置

[[email protected] ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server 192.168.1.250 iburst
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# chronyc sources -v  # 验证配置 ^* 代表成功
           

主机名与DNS配置

[[email protected] ~]# vim /etc/hosts
192.168.1.10    openstack
192.168.1.11    nova01
192.168.1.12    nova02
192.168.1.250   repo
# 删除所有 search 开头的行
[[email protected] ~]# sed '/^search /d' -i /etc/resolv.conf
           

nova虚拟环境安装

nova01 安装

[[email protected] ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[[email protected] ~]# systemctl enable --now libvirtd
[[email protected] ~]# virsh version # 验证
           

packstack工具安装

只需要在 openstack 上安装即可

openstack安装

使用应答文件安装,只需要在 openstack 上安装即可

# 创建应答文件
[[email protected] ~]# packstack --gen-answer-file=answer.ini
# 修改应答文件
42:   CONFIG_SWIFT_INSTALL=n                              //存储对象组件
45:   CONFIG_CEILOMETER_INSTALL=n                         //计费模块
49:   CONFIG_AODH_INSTALL=n                               //计费模块
53:   CONFIG_GNOCCHI_INSTALL=n                            //计费模块
75:   CONFIG_NTP_SERVERS=192.168.1.250                    //时间服务器
98:   CONFIG_COMPUTE_HOSTS=192.168.1.11                   //计算节点IP
102:  CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11      //网络节点IP
333:  CONFIG_KEYSTONE_ADMIN_PW=a                          //管理员密码
840:  CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan          //支持协议
910:  CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //网桥设备
921:  CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0         //出口网卡
1179: CONFIG_PROVISION_DEMO=n                             //演示模块
           

做快照!!!

做快照!!!

做快照!!!

安装过程大约 10 ~ 30 分钟不等

web页面登录

修改 apache 配置

[[email protected] ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
# 在配置文件倒数第三行添加
WSGIApplicationGroup %{GLOBAL}
[[email protected] ~]# systemctl reload httpd
           

浏览器访问 http://192.168.1.10/

命令行登录openstack

[[email protected] ~]# openstack user list
Missing value auth-url required for auth plugin password
# 没有登录获取数据失败
[[email protected] ~]# source keystonerc_admin 
[[email protected] ~(keystone_admin)]# openstack user list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 0e5367062de6478a9fe2d0456cb5fddb | nova    |
| 27191744bc6349f5b34822c083f7874e | admin   |
| 803074aab6fe49a19b983d9fbb7322be | glance  |
| cf35dd75778d4479965e2f39771956de | neutron |
| d5f4ffae68e54210a6bb29fba36acaaa | cinder  |
+----------------------------------+---------+
# 登录以后获取数据成功
           

nova02 安装

openstack 实验架构图例

openstack系统环境安装配置

[[email protected] ~]# vim /etc/selinux/config
# 修改 SELINUX=disabled
[[email protected] ~]# yum -y remove firewalld-*
[[email protected] ~]# reboot
# 重启后验证
[[email protected] ~]# sestatus 
SELinux status:                 disabled
[[email protected] ~]# rpm -qa |grep -i firewalld
[[email protected] ~]# 
           

卸载 NetworkManager

[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# yum remove -y NetworkManager
[[email protected] ~]# systemctl enable --now network
           

网卡配置文件

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.12"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.254"
           

Yum安装源配置

确认软件包总数是 10670

[[email protected] ~]# vim /etc/yum.repos.d/openstack.repo 
[local_extras]
name=CentOS-$releasever - Extras
baseurl="ftp://192.168.1.250/extras"
enabled=1
gpgcheck=0

[local_openstack]
name=CentOS-$releasever - OpenStack
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[local_openstack_devtools]
name=CentOS-$releasever - Openstack devtools
baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[[email protected] ~]# yum makecache
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                    repo name                           status
CentOS-Base                CentOS-7 - Base                     9,911
local_extras               CentOS-7 - Extras                   76
local_openstack            CentOS-7 - OpenStack                680
local_openstack_devtools   CentOS-7 - Openstack devtools       3
repolist: 10,670
           

时间服务器配置

[[email protected] ~]# vim /etc/chrony.conf
# 注释掉所有 server 开头的行,添加
server 192.168.1.250 iburst
[[email protected] ~]# systemctl restart chronyd
[[email protected] ~]# chronyc sources -v  # 验证配置 ^* 代表成功
           

主机名与DNS配置

[[email protected] ~]# vim /etc/hosts
192.168.1.10    openstack
192.168.1.11    nova01
192.168.1.12    nova02
192.168.1.250   repo
# 删除所有 search 开头的行
[[email protected] ~]# sed '/^search /d' -i /etc/resolv.conf
           

nova虚拟环境安装

[[email protected] ~]# yum install -y qemu-kvm libvirt-daemon libvirt-daemon-driver-qemu libvirt-client python-setuptools
[[email protected] ~]# systemctl enable --now libvirtd
[[email protected] ~]# virsh version # 验证
           

nova02安装

在 openstack 上安装 nova02,修改第一次安装的配置文件,不能重新生成!!!

[[email protected] ~]# vim answer.ini
98:   CONFIG_COMPUTE_HOSTS=192.168.1.12
102:  CONFIG_NETWORK_HOSTS=192.168.1.12
           

安装过程大约 10 ~ 30 分钟不等

web页面登录

修改 apache 配置

[[email protected] ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
# 在配置文件倒数第三行添加
WSGIApplicationGroup %{GLOBAL}
[[email protected] ~]# systemctl reload httpd
           

浏览器访问 http://192.168.1.10/

总结

Horizon  组件,提供web管理界面
Keystone 组件,提供集中的认证和授权
Nova     组件,计算节点创建管理云主机
Glance   组件,管理云主机镜像
Swift    组件,存储云使用的对象存储服务
Neutron  组件,管理云服务的内部、外部网络路由等
Cinder   组件,管理云主机的存储卷服务