什么是OpenStack?
OpenStack是一个云平台管理的项目,它不是一个软件,它是由几个主要的组件组合起来,为公有云、私有云和混合云的建设与管理提供软件的开源项目。现在已经有来自100多个国家的数万名个人和200多家企业参与到OpenStack的开发,如 NASA、华为、谷歌、惠普、Intel、IBM、微软等。这些机构与个人将 OpenStack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。OpenStack系统或其演变版本目前被广泛应用在各行各业,包括自建私有云、公共云、租赁私有云及混合云,用户包括思科、英特尔、IBM、华为、希捷等,OpenStack 支持 KVM、Xen、Lvc、Docker等虚拟机软件或容器。
(参考文献:华为企业产品技术支持网站)
OpenStack的发展历史?
OpenStack是由美国国家航空航天局(NASA)和 Rackspace合作研发,Apache许可的开源项目。项目自2010年成立,发布了该项目的第一个版本Austin,该版本是当时第一个开源的云计算平台项目。此后,OpenStack基本每半年发行一个新版本,截至目前最新版本是第二十四版本Xena,不同于其他软件的版本号采用数字编码,OpenStack 采用一个单词来描述不同的版本,其中单词首字母指明版本的新旧。比如目前的版本Xena就比之前的 Wallaby要新,同时“X”在26个字母中排行第二十四,所以称第二十四版本。各个版本的发行时间表参考网站[](OpenStack Releases: OpenStack Releases)
(参考文献:华为企业产品技术支持网站)
OpenStack能做什么?
OpenStack的主要目标是管理数据中心的资源,简化资源分配。它管理三部分资源,分别是:
- 计算资源:OpenStack可以规划并管理大量虚拟机,从而允许企业或服务提供商按需提供计算资源;开发者可以通过API访问计算资源从而创建云应用,管理员与用户则可以通过web访问这些资源;
- 存储资源:OpenStack可以为云服务或云应用提供所需的对象及块存储资源。因为对性能及价格有需求,很多组织已经不能满足于传统的企业级存储技术,因此OpenStack可以根据用户需要提供可配置的对象存储或块存储功能;
- 网络资源:如今的数据中心存在大量的配置工作,如服务器、网络设备、存储设备、安全设备均需要配置,而它们还将被划分成更多的虚拟设备或虚拟网络;这会导致 IP 地址的数量、路由配置、安全规则将爆炸式增长;传统的网络管理技术无法真正的可高扩展、高自动化地管理下一代网络;因而OpenStack 提供了插件式、可扩展、API 驱动型的网络及IP管理功能;
(参考文献:华为企业产品技术支持网站)
安装OpenStack平台
Linux系统为Centos7,且在虚拟网络环境下搭建
- 首先先更换yum源,如果已经进行了更换,请跳过此步骤
- 先创建备份文件夹,方便进行现有yum源的备份,此处我创建在根目录下的mnt下面
mkdir /mnt/databackup -p
- 查看现有的yum源文件
ls /etc/yum.repos.d
- 移动现有yum源到备份文件夹
mv /etc/yum.repos.d/* /mnt/databackup
- 查看是否移动完成
ls /etc/yum.repos.d
- 进行更换yum源操作,此处我使用华为云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo
- 更换后查看华为云yum源的配置文件
cd /etc/yum.repos.d
代码语言:txt复制cat Centos-Base.repo
- 清除系统所有Yum的缓存和元数据
yum clean all
- 列出禁用和启用的存储库
yum repolist all
- 安装OpenStack-stein版本软件库
yum install -y centos-release-openstack-stein
- 安装Packstack工具
yum install -y openstack-packstack
运行packstack工具一键部署OpenStack,此处部署可能很久,等待即可
代码语言:txt复制packstack --allinone
- 使用浏览器输入你搭建Openstack的服务器ip,显示登录页面表示搭建成功
- 查看登录密码,账号默认admin
cd && ll
找到keystonerc_admin,使用cat命令查看即可看见登录账号密码
代码语言:txt复制cat keystonerc_admin
1为登录用户名,2为登录密码